Giter Site home page Giter Site logo

rtippin / messenger Goto Github PK

View Code? Open in Web Editor NEW
387.0 13.0 78.0 7.77 MB

Laravel messenger. A full messenger suite for your new / existing laravel app! Private and group threads between multiple models, with real-time messaging, reactions, attachments, calling, chat bots, and more!

Home Page: https://tippindev.com

License: MIT License

PHP 100.00%
laravel messenger threads friends groups calling calls chat realtime-chat inbox

messenger's Introduction

Laravel Messenger

Latest Version on Packagist Total Downloads Tests StyleCI License


Preview


Prerequisites

Laravel PHP Messenger
8.x ^7.4 ^8.0 ^8.1 <= 1.19.1
9.x ^8.0.2 ^8.1 >= 1.20.0
10.x ^8.1 ^8.2 ^8.3 >= 1.22.0
  • Route model binding enabled in your API / WEB middleware groups.

Features

  • Realtime messaging between multiple models.
  • RESTful API, allowing you to create your own UI or connect to your mobile app.
  • Private and group threads.
  • Message reactions, replies, edits, and deletion.
  • Send image, document, audio, and video messages.
  • Group thread chat-bots. Ready-made bots
  • Customize and create your own chat-bot handlers and bot packages. See the Chat Bots documentation.
  • Add participants in a group thread from your friends list.
  • Permissions per participant within a group thread.
  • Friends, Search, and Online status systems.
  • Private thread approval when the two participants are not friends.
  • Provider avatars, group thread avatars, and bot avatars.
  • Underlying calling system you can extend. See the Calling documentation.
  • Group thread invitation links (like discord).
  • All endpoints are protected behind policies.
  • Scheduled commands for automated cleanup and checks.
  • Queued jobs fired from our event subscribers.
  • Most features can be toggled at runtime using our Messenger facade.
  • MessengerComposer facade allows you to have easy access to the core actions anywhere within your own app, such as sending messages, images, reactions, and more.
  • You can implement or extend your own BroadcastDriver, VideoDriver, and FriendDriver, simply by binding your classes into the container.
  • Support for morph maps on your provider models. See: Morph Maps
  • Optional extra payload when sending messages to allow custom json to be stored with the message.
  • Owner relationships returns a Ghost Profile when not found (null-object pattern).
  • Private threads auto-lock when the recipient is not found / deleted.

Upcoming for v2

Notes

  • This is a Laravel package and must be installed in a laravel application to run.
  • Read through the messenger.php config file before migrating!
  • This is a pure backend driven package providing an API to interact with, thus no web UI or websocket implementation will be setup for you.
  • Calling is disabled by default. You are responsible for implementing your own media server or connecting to a 3rd party provider.
  • Configure your laravel applications broadcast driver and set up your websocket implementation to utilize the real-time broadcast emitted.

Installation

Composer

composer require rtippin/messenger

To complete the setup, please refer to the installation documentation listed below:


Documentation


Addons / Demo

  • Messenger Bots - Pre-made bots you can register within this package.
  • Messenger Faker - Adds commands useful in development environments to mock/seed realtime events and messages.
  • Messenger Web UI - Ready-made web routes and publishable views / assets, including default images.
  • Demo App - A demo laravel app with this core package installed, including a Live Demo.

Credits - Richard Tippin

Security

If you discover any security related issues, please email author instead of using the issue tracker.

messenger's People

Contributors

ajnozari avatar lioneaglesolutions avatar rtippin avatar stylecibot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

messenger's Issues

How to fix this 403 Forbidden Permission to access Error in my case ?

Hi.

