PHP - Telegram Bot交互式查询



我试图从我的数据库查询一些数据。从数据库

中搜索数据有三个选项<
  1. 用户id/gh>
  2. 电话没有。
  3. <
  4. 电子邮件/gh>

我通过从上面的列表中选择一个搜索选项创建了一个内联键盘聊天截图

我正在寻找一个解决方案如果我选择user_id,那么bot会要求我插入user_id。并且将接受唯一的user_id作为输入。否则,它将返回一个错误消息。

如果我选择邮件从内联键盘在那个时候,机器人将只接受电子邮件。在bot返回任何错误或成功之前,其他bot命令将不被接受。

我使用Laravel作为我的后台。

对于每个user_id,应该有一个称为state的列。当你收到任何消息时,你应该在回应之前检查state

那么,这是伪代码:

$Bot = new TelegramBot(getenv('BOT_TOKEN'));
function MessageHandler($message)
{
$state = DB::table('users')->row(['user_id' => $message->from->id])->column('state');
if ($state === false)
{
# Create new row for this user..
}
switch ($state)
{
case 'SEARCHING_BY_ID':
# Check if message is number
break;
case 'SEARCHING_BY_PHONE':
# Check if message is phone number
break;

case 'SEARCHING_BY_MAIL':
# Check if message is E-mail
break;
default:
# Now you should process by any command
break;
}
}
$Bot->OnMessage(MessageHandler);

相关内容

  • 没有找到相关文章

最新更新