我正在构建一个电报机器人,我试图让用户填写有关事件的详细信息并将它们存储在本身在列表中的字典中。
但是我希望它是链接对话。我希望它看起来像:
用户:/创建
bot-reply:你想怎么称呼它?
用户回复:克里斯的生日
机器人回复:什么时候?
用户回复:2021 年 8 月 11 日
bot-reply: 2021 年 8 月 11 日事件 Chris 生日已保存!
为此,我计划使用文档中所述的ForceReply
如果您想在不牺牲隐私模式的情况下创建用户友好的分步界面,这将非常有用。
问题是文档似乎没有解释如何处理响应。
目前我的代码如下所示:
@app.on_message(filters.command('create'))
async def create_countdown(client, message):
global countdowns
countdown = {
'countdown_id': str(uuid4())[:8],
'countdown_owner_id': message.from_user.id,
'countdown_onwner_username': message.from_user.username,
}
try:
await message.reply('What do you want to name the countdown?',
reply_markup=ForceReply()
)
except FloodWait as e:
await asyncio.sleep(e.x)
通过查看表单,我发现了这样的选项: python telegram bot ForceReply 回调 ,这正是我正在寻找的,但他们使用不同的库,如 python-telegram-bot,允许他们使用 ConversationHandler。它似乎不是热解图的一部分
如何使用热解图创建用户友好的分步界面?