he110/communication-tools

Tools set for messenger managing. Allows you to send any content via Telegram, Viber, WhatsApp, VK and so on

Maintainers

👁 he110_todd

Package info

github.com/he110/communication-tools

pkg:composer/he110/communication-tools

Statistics

Installs: 11 209

Dependents: 0

Suggesters: 0

Stars: 17

Open Issues: 0

v0.1.5 2020-01-16 05:02 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT c59c83e6ec2f2f9e0f33b822f5f6fe5233425748

phpfacebook-bottelegram-botwhatsapp-botviber-botvk-bot

This package is auto-updated.

Last update: 2026-06-16 19:05:30 UTC


README

👁 Latest Stable Version
👁 codecov
👁 Maintainability

Tools set for messenger managing. Allows you to send any content via Telegram, Viber, WhatsApp, VK, Facebook Messenger and so on.

Installation

Install the latest version with

$ composer require he110/communication-tools

Basic Usage

Messenger's clients

<?php

// Telegram client's taken as an example. You can use other
use He110\CommunicationTools\Telegram\Messenger;
use He110\CommunicationTools\MessengerScreen;

$messenger = new Messenger();
$messenger->setAccessToken(YOUR_TOKEN_HERE);

// If you want, to send simple text message
$messenger->sendMessage("Your message text here");

// To send image use method sendImage
$messenger->sendImage("path/to/file", "(Optional) Your text description");
// or, to send document...
$messenger->sendDocument("path/to/file", "(Optional) Your text description");
// you can also send voice files
$messenger->sendVoice("path/to/file");

// If you wanna use buttons, it's better way to use MessengerScreen
$screen = new MessengerScreen();
$screen->addMessage("Your message text here");
$screen->addButtonText("Text button");
$screen->addButtonLink("URL button", "https://google.com");
$messenger->sendScreen($screen);

Multiple messengers

<?php

// Telegram client's taken as an example. You can use other
use He110\CommunicationTools\MessengerPool;
use He110\CommunicationTools\Telegram\Messenger;
use He110\CommunicationTools\MessengerScreen;

$messenger = new Messenger();
$messenger->setAccessToken(YOUR_TOKEN_HERE);

// Pool allows you to use multiple messengers as one
$pool = new MessengerPool();
$pool->add($messenger);

$pool->sendMessage("Your message text here");

// If you wanna use buttons, it's better way to use MessengerScreen
$screen = new MessengerScreen();
$screen->addMessage("Your message text here");
$screen->addButtonText("Text button");
$screen->addButtonLink("URL button", "https://google.com");
$pool->sendScreen($screen);

Work with events

<?php

// Telegram client's taken as an example. You can use other
use He110\CommunicationTools\Telegram\Messenger;
use He110\CommunicationTools\Request;
use He110\CommunicationTools\MessengerUser;

$messenger = new Messenger();
$messenger->setAccessToken(YOUR_TOKEN_HERE);

// Action for simple incoming messages
$messenger->onMessage(function(Request $request) use ($messenger) {
 // Your code here...
 $text = $request->getMessage();
 /** @var MessengerUser $user $user */
 $user = $request->getUser();
 $messenger->setTargetUser($user->getUserId());
 $messenger->sendMessage("We've got your message: '$text'");
});

// Action for buttons click
$messenger->onButtonClick(function(Request $request) use ($messenger) {
 // Your code here...
 $payload = $request->getPayload();
});

// Required!!! Run this method to check if events are triggered
$messenger->checkEvents();

About

Requirements

  • Communication Tools works with PHP 7.2 or above.

Submitting bugs and feature requests

Bugs and feature request are tracked on GitHub

Author

Ilya S. Zobenko - ilya@zobenko.ru - http://twitter.com/he110_todd

License

"Communication Tools" is licensed under the MIT License - see the LICENSE file for detail