A Telegram Bot based on the official [Telegram Bot API]
Table of Contents
- Introduction
- Instructions
- Webhook installation
- getUpdates installation
- Support
- Utils
- Commands
- Upload and Download directory path
- Logging
- Documentation
- Assets
- Example bot
- Projects with this library
- Troubleshooting
- Contributing
- Security
- Donate
- For enterprise
- License
- Credits
Introduction
This is a pure PHP Telegram Bot, fully extensible via plugins.
Telegram announced official support for a Bot API, allowing integrators of all sorts to bring automated interactions to the mobile platform.
This Bot aims to provide a platform where one can simply write a bot and have interactions in a matter of minutes.
The Bot can:
- Retrieve updates with webhook and getUpdates methods.
- Supports all types and methods according to Telegram API 4.4 (July 2019).
- Supports supergroups.
- Handle commands in chat with other bots.
- Manage Channel from the bot admin interface.
- Full support for inline bots.
- Inline keyboard.
- Messages, InlineQuery and ChosenInlineQuery are stored in the Database.
- Conversation feature.
This code is available on GitHub. Pull requests are welcome.
Instructions
Create your first bot
-
Message
@BotFather
with the following text:/newbot
If you don't know how to message by username, click the search field on your Telegram app and type
@BotFather
, where you should be able to initiate a conversation. Be careful not to send it to the wrong contact, because some users have similar usernames toBotFather
. -
@BotFather
replies with:Alright, a new bot. How are we going to call it? Please choose a name for your bot.
-
Type whatever name you want for your bot.
-
@BotFather
replies with:Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.
-
Type whatever username you want for your bot, minimum 5 characters, and must end with
bot
. For example:telesample_bot
-
@BotFather
replies with:Done! Congratulations on your new bot. You will find it at telegram.me/telesample_bot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. Use this token to access the HTTP API: 123456789:AAG90e14-0f8-40183D-18491dDE For a description of the Bot API, see this page: https://core.telegram.org/bots/api
-
Note down the 'token' mentioned above.
Optionally set the bot privacy:
-
Send
/setprivacy
to@BotFather
. -
@BotFather
replies with:Choose a bot to change group messages settings.
-
Type (or select)
@telesample_bot
(change to the username you set at step 5
above, but start it with@
) -
@BotFather
replies with:'Enable' - your bot will only receive messages that either start with the '/' symbol or mention the bot by username. 'Disable' - your bot will receive all messages that people send to groups. Current status is: ENABLED
-
Type (or select)
Disable
to let your bot receive all messages sent to a group. -
@BotFather
replies with:Success! The new status is: DISABLED. /help
Require this package with Composer
Install this package through [Composer].
Edit your project's composer.json
file to require longman/telegram-bot
.
Create composer.json file
{
"name": "yourproject/yourproject",
"type": "project",
"require": {
"php": ">=5.5",
"longman/telegram-bot": "*"
}
}
and run composer update
or
run this command in your command line:
composer require longman/telegram-bot
Choose how to retrieve Telegram updates
The bot can handle updates with Webhook or getUpdates method: