PHP code example of noplanman / telegram-bot-manager
1. Go to this page and download the library: Download noplanman/telegram-bot-manager library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
$bot = new BotManager([
// (string) Bot API key provided by @BotFather.
'api_key' => '12345:my_api_key',
...
]);
$bot = new BotManager([
...
// (string) Bot username that was defined when creating the bot.
'bot_username' => 'my_own_bot',
// (string) A secret password file used for setting up the webhook.
'url' => 'https://example.com/manager.php',
// (string) Path to a self-signed certificate (if necessary).
'certificate' => __DIR__ . '/server.crt',
// (int) Maximum allowed simultaneous HTTPS connections to the webhook.
'max_connections' => 20,
// (array) List the types of updates you want your bot to receive.
'allowed_updates' => ['message', 'edited_channel_post', 'callback_query'],
// (string) Secret token to validate webhook requests.
'secret_token' => 'super_secret_token',
],
// (bool) Only allow webhook access from valid Telegram API IPs.
'validate_request' => true,
// (array) When using `validate_request`, also allow these IPs.
'valid_ips' => [
'1.2.3.4', // single
'192.168.1.0/24', // CIDR
'10/8', // CIDR (short)
'5.6.*', // wildcard
'1.1.1.1-2.2.2.2', // range
],
// (array) All options that have to do with the limiter.
'limiter' => [
// (bool) Enable or disable the limiter functionality.
'enabled' => true,
// (array) Any extra options to pass to the limiter.
'options' => [
// (float) Interval between request handles.
'interval' => 0.5,
],
],
// (array) An array of user ids that have admin access to your bot (must be integers).
'admins' => [12345],
// (array) Mysql credentials to connect a database (necessary for [`getUpdates`](#using-getupdates-method) method!).
'mysql' => [
'host' => '127.0.0.1',
'port' => 3306, // optional
'user' => 'root',
'password' => 'root',
'database' => 'telegram_bot',
'table_prefix' => 'tbl_prfx_', // optional
'encoding' => 'utf8mb4', // optional
],
// (array) List of configurable paths.
'paths' => [
// (string) Custom download path.
'download' => __DIR__ . '/Download',
// (string) Custom upload path.
'upload' => __DIR__ . '/Upload',
],
// (array) All options that have to do with commands.
'commands' => [
// (array) A list of custom commands paths.
'paths' => [
__DIR__ . '/CustomCommands',
],
// (array) A list of all custom command configs.
'configs' => [
'sendtochannel' => ['your_channel' => '@my_channel'],
'weather' => ['owm_api_key' => 'owm_api_key_12345'],
],
],
// (array) All options that have to do with cron.
'cron' => [
// (array) List of groups that contain the commands to execute.
'groups' => [
// Each group has a name and array of commands.
// When no group is defined, the default group gets executed.
'default' => [
'/default_cron_command',
],
'maintenance' => [
'/db_cleanup',
'/db_repair',
'/message_admins Maintenance completed',
],
],
],
// (string) Override the custom input of your bot (mostly for testing purposes!).
'custom_input' => '{"some":"raw", "json":"update"}',
]);
// In manager.php after $bot has been defined:
$bot->setCustomGetUpdatesCallback(function (ServerResponse $get_updates_response) {
$results = array_filter((array) $get_updates_response->getResult());
return sprintf('There are %d update(s)' . PHP_EOL, count($results));
});
bash
composer
yaml
""php-telegram-bot/telegram-bot-manager": "^2.1",
"longman/telegram-bot": "dev-master as 0.81"
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.