Unable to connect to my site (https://msg.worklx.com/) Laravel, I get the error:
Forbidden You don’t have permission to access this resource.

IMPORTANT: I specify that I cloned and indeed installed via "composer" all the dependencies of the Demo Version of RTippin/messenger (https://github.com/RTippin/messenger-demo) and even installed the components of the Demo in question via php artisan demo:install.

So how to fix it ???
I really need your help.

Messenger provider not set or compatible

Hi there,

I've tried your messenger-demo app and it looks amazing!
I am now trying to integrate it into my own Laravel app and I'm getting stuck with the following 403 error: Messenger provider not set or compatible. I got this message after I ran php artisan migrate.

So I then edited the config file to have the following config, but it didn't work either. Should I have run php artisan migrate after editing this?

'providers' => [
        'user' => [
            'model' => Common\Auth\BaseUser::class,
            'searchable' => true,
            'friendable' => true,
            'devices' => false,
            'default_avatar' => public_path('vendor/messenger/images/users.png'),
            'provider_interactions' => [
                'can_message' => true,
                'can_search' => true,
                'can_friend' => true,
            ],
        ],
    ],

My user model looks like this

<?php namespace Common\Auth;

use App\User;
use Carbon\Carbon;
use Common\Auth\Permissions\Permission;
use Common\Auth\Permissions\Traits\HasPermissionsRelation;
use Common\Auth\Roles\Role;
use Common\Auth\Traits\HasAvatarAttribute;
use Common\Auth\Traits\HasDisplayNameAttribute;
use Common\Billing\Billable;
use Common\Billing\BillingPlan;
use Common\Files\FileEntry;
use Common\Files\FileEntryPivot;
use Common\Files\Traits\SetsAvailableSpaceAttribute;
use Common\Notifications\NotificationSubscription;
use Common\Settings\Settings;
use Eloquent;
use Illuminate\Auth\Notifications\ResetPassword;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\DatabaseNotification;
use Illuminate\Notifications\DatabaseNotificationCollection;
use Illuminate\Notifications\Notifiable;
use Arr;
use Storage;
use RTippin\Messenger\Contracts\MessengerProvider;
use RTippin\Messenger\Contracts\Searchable;
use RTippin\Messenger\Traits\Messageable;
use RTippin\Messenger\Traits\Search;

/**
 * @property int $id
 * @property string|null $username
 * @property string|null $first_name
 * @property string|null $last_name
 * @property string|null $gender
 * @property-read Collection|Permission[] $permissions
 * @property string $email
 * @property string $password
 * @property integer|null $available_space
 * @property string|null $remember_token
 * @property Carbon $created_at
 * @property Carbon $updated_at
 * @property int $stripe_active
 * @property string|null $stripe_id
 * @property string|null $stripe_subscription
 * @property string|null $stripe_plan
 * @property string|null $last_four
 * @property string|null $trial_ends_at
 * @property string|null $subscription_ends_at
 * @property string $avatar
 * @property-read string $display_name
 * @property-read mixed $followers_count
 * @property-read bool $has_password
 * @property-read Collection|Role[] $roles
 * @property-read DatabaseNotificationCollection|DatabaseNotification[] $notifications
 * @property-read NotificationSubscription[]|Collection $notificationSubscriptions
 * @method BaseUser compact()
 * @method Builder whereNeedsNotificationFor(string $eventId)
 * @mixin Eloquent
 */
abstract class BaseUser extends Authenticatable implements MessengerProvider, Searchable
{
    use Notifiable, Billable, SetsAvailableSpaceAttribute, HasPermissionsRelation, HasAvatarAttribute, HasDisplayNameAttribute;
    use Messageable, Search; //comes with messenger package

    // prevent avatar from being set along with other user details
    protected $guarded = ['id', 'avatar'];
    protected $hidden = ['password', 'remember_token', 'pivot', 'legacy_permissions', 'api_token'];
    protected $casts = [
        'id' => 'integer',
        'available_space' => 'integer',
        'email_verified_at' => 'datetime',
    ];
    protected $appends = ['display_name', 'has_password'];
    protected $billingEnabled = true;
    protected $gravatarSize;

    public function __construct(array $attributes = [])
    {
        parent::__construct($attributes);
        $this->billingEnabled = app(Settings::class)->get('billing.enable');
    }

    // ...

Any chance that you can guide me to make this compatible?

Regards.

How to search in all users? And add participants in a group?

1. How can a user search all users (including new fresh users) for conversations?

In the users table

Getting only logged in user

I want to get search results from all new users. Logged in or not.

in user model

Implements

class User extends Authenticatable implements MessengerProvider

Using traite

use Messageable;

Setting method

   public static function getProviderSettings(): array
    {
        return [
            'alias' => 'user',
            'searchable' => true,
            'friendable' => true,
            'devices' => true,
            'default_avatar' => public_path('vendor/messenger/images/users.png'),
            'cant_message_first' => [],
            'cant_search' => [],
            'cant_friend' => [],
        ];
    }

Searchable method

   public static function getProviderSearchableBuilder(
        Builder $query,
        string $search,
        array $searchItems
    ) {
        $query->where(function (Builder $query) use ($searchItems) {
            foreach ($searchItems as $item) {
                $query->orWhere('name', 'LIKE', "%{$item}%");
            }
        })->orWhere('email', '=', $search);
    }

2. How can users add participants in a group without being friends?

I am using BIGINT id in the users table

Not authorized to view thread.

through postman i created the group then authenticated the user when i try to load the messages it returns the error "Not authorized to view thread."

500 (Internal Server Error) in Search System on UI

Hello.

image

After following these instructions: https://github.com/RTippin/messenger/blob/1.x/docs/Installation.md we got that 500 (Internal Server Error) as you can see on the screenshot above, we cannot search anything in Messenger UI dashbord knowing that our users DataBase Table uses first-name and surname columns for user's names and the User.php Model file contains the following:

public static function getProviderSettings(): array
{
	return [
		'alias' => 'user',
		'searchable' => true,
		'friendable' => true,
		'devices' => true,
		'default_avatar' => public_path('vendor/messenger/images/users.png'),
		'cant_message_first' => [],
		'cant_search' => [],
		'cant_friend' => [],
	];
}


public static function getProviderSearchableBuilder(Builder $query, string $search, array $searchItems)
{
	$query->where(function (Builder $query) use ($searchItems) {
		foreach ($searchItems as $item) {
			$query->orWhere('first_name', 'LIKE', "%{$item}%")
			->orWhere('last_name', 'LIKE', "%{$item}%");
		}
	})->orWhere('email', '=', $search);
}


public function getProviderName(): string
{
	return strip_tags(ucwords($this->first_name." ".$this->surname));
}


public function getProviderAvatarColumn(): string
{
	return 'messenger_avatar';
}

VERY IMPORTANT: We installed Messenger and Messenger UI in our existing Laravel Application.

So, does anything wrong with what I did in User.php Model ???

Thanks for your help.

heartbeat problem

Hey, when will I enable MESSENGER ONLINE STATUS ENABLED in the .env
I have such errors

image

xxxxxxx could not be authenticated to private-messenger.user.xxxx

Hi,
I still have a lot of issue to add your package to my project. It's exactly what I'm looking for, so I don't want to give up !
I tried to use your demo, but I still have an issue with Laravel Echo server. I followed all the doc to make sure I copy paste the appId/Key from Laravel-echo-server.json to the .env ... but I still have an error :/

`

sylvain@MBP-de-Sylvain messenger-demo-master % laravel-echo-server start

L A R A V E L E C H O S E R V E R

version 1.6.2

⚠ Starting server in DEV mode...

✔ Running at localhost on port 6001
✔ Channels are ready.
✔ Listening for http events...
✔ Listening for redis events...

Server ready!

[19:23:16] - Preparing authentication request to: http://localhost:8000
[19:23:16] - Sending auth request to: http://localhost:8000/api/broadcasting/auth

⚠ [19:23:16] - lMUUODNNsfLdEssOAAAG could not be authenticated to private-messenger.user.932a7ac2-2b7c-409b-be43-110e8055b12a
{"message":"Unauthenticated."}
Client can not be authenticated, got HTTP status 401
[19:23:16] - Preparing authentication request to: http://localhost:8000
[19:23:16] - Sending auth request to: http://localhost:8000/api/broadcasting/auth

⚠ [19:23:16] - BG4LhvClClJ3FMKCAAAH could not be authenticated to private-messenger.user.932a7ac2-2b7c-409b-be43-110e8055b12a
{"message":"Unauthenticated."}
Client can not be authenticated, got HTTP status 401
[19:23:17] - Preparing authentication request to: http://localhost:8000
[19:23:17] - Sending auth request to: http://localhost:8000/api/broadcasting/auth

⚠ [19:23:17] - IlWDQbzsyuzSM1EcAAAI could not be authenticated to private-messenger.user.932a7ac2-2b7c-409b-be43-110e8055b12a
{"message":"Unauthenticated."}
Client can not be authenticated, got HTTP status 401
Channel: private-messenger.user.932a7ac2-2b7c-409b-be43-110e8055b12a
Event: thread.read
Channel: private-messenger.user.932a7ac2-2b7c-409b-be43-110e8055b12a
Event: thread.read
Channel: private-messenger.user.932a7ac2-2b7c-409b-be43-110e8055b12a
Event: thread.read
`

It's driving me crazy because all the rest works perfectly.

thanks for your work and your help !

How to translate "Messenger UI" views's texts ???

Hello.

We are trying to translate (using this PHP Package: composer require stichoza/google-translate-php) views files of our Messenger UI (https://github.com/RTippin/messenger-ui/tree/master/resources/views) Package that we installed in our existing Laravel Application without found most of the texts or strings we want to translate like: Search conversation by name, Messenger options, settings, Friends, create group, Search profiles, etc.

In other word, how to get or find the texts of views of Messenger UI (https://github.com/RTippin/messenger-ui/tree/master/resources/views) so that we can translate them in other language ???

Please, answer us.
Awaiting your help.

Issue sending message after initiating conversation

After initiating a conversation and creating a thread, when trying to send a message on the same thread, getting the following as the response: "Not authorized to send messages."
If you could provide a demo of the API and payload, it will be helpful

Thank you.

Awesome work

I know this is the issue tab. But WOW great project! Keep going. If you need help with a Vue version I might can help to migrate this project to InertiaJs.

Please help you for these three points about Messenger and its UI packages ???!!!

Hello @RTippin .

We have some concerns about how to setup "Messenger" in our existing Laravel application after reading this README: https://github.com/RTippin/messenger/blob/1.x/docs/Installation.md:

1 - After installing Janus on our Server, does it require to uncomment:

// Set the video call driver of your choosing.
Messenger::setVideoDriver(MyVideoBroker::class);

in app\Providers\MessengerServiceProvider.php to use Video Call ???
Or do you think Video Call is possible even that line (Messenger::setVideoDriver(MyVideoBroker::class);) keep commented ???

2 - We want to display and allow conversation only between users that have the same business_id knowing that the users Table in Database already have business_id column:

image

So how to edit UI or Messenger itself espacially the part of the shotscreen above circled in Red so that it display only the users that have the same business_id value in DataBase to allow them to converse ???

3 - Our existing Laravel Application does not have avatar column in users Table in Database.
Should we add this: $table->string('messenger_avatar')->nullable(); in our users Migration or another Migration (because, we don't understand where to put it) ???

Please answer us step by step.

How to integrate that Application (by synchronizing "users" table of migration) to our existing Laravel App ???

Hello.

I have a serious headache.
We already have a Laravel Application which has a Migration (Table) users whose content is:

public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('surname');
            $table->string('first_name');
            $table->string('last_name')->nullable();
            $table->string('username')->unique();
            $table->string('email')->nullable();
            $table->string('password');
            $table->char('language', 7)->default('en');
            $table->rememberToken();
            $table->softDeletes();
            $table->timestamps();
        });
    }

When that of "Messenger-Demo" (https://github.com/RTippin/messenger-demo) is:

public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->uuid('id')->primary();
            $table->string('name');
            $table->string('email')->unique();
            $table->string('avatar')->nullable();
            $table->boolean('admin')->default(false);
            $table->boolean('demo')->default(false);
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

We want to synchronize both Applications so that Messenger-Demo uses the same users Table (same DataBase) with our first Application that is running.

So, we want to know how to do that ???
In other word, how to change $table->uuid('id')->primary(); by $table->increments('id'); And: $table->string('name'); by these two $table->string('surname'); and $table->string('first_name'); without getting any error in Views ???

In which part of controllers, views or other code should we make modification if we change users migration to use the same users Table of our existing Laravel Application ???

Please, help us.

[BUG] WebSocket connection to "wss://127.0.0.1:6001/app/b646bf...........client=js&version=7.6.0&flash=false" failed

Hello.

After installing "pusher/pusher-php-server": "7.0.2", and "beyondcode/laravel-websockets": "^1.14" a, we set our LARAVEL config/broadcasting.php like this:

'pusher' => [
       'driver' => 'pusher',
       'key' => env('PUSHER_APP_KEY', 'app-key'),
       'secret' => env('PUSHER_APP_SECRET', 'app-secret'),
       'app_id' => env('PUSHER_APP_ID', 'app-id'),
       'options' => [
           'host' => env('PUSHER_HOST', '127.0.0.1'),
           'port' => env('PUSHER_PORT', 6001),
           'scheme' => env('PUSHER_SCHEME', 'http'),
           'encrypted' => true,
           'useTLS' => env('PUSHER_SCHEME') === 'https',
       ],
   ],

And LARAVEL .env file like this:

#Pusher/Websockets:

BROADCAST_DRIVER=pusher
PUSHER_APP_ID=1.........77
PUSHER_APP_KEY="b64...............e9f5"
PUSHER_APP_SECRET="81705...........7542"
PUSHER_HOST=127.0.0.1
PUSHER_PORT=6001
MESSENGER_SOCKET_PUSHER=false
MESSENGER_SOCKET_KEY="${PUSHER_APP_KEY}"
MESSENGER_SOCKET_CLUSTER="${PUSHER_APP_CLUSTER}"

We get WebSocket connection to 'wss://127.0.0.1:6001/app/b646bf..........e9f5?protocol=7&client=js&version=7.6.0&flash=false' failed as you can see on the following screenshot here:

WEBSOKET FAILED

PLEASE, Could you help us to fix that error ???
Thanks in advance.

Used just for api part

It can be used just for api too? i mean without blade frontend part on sa separate spa(like nuxtjs for example).

App\Models\User::name must return a relationship instance.

Hi,
Thanks for you amazing work ! I trying to make it work on one of my project !

Sadly I get stuck with this error.

[2021-03-18 20:27:02] local.ERROR: App\Models\User::name must return a relationship instance. {"userId":26,"exception":"[object] (LogicException(code: 0): App\\Models\\User::name must return a relationship instance. at /Users/sylvain/Documents/dev/obpro/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php:464)

I put that in my User Model because I use Username instead of 'name'

public function name(): string { return strip_tags(ucwords($this->username)); }

Any idea ? Thanks

Unable to configure api auth middleware in apiato, laravel application

Hi,

I have installed and configured RTippin Messenger with Laravel and apiato framework. But when I test "api/messenger" endpoint, it shows 401 status. I have also tried to config "api:auth" middleware that is used on our other endpoints. I shall be grateful to you if you kindly guide me in this issue.

kind Regards,
Hassan

The given provider { App\Models\User } must implement the interface RTippin\Messenger\Contracts\MessengerProvider

This is my USER Model ---

use Illuminate\Database\Eloquent\Builder;
use RTippin\Messenger\Contracts\MessengerProvider;
use RTippin\Messenger\Traits\Messageable;

use Illuminate\Notifications\Notifiable;
use Laravel\Passport\HasApiTokens;

class User extends Authenticatable implements MessengerProvider
{
//Default trait to satisfy MessengerProvider interface
use SoftDeletes, Notifiable, HasApiTokens, Messageable;

Error When run command -- php artisan serve
or run any command

InvalidArgumentException

The given provider { App\Models\User } must implement the interface RTippin\Messenger\Contracts\MessengerProvider

at vendor/rtippin/messenger/src/Messenger.php:92
88▕ }
89▕
90▕ foreach ($providers as $provider) {
91▕ if (! is_subclass_of($provider, MessengerProvider::class)) {
➜ 92▕ throw new InvalidArgumentException("The given provider { $provider } must implement the interface ".MessengerProvider::class);
93▕ }
94▕
95▕ $this->providers[$provider] = new MessengerProviderDTO($provider);
96▕ }

  +1 vendor frames 

2 app/Providers/MessengerServiceProvider.php:28
Illuminate\Support\Facades\Facade::__callStatic("registerProviders")

New messages do not appear on receiver screen without refresh

Hello.

I want to congratulate you for the great job. I managed to make it work with my Laravel project, but for some reason new messages are not showing on receiver screen until page is refreshed. I can see the icon when the other user is typing but not the message itself.

Question: API

Hey is the API Explorer all documentation of the API calls?

Intervention/imagecache abandoned

When installing with composer, received this message:

Package intervention/imagecache is abandoned, you should avoid using it. No replacement was suggested.

Unable to install it on Laravel 9 ??? Help me to fix it

Hello.

We got Your requirements could not be resolved to an installable set of packages. error as you can see in the following error when we are trying install this package on our Laravel 9 existing project. We can not upgrade that Laravel 9 to Lavarel 10 because the project already uses several projects (packages) that require Laravel 9.

image

So, @RTippin , is there any way to install it on Laravel 9 please ???

How to fix "Connection error, messages may be delayed" ERROR in our Messenger UI ???

Hello.

After installing Meesenger on existing Laravel Application, we get this error "Connection error, messages may be delayed" as you can see on the following screenshot:

image

We installed in our composer:

"beyondcode/laravel-websockets": "^1.12",
"pusher/pusher-php-server": "^7.2",
"rtippin/janus-client": "^1.2",
"rtippin/messenger": "1.21.0",
"rtippin/messenger-ui": "^2.7",

And our .env file content is:

BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis

REDIS_HOST=127.0.0.1
REDIS_SCHEME=tcp
REDIS_PASSWORD="OurRedisPassword"
REDIS_PORT=6379

#MESSENGER

MESSENGER_SITE_NAME="Worklx ERP Meet"
MESSENGER_CALLING_ENABLED=true
MESSENGER_SYSTEM_MESSAGES_ENABLED=true
MESSENGER_MESSAGE_SIZE_LIMIT=5000
MESSENGER_PUSH_NOTIFICATIONS_ENABLED=true
MESSENGER_PROVIDER_AVATARS_ENABLED=true
MESSENGER_THREAD_AVATARS_ENABLED=true
MESSENGER_BOT_AVATARS_ENABLED=true
MESSENGER_AVATARS_SIZE_LIMIT=5120
MESSENGER_AVATARS_MIME_TYPES="jpg,jpeg,png,bmp,gif,webp"
MESSENGER_MESSAGE_DOCUMENT_UPLOAD=true
MESSENGER_MESSAGE_DOCUMENT_SIZE_LIMIT=5120
MESSENGER_MESSAGE_DOCUMENT_MIME_TYPES="csv,doc,docx,json,pdf,ppt,pptx,rtf,txt,xls,xlsx,xml"
MESSENGER_MESSAGE_IMAGE_UPLOAD=true
MESSENGER_MESSAGE_IMAGE_SIZE_LIMIT=5120
MESSENGER_MESSAGE_IMAGE_MIME_TYPES="jpg,jpeg,png,bmp,gif,webp"
MESSENGER_MESSAGE_AUDIO_UPLOAD=true
MESSENGER_MESSAGE_AUDIO_SIZE_LIMIT=5120
MESSENGER_MESSAGE_AUDIO_MIME_TYPES="aac,mp3,oga,ogg,wav,weba,webm"
MESSENGER_MESSAGE_VIDEO_UPLOAD=true
MESSENGER_MESSAGE_VIDEO_SIZE_LIMIT=5120
MESSENGER_MESSAGE_VIDEO_MIME_TYPES="avi,mp4,ogv,webm,3gp,3g2,wmv,mov"
MESSENGER_MESSAGE_EDITS_ENABLED=true
MESSENGER_MESSAGE_EDITS_VIEW_HISTORY=true
MESSENGER_MESSAGE_REACTIONS_ENABLED=true
MESSENGER_MESSAGE_REACTIONS_MAX_UNIQUE=10
MESSENGER_INVITES_ENABLED=true
MESSENGER_INVITES_THREAD_MAX=10
MESSENGER_KNOCKS_ENABLED=true
MESSENGER_KNOCKS_TIMEOUT=5
MESSENGER_ONLINE_STATUS_ENABLED=true
MESSENGER_ONLINE_STATUS_LIFETIME=4
MESSENGER_VERIFY_PRIVATE_THREAD_FRIENDSHIP=true
MESSENGER_VERIFY_GROUP_THREAD_FRIENDSHIP=true

#Pusher/Websockets

PUSHER_APP_ID="WorklxMeet-ERP-Id-2023"
PUSHER_APP_KEY="WorklxMeet-ERP-Key-2023"
PUSHER_APP_SECRET="WorklxMeetERP@1996"
PUSHER_APP_CLUSTER="WorklxMeet-ERP"
MESSENGER_SOCKET_PUSHER=false
MESSENGER_SOCKET_KEY="${PUSHER_APP_KEY}"
MESSENGER_SOCKET_CLUSTER="${PUSHER_APP_CLUSTER}"

#JANUS

JANUS_SERVER_ENDPOINT="http://127.0.0.1:8088/janus"
JANUS_SERVER_ADMIN_ENDPOINT="http://127.0.0.1:7088/admin"
JANUS_VERIFY_SSL=false
JANUS_DEBUG=false
JANUS_ADMIN_SECRET="Jav11111111111"
JANUS_API_SECRET="JanusAPISecret2222"
JANUS_VIDEO_ROOM_SECRET="JanusVideoRoomSecret123"
JANUS_CLIENT_DEBUG=false

CAN ANYONE HELP US TO FIX THAT ERROR PLEASE ???

Message forwarding

Hi, thanks for your work. Is there message forwarding in api or in the future version? Not found on live example or docs.

Not finding my existing users

Discussed in #47

Originally posted by enanwangai August 30, 2022
Hi, I need assistance I am pretty new t this package and I am unable to display or search the users from the messenger platform. What could be the issue?
I already have users in this existing model...
image

Messenger (USer model) fields

Thanks for this wonderful package.

Currently package returns all fields of our 'User' model. This includes phone numbers etc also. How can we modify the 'Base' response object?

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.