我正在尝试为客户端注册创建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包括数据库和机器人令牌信息)
答案 0 :(得分:0)
正如我从您的问题中了解到的,这些提示可能对您有所帮助:
从电报(用户)发送的每条消息都有一个ID,告知哪个用户发送消息(==
chat_id
一个唯一的号码。)您的机器人应该记录消息并将消息的重要部分保存在数据库中。通过这种方式,您可以跟踪用户与机器人的对话,并且您可以识别机器人的哪个问题,用户的答案。如果您查找从电报传送的每个
Json
对象,您可以看到用户显示的数据电报。