0

我在电报中创建了新方法作为 webhook 并已注册,

我的方法:

// https://api.telegram.org/bot[token]/setWebhook?url=https://xxx/main/execute/
// https://telegram.me/TheXXXBot?start=project register
function execute(){
    // global telegram log file
    $logFile = config_item('data_folder').date('Ymd').'/TELEGRAM_['.TRACECODE.']_['.$userId.'].log';
    $this->CI->additional_function->create_path(config_item('data_folder').date('Ymd').'/');
    file_put_contents($logFile,"/* check telegram bot */\n",FILE_APPEND);

    $update = json_decode(file_get_contents("php://input"), TRUE);
    $response = 'empty';
    file_put_contents($logFile,sprintf("get post data  : %s\n",json_encode($update)),FILE_APPEND);

    if($update){

        $chat_id = $update["message"]["chat"]["id"];
        $message = $update["message"]["text"];
        $fName = $update["message"]["from"]["first_name"];
        $apiToken = "whoooshaaahhhhh";
        
        $data = [
            'chat_id'    => $chat_id,
            'text' => 'Salam Kenal',
            'parse_mode' => 'HTML'
        ];
        if(strpos($message, "/start") === 0) {
            $data['text']='Salam Kenal '.$fName.' !';
        }else if(strpos($message, "/register") === 0) {
            $partItem = explode(" ",$message);
            $email = $this->CI->additional_function->set_value($partItem,1);
            $data['text']=sprintf('email anda %s',$email);
        }else if(strpos($message, "/help") === 0) {
            $data['text']=sprintf('menu help disini');
        }else{
            $data['text']='tidak ada perintah '.$message;
        }

    }else{
        die('harus dari telegram');
    }
}

最后一个命令发送到当前机器人是 3 天前,但直到今天我仍然收到相同的消息,我与我的机器人进行了密切的聊天,但日志文件始终显示端点仍然使用相同的命令触发,包括 /start 和/register 命令每隔大约 1 分钟在类似的时间被捕获。

4

1 回答 1

0

发生这种情况是因为我使用的是 php 框架,因为我将其移至 single.php,然后一切正常。

于 2020-12-22T03:33:54.167 回答