Talk is a Laravel 5 based user conversation (inbox) system. You can easily integrate this package with any laravel based project. Its help to you to develop a messeging system in 25 mins. So lets start :)
Talk is a laravel package so you can install it via composer. write this code in your terminal from your project
composer require nahid/talk
Wait for a while, composer will be automatically install talk in your project.
After downloading complete now you have to call this package service in config/app.php
config file. So add this line in app.php
providers
section
Nahid\Talk\TalkServiceProvider::class,
To use facade you have to add these line in app.php
aliases
array
'Talk' => Nahid\Talk\Facades\Talk::class,
Now run this command from your terminal to publish this package resources
php artisan vendor:publish --provider="Nahid\Talk\TalkServiceProvider"
After run this command all necessary file will be included with your project. This package has two default migrations. So you have to run migrate command like these. Make sure your database configuration was configure correctly.
php artisan migrate
Okay, now you have configure your user model for Talk. Go to config/talk.php
and config it.
return [
'user' => [
'table' => 'your_users_table_name',
'model' => 'User\Model',
'columns' => ['column1', 'column2']
]
];
[NB: Here columns mean which column do you want for inbox query]
Its very easy to use. First you have set authenticate user id to Talk.
Talk::setAuthUserId(auth()->user()->id);
Now you may use any method what you need. Please see the API Doc.
- setAuthUserId
- isConversationExists
- isAuthenticUser
- sendMessage
- sendMessageByUserId
- getInbox
- getConversationsById
- getConversationsByUserId
- makeSeen
- getReceiverInfo
- deleteMessage
- deleteForever
- deleteConversations
setAuthUserId
method set the user id which you pass from parameter
Syntax
void setAuthUserId($userid)
This method check currently logged in user and given user is already conversation
Syntax
int/false isConversationExists($userid)
isAuthenticUser check the given user is exists in given conversation.
Syntax
boolean isAuthenticUser($conversationId, $userId)
You can send message via conversation id by using this method. If successfully send message it return Message
model objects otherwise false
Syntax
object/false sendMessage($conversationId, $message)
You can send message via receiver id by using this method. If successfully send message it return Message
model objects otherwise false
Syntax
object/false sendMessageByUserId($userId, $message)
If you want to get all inbox this method may help you. This method get all inboxes via given user id
Syntax
object getInbox([$offset[, $take]])
When you want to get all conversations by using your desire conversation id you can try it. This method return all conversations with users objects
Syntax
object getConversationsById($conversationId)
When you want to get all conversations by using your desire receiver id you can try it. This method return all conversations with users objects
Syntax
object getConversationsByUserId($receiverId)
This method return all information about message receiver.
Syntax
object getReceiverInfo($conversationId)
If you want set a message as seen you can use it.
Syntax
boolean makeSeen($messageId)
When you want to delete a specific message from conversation you have to use it. This method soft delete message for both user-end individually.
Syntax
boolean deleteMessage($messageId)
If you want to hard delete or permanently delete a specific message then you have to use this method
Syntax
boolean deleteForever($messageId)
This method is used for permanently delete all conversations
Syntax
boolean deleteConversations($conversationId)
Thanks :)