PHPを使用したTelegramボットでキーボードを削除する方法


  1. Telegram APIの設定: まず、TelegramのBotFatherからボットを作成し、ボットのAPIトークンを取得します。APIトークンは、後でTelegram APIとの通信に使用します。

  2. ボットのキーボードを表示する: 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_TOKENUSER_CHAT_IDを適切な値に置き換えます。キーボードは$keyboard変数で定義されており、ボタンのレイアウトや動作をカスタマイズできます。

  1. キーボードを削除する: ユーザーが選択を完了した後、キーボードを削除するには、以下のようなコードを使用します。
<?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_TOKENUSER_CHAT_IDを適切な値に置き換えます。キーボードの代わりに$removeKeyboard変数を使用し、キーボードが削除されることをユーザーに通知します。

これで、PHPを使用してTelegramボットでキーボードを表示および削除する方法がわかりました。必要に応じてこれらのコード例をカスタマイズし、Telegramボットのキーボード操作を実装してください。