-
Telegram APIの設定: まず、TelegramのBotFatherからボットを作成し、ボットのAPIトークンを取得します。APIトークンは、後でTelegram APIとの通信に使用します。
-
ボットのキーボードを表示する: Telegramボットでキーボードを表示するには、以下のようなコードを使用します。
<?php
$telegramToken = 'YOUR_TELEGRAM_BOT_TOKEN';
$chatId = 'USER_CHAT_ID';
$keyboard = [
'keyboard' => [
['Button 1', 'Button 2'],
['Button 3', 'Button 4'],
],
'resize_keyboard' => true,
'one_time_keyboard' => true,
];
$sendMessageUrl = "https://api.telegram.org/bot{$telegramToken}/sendMessage";
$sendMessageData = [
'chat_id' => $chatId,
'text' => 'Please make a selection:',
'reply_markup' => json_encode($keyboard),
];
$ch = curl_init($sendMessageUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $sendMessageData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
上記のコードでは、YOUR_TELEGRAM_BOT_TOKEN
とUSER_CHAT_ID
を適切な値に置き換えます。キーボードは$keyboard
変数で定義されており、ボタンのレイアウトや動作をカスタマイズできます。
- キーボードを削除する: ユーザーが選択を完了した後、キーボードを削除するには、以下のようなコードを使用します。
<?php
$telegramToken = 'YOUR_TELEGRAM_BOT_TOKEN';
$chatId = 'USER_CHAT_ID';
$removeKeyboard = [
'remove_keyboard' => true,
];
$sendMessageUrl = "https://api.telegram.org/bot{$telegramToken}/sendMessage";
$sendMessageData = [
'chat_id' => $chatId,
'text' => 'Keyboard removed.',
'reply_markup' => json_encode($removeKeyboard),
];
$ch = curl_init($sendMessageUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $sendMessageData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
上記のコードでも、YOUR_TELEGRAM_BOT_TOKEN
とUSER_CHAT_ID
を適切な値に置き換えます。キーボードの代わりに$removeKeyboard
変数を使用し、キーボードが削除されることをユーザーに通知します。
これで、PHPを使用してTelegramボットでキーボードを表示および削除する方法がわかりました。必要に応じてこれらのコード例をカスタマイズし、Telegramボットのキーボード操作を実装してください。