PHP code example of kuvardin / telegram-bots-api
1. Go to this page and download the library: Download kuvardin/telegram-bots-api 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/ */
kuvardin / telegram-bots-api example snippets
ent = new GuzzleHttp\Client();
$token = '123456:AAAAAAAAAAAAAAA';
$bot = new Kuvardin\TelegramBotsApi\Bot($client, $token);
en = '123456:AAAAAAAAAAAAAAA';
$chat_id = 123456789;
$message_text = 'Hi!';
$client = new GuzzleHttp\Client();
$bot = new Kuvardin\TelegramBotsApi\Bot($client, $token);
$request = $bot->sendMessage($chat_id, $message_text);
try {
$message = $request->sendRequest();
echo 'Successful sent';
} catch (Kuvardin\TelegramBotsApi\Exceptions\TelegramBotsApiException $e) {
echo "API error #{$e->getCode()}: {$e->getMessage()}";
} catch (GuzzleHttp\Exception\GuzzleException $e) {
echo "cURL error #{$e->getCode()}: {$e->getMessage()}";
}
en = '123456:AAAAAAAAAAAAAAA';
$chat_id = 123456789;
$client = new GuzzleHttp\Client();
$bot = new Kuvardin\TelegramBotsApi\Bot($client, $token);
$attached_files = new Kuvardin\TelegramBotsApi\AttachedFiles();
$request = $bot->sendMediaGroup(
chat_id: $chat_id,
media: [
new Kuvardin\TelegramBotsApi\Types\InputMedia\Photo(
media: $attached_files->attachByPath('photo1.jpg'),
caption: 'First photo',
),
new Kuvardin\TelegramBotsApi\Types\InputMedia\Video(
media: $attached_files->attachByPath('video1.mp4'),
caption: 'First video',
),
new Kuvardin\TelegramBotsApi\Types\InputMedia\Video(
media: $attached_files->attachByPath('video2.mp4'),
caption: 'Second video',
),
],
);
$attached_files->attachToRequest($request);
try {
$messages = $request->sendRequest();
foreach ($messages as $message) {
echo "Message #{$message->message_id} successfully sent to chat with ID {$message->chat->id}\n";
}
} catch (Kuvardin\TelegramBotsApi\Exceptions\TelegramBotsApiException $e) {
echo "API error #{$e->getCode()}: {$e->getMessage()}";
} catch (GuzzleHttp\Exception\GuzzleException $e) {
echo "cURL error #{$e->getCode()}: {$e->getMessage()}";
}
en = '123456:AAAAAAAAAAAAAAA';
$webhooks_handler_url = 'https://example.com/script.php';
$client = new GuzzleHttp\Client();
$bot = new Kuvardin\TelegramBotsApi\Bot($client, $token);
$request = $bot->setWebhook($webhooks_handler_url);
try {
$request->sendRequest();
echo 'Success';
} catch (Kuvardin\TelegramBotsApi\Exceptions\TelegramBotsApiException $e) {
echo "API error #{$e->getCode()}: {$e->getMessage()}";
} catch (GuzzleHttp\Exception\GuzzleException $e) {
echo "cURL error #{$e->getCode()}: {$e->getMessage()}";
}
en = '123456:AAAAAAAAAAAAAAA';
$client = new GuzzleHttp\Client();
$bot = new Kuvardin\TelegramBotsApi\Bot($client, $token);
$input = file_get_contents('php://input');
if ($input === false || $input === '') {
throw new Error('Input is empty');
}
$input_decoded = json_decode($input, true, 512, JSON_THROW_ON_ERROR);
if (!is_array($input_decoded)) {
throw new Error("Input are not JSON array: $input");
}
$request = null;
$update = new Kuvardin\TelegramBotsApi\Types\Update($input_decoded);
switch ($update->getType()) {
case Kuvardin\TelegramBotsApi\Enums\UpdateType::Message:
$request = $bot->sendMessage(
chat_id: $update->message->chat->id,
text: 'Hello <b>World</b>',
parse_mode: Kuvardin\TelegramBotsApi\Enums\ParseMode::HTML,
reply_markup: new Kuvardin\TelegramBotsApi\Types\InlineKeyboardMarkup([
[ // Buttons row 1
new Kuvardin\TelegramBotsApi\Types\InlineKeyboardButton(
text: 'Open URL',
url: 'https://github.com/kuvardin',
),
new Kuvardin\TelegramBotsApi\Types\InlineKeyboardButton(
text: 'Send callback command',
callback_data: 'like_it',
),
],
[ // Buttons row 2
// ...
],
[ // Buttons row 3
// ...
],
// ...
]),
);
break;
case Kuvardin\TelegramBotsApi\Enums\UpdateType::EditedMessage:
// ...
break;
case Kuvardin\TelegramBotsApi\Enums\UpdateType::ChannelPost:
// ...
break;
case Kuvardin\TelegramBotsApi\Enums\UpdateType::EditedChannelPost:
// ...
break;
case Kuvardin\TelegramBotsApi\Enums\UpdateType::InlineQuery:
// ...
break;
case Kuvardin\TelegramBotsApi\Enums\UpdateType::ChosenInlineResult:
// ...
break;
case Kuvardin\TelegramBotsApi\Enums\UpdateType::CallbackQuery:
// ...
break;
case Kuvardin\TelegramBotsApi\Enums\UpdateType::ShippingQuery:
// ...
break;
// ...
}
if ($request !== null) {
header('Content-Type: application/json');
echo json_encode($request->getRequestData(), JSON_THROW_ON_ERROR);
}