从电报机器人中获取注册数据

时间:2016-09-13 09:08:59

标签: php telegram-bot

我正在尝试为客户端注册创建Telegram API bot,因此我选择了'setWebHook'方法并编写了一些代码:

<?php

include("config.php");

$content = file_get_contents("php://input");
$update = json_decode($content, true);
$user_id = $update["message"]["chat"]["id"];

if( $update["message"]["text"] == "/start" OR $update["message"]["text"] == "/menu" ){
    $keyboard = array(    
        'keyboard' => array(
             array(" Register"," Login")    
             ),'one_time_keyboard'=>true,'resize_keyboard'=>true);  
    $replyKeyboard = json_encode($keyboard);

    $replyMessage = "Hello 
    Welcome to our bot ✋
    What do you want to do ?
    .
    ";
}

if( $update["message"]["text"] == " Register"){

     $replyMessage = "Please enter username :";
}

$url = $bot_url.'sendMessage';
$data = array('chat_id' => $user_id,'text' => $replyMessage,'parse_mode' => 'Markdown','reply_markup' => $replyKeyboard );
    $options = array(
            'http' => array(
                'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
                'method'  => 'POST',
                'content' => http_build_query($data),
            )
        );
$context  = stream_context_create($options);
$update = @file_get_contents($url, false, $context);

?>

好的,机器人会显示注册或登录的选项,当您选择注册时,它会询问您的用户名。这可以,但是,

我必须为其余的注册过程做些什么?

我应该如何获取用户名并将其存储在数据库中,之后获取密码并存储它以及其他信息?

我很欣赏通过电报机器人注册的任何合理方式。

我希望我能完整地描述我的问题,我需要你帮助我的朋友。 谢谢

(config.php包括数据库和机器人令牌信息)

1 个答案:

答案 0 :(得分:0)

正如我从您的问题中了解到的,这些提示可能对您有所帮助:

  

从电报(用户)发送的每条消息都有一个ID,告知哪个用户发送消息(== chat_id一个唯一的号码。)

     

您的机器人应该记录消息并将消息的重要部分保存在数据库中。通过这种方式,您可以跟踪用户与机器人的对话,并且您可以识别机器人的哪个问题,用户的答案。如果您查找从电报传送的每个Json对象,您可以看到用户显示的数据电报。