Code Monkey home page Code Monkey logo

talk's Introduction

Laravel-Talk

Talk is a Laravel 5 based user conversation (inbox) system. You can easily integrate this package with any Laravel based project. It helps you to develop a messaging system in just 25 mins. So let's start :)

Talk Screenshot

Installation

Talk is a Laravel package so you can install it via composer. Run this command in your terminal from your project directory.

composer require nahid/talk

Wait for a while, Composer will automatically install Talk in your project.

Configuration

When the download is complete, you have to call this package service in config/app.php config file. To do that, add this line in app.php in providers section

Nahid\Talk\TalkServiceProvider::class,

To use facade you have to add this line in app.php in aliases array

'Talk'      => Nahid\Talk\Facades\Talk::class,

Now run this command in your terminal to publish this package resources

php artisan vendor:publish --provider="Nahid\Talk\TalkServiceProvider"

After running this command, all necessary file will be included in your project. This package has two default migrations. So you have to run migrate command like this. (But make sure your database configuration is configured correctly.)

php artisan migrate

Okay, now you need to 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, the columns that you want should be used for inbox queries]

Usage

Its very easy to use. First you have to 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.

API List

setAuthUserId

setAuthUserId method sets the user id, which you pass through parameter

Syntax

void setAuthUserId($userid)

isConversationExists

This method checks currently logged in user and if given user is already in conversation

Syntax

int/false isConversationExists($userid)

isAuthenticUser

isAuthenticUser checks if the given user exists in given conversation.

Syntax

boolean isAuthenticUser($conversationId, $userId)

sendMessage

You can send messages via conversation id by using this method. If the message is successfully sent, it will return objects of Message model otherwise, it will return false

Syntax

object/false sendMessage($conversationId, $message)

sendMessageByUserId

You can send message via receiver id by using this method. If the message is successfully sent, it will return objects of Message model otherwise, it will return false

Syntax

object/false sendMessageByUserId($userId, $message)

getInbox

If you want to get all the inboxes, this method may help you. This method gets all the inboxes via given user id

Syntax

object getInbox([$offset[, $take]])

getInboxAll

If you want to get all the inboxes with soft deleted messages, this method may help you. This method gets all the inboxes via given user id

Syntax

object getInboxAll([$offset[, $take]])

getConversationsById

When you want to get all the conversations using your desire conversation id, you can try this method. This method returns all the conversations with user's objects

Syntax

object getConversationsById($conversationId)

getConversationsByUserId

When you want to get all the conversations using your desire receiver id, you can try this method. This method returns all the conversations with user's objects

Syntax

object getConversationsByUserId($receiverId)

getReceiverInfo

This method returns all the information about message receiver.

Syntax

object getReceiverInfo($conversationId)

makeSeen

If you want to set a message as seen you can use this method.

Syntax

boolean makeSeen($messageId)

deleteMessage

When you want to delete a specific message from a conversation, you have to use this method. This method soft delete message for both user-end individually.

Syntax

boolean deleteMessage($messageId)

deleteForever

If you want to hard delete or permanently delete a specific message then you have to use this method

Syntax

boolean deleteForever($messageId)

deleteConversations

This method is used to permanently delete all conversations

Syntax

boolean deleteConversations($conversationId)

Special Thanks To

Shipu Ahamed

Thanks :)

Support for this project

Hey dude! Help me out for a couple of ๐Ÿป!

Beerpay Beerpay

talk's People

Contributors

nahid avatar ptondereau avatar baileylo avatar harry34 avatar

Watchers

James Cloos avatar Syed Ariful Emon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.