作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我真的一直拖着自己不在这里问这个问题,但在谷歌搜索之后我觉得这是必要的。所以:
我正在尝试构建一个与 Telegram 中的 Botfather 具有相似结构的机器人。我想为使用我的机器人的用户启用逐步配置。所以如果我问“你的电子邮件是什么?”我希望他们自然而然地能够回答这个问题,我会知道他们回答了什么问题。这就是问题所在,我似乎无法找到一个好的结构来了解他们回答了哪个问题以及触发什么。我扫描过的每个机器人中的所有文档都简单地使用了这样的结构:
if message.text == 'london'
bot.api.send_message(chat_id: message.chat.id, text: 'Correct!')
end
当我不知道用户会写什么,或者如果我对不同的问题重复接受的答案时,这不是很有用。我试过使用回复和 ForceReply 等,但这也会创建一个奇怪的结构,并且在提要中看起来不像自然消息那样干净。
简单地说:我如何知道消息是否与问题一起出现然后触发了某些事情?
很抱歉,我的问题有些非结构化,希望你们中的某个人能回答我的问题。
最佳答案
在我的机器人中,我在数据库中创建了一个“TelegramChat”记录,并在“AwaitingReplyTo”字段中存储了对“问题”的引用和一些相关信息(例如需要更新的帐户 ID)。
类似于:
def ask_question(question):
...
telegram_chat_record(chat_id).awaiting_reply_to = "question:" + question
telegram_chat_record.save_to_db()
...
def dispatcher(update):
telegram_chat_record = get_telegram_chat_record(update)
if telegram_chat_record.awaiting_reply_to == "question:What is your favorite city?":
check_reply_to_favorite_city(update)
...
关于ruby - Botfather 分步机器人( Telegram/ ruby ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36261496/
似乎有很多不同的自动化构建/部署方法,以至于很难解析人们在网络教程中支持的所有不同场景。所以我想向stackoverflow人群提出这个问题......使用以下配置设置自动构建和部署系统的最佳方法是什
我是一名优秀的程序员,十分优秀!