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
@BotFatherwith the following text:/newbotIf 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.
 - 
@BotFatherreplies 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.
 - 
@BotFatherreplies 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 - 
@BotFatherreplies 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
/setprivacyto@BotFather.
 - 
@BotFatherreplies 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@) - 
@BotFatherreplies 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)
Disableto let your bot receive all messages sent to a group. - 
@BotFatherreplies 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: