0

PHP を使用して Telegram Chatbot を統合するために、以下の手順を既に実行しました。

その後、次のコード行を使用して簡単な PHP ファイルを作成しました。

<?php 
define('BOT_TOKEN', 'CHANGE-ME');
define('API_URL', 'https://api.telegram.org/bot'.BOT_TOKEN.'/');


// This is to read incoming message and fetch chatid
$content    = file_get_contents("php://input");
$update     = json_decode($content, true);
$chatID     = $update["message"]["chat"]["id"];
$message    = $update["message"]["text"];

// compose reply
$reply ="";
switch ($message) {
    case "/start":
        $reply =  "Welcome to chatbot world. Type /help to see commands";
        break;
    case "/test":
        $reply =  "test message";
        break;
    case "/hi":
        $reply =  "Hello from ChatBot";
        break;
    case "/help":
        $reply =  "commands: /start , /test , /hi , /help "; 
        break;
    default:
        $reply =  "Something wrong";
}

// send reply
$sendto =API_URL."sendmessage?chat_id=".$chatID."&text=".$reply;
file_get_contents($sendto);

// Create a debug log.txt to check the response/reply from Telegram in JSON format.
// You can disable it by commenting checkJSON.
checkJSON($chatID,$update);
function checkJSON($chatID,$update){

    $myFile = "log.txt";
    $updateArray = print_r($update,TRUE);
    $fh = fopen($myFile, 'a') or die("can't open file");
    fwrite($fh, $chatID ."nn");
    fwrite($fh, $updateArray."nn");
    fclose($fh);
}

ただし、メッセージを正しく受信していません。

4

1 に答える 1

0

確かではありませんが、これはあなたの場合かもしれません。

Telegram ChatBot でメッセージを送信する前に、リクエストのリッスンを開始する Webhook URLが正常に実行されていることを確認する必要があります。

URL : https://api.telegram.org/bot/setWebhook?url=https://mywebsite.com/path/to/filename.php

今のところ、ようやく、PHP を使用してテレグラム チャットボットのデモを作成することに成功しました。

于 2017-09-15T10:46:22.180 に答える