This is a simple Telegram Bot API library in PHP. This library should support all Bot API methods in any version update. I created this library to make creating bots more simpliler, No need to bunch of classes And objects after today!
- Always supports all Bot API methods
- Auto handling for flood & chat ID migrating errors
- Uses
stdClass
for updates - Uses OOP
- Optional Settings for each bot can be saved in JSON
- Based on cURL for speed
- Downloadable via composer
- Tested via GitHub Actions
- Has examples of working bots
- Telegram Errors as PHP Exceptions
- Up to date
- Documented
use SimpleBotAPI/TelegramBot;
use SimpleBotAPI/BotSettings;
$Bot = new TelegramBot('bot_token');
More documentation here
It should be in this format:
$Result = $Bot->{methodName}([
'{paramName}' => {value1},
'{paramName2}' => {value2}
]);
Like this:
$Bot->SendMessage([
'chat_id' => '@MuaathBots',
'text' => 'This post was sent by the bot..'
]);
$my_channel_info = $Bot->getChat([
'chat_id' => '@MuaathBots',
]);
echo "Your channel (@{$my_channel_info->username}) ID: {$my_channel_info->id}";
Note: There's NO PROBLEM if methodName
was in upper or lower case.
You can contribute by:
- Reporting a bug.
- Suggesting a feature.
- Improving code style.
- Completing the TODO List.
- Adding more examples to
examples/
. - Documenting undocumented topics in
docs/
. - Updating the library to the next version of Bot API (if needed).
- Adding more tests in
test/
folder.
Currently, There're three examples in examples/
folder:
- Echo Bot, Which sends same as you sent
- Weclome Bot, Which sends Welcome & ID of user who joins the group
- Contact Me Bot, Which is a Bot be same as you, You'll receive messages & Reply
- FAQ Bot, Which has one message & buttons to swap between questions, And you can see answers.
You can see a full example here
All of these examples doesn't need any databases or files to storage, Only Settings file.
- API via HTTP response in webhooks method
- Using namespace for exceptions
- Documenting sending message with reply markup
- Add webhook authorization
- Auto-store for bot users
- Add JSON Storage can be used by bot
- Method that posts to all bot users
- Add logging
- Add DB Storage can be used by bot
- Document missed things