An extended native php wrapper for Telegram Bot API without requirements. Supports all methods and types of responses.
Bots are special Telegram accounts designed to handle messages automatically. Users can interact with bots by sending them command messages in private or group chats.
You control your bots using HTTPS requests to bot API.
The Bot API is an HTTP-based interface created for developers keen on building bots for Telegram. To learn how to create and set up a bot, please consult Introduction to Bots and Bot FAQ.
Via Composer
$ composer require telegram-bot/api
See example DevAnswerBot (russian).
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN');
$bot->sendMessage($chatId, $messageText);
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN');
$document = new \CURLFile('document.txt');
$bot->sendDocument($chatId, $document);
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN');
$keyboard = new \TelegramBot\Api\Types\ReplyKeyboardMarkup(array(array("one", "two", "three")), true); // true for one-time keyboard
$bot->sendMessage($chatId, $messageText, null, false, null, $keyboard);
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN');
$keyboard = new \TelegramBot\Api\Types\Inline\InlineKeyboardMarkup(
[
[
['text' => 'link', 'url' => 'https://core.telegram.org']
]
]
);
$bot->sendMessage($chatId, $messageText, null, false, null, $keyboard);
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN');
$media = new \TelegramBot\Api\Types\InputMedia\ArrayOfInputMedia();
$media->addItem(new TelegramBot\Api\Types\InputMedia\InputMediaPhoto('https://avatars3.githubusercontent.com/u/9335727'));
$media->addItem(new TelegramBot\Api\Types\InputMedia\InputMediaPhoto('https://avatars3.githubusercontent.com/u/9335727'));
// Same for video
// $media->addItem(new TelegramBot\Api\Types\InputMedia\InputMediaVideo('http://clips.vorwaerts-gmbh.de/VfE_html5.mp4'));
$bot->sendMediaGroup($chatId, $media);
require_once 'vendor/autoload.php';
try {
$bot = new \TelegramBot\Api\Client('YOUR_BOT_API_TOKEN');
// or initialize with Botlytics tracker api key
// $bot = new \TelegramBot\Api\Client('YOUR_BOT_API_TOKEN', 'YOUR_BOTLYTICS_TRACKER_API_KEY');
$bot->command('ping', function ($message) use ($bot) {
$bot->sendMessage($message->getChat()->getId(), 'pong!');
});
$bot->run();
} catch (\TelegramBot\Api\Exception $e) {
$e->getMessage();
}
Botlytics is a telegram bot analytics system. In this document you can find how to setup Botlytics.
- Register at https://botlytics.co/
- After registration you will be prompted to create Bot.
- Save an API key from bot page, you will use it as a token for Botlytics API calls.
- Download lib for your language, and use it as described below. Don`t forget to insert your token!
$tracker = new \TelegramBot\Api\Botlytics('YOUR_BOTLYTICS_TRACKER_API_KEY');
$tracker->track($message, $payload, $kind);
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN', 'YOUR_BOTLYTICS_TRACKER_API_KEY');
$bot->track($message, $payload, $kind);
_You can use method getUpdates()
and all incoming messages will be automatically tracked with Message
payload
$bot = new \TelegramBot\Api\Client('YOUR_BOT_API_TOKEN', 'YOUR_BOTLYTICS_TRACKER_API_KEY');
All registered commands are automatically tracked as command name
Please see CHANGELOG for more information what has changed recently.
$ composer test
Please see CONTRIBUTING for details.
If you discover any security related issues, please email design.by.niko.las@gmail.ru instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.