我想为月薪制作电报Bot。 用户发送用户名,然后发送密码。 机器人发送工资信息。 的问题是在这里,用户发送工资的命令, 我想送如何等待用户答案并保留选择的答案
bot: user name
user: tiger
bot: password
user: 985468
我有问题等待用户,并保持了第一条消息(用户名)。
我想为月薪制作电报Bot。 用户发送用户名,然后发送密码。 机器人发送工资信息。 的问题是在这里,用户发送工资的命令, 我想送如何等待用户答案并保留选择的答案
bot: user name
user: tiger
bot: password
user: 985468
我有问题等待用户,并保持了第一条消息(用户名)。
电报API不允许你这样做。 虽然你可以用几种方法做到这一点。
现在有什么对用户更好?
什么对你更好?
我会说你最好使用回复黑客,所以你不需要一个数据库来存储每个用户的聊天状态。你可以使用force_reply参数来让用户更清楚。
我会推荐使用内联键盘时,因为他们使事情更容易使用callback_data。例如你向用户要求年龄,你可以用80个按钮回复(100是限制),他可以按正确的年龄。这更好,因为当用户写文本而不是数字时(例如他写ten
而不是10
),您不必担心奇怪的情况,而且您不需要检查数据库状态或检查回复。你只需检查callback_data。一个想法是,每个按钮都可以有一个以“age_ {年龄选项}”开头的callback_data,并且您可以处理callback_data,从age_开始,只接受最后一部分。你不需要检查答复,你不需要处理奇怪的情况,当用户发送错误的格式,你只需要处理回调
在DataBase中保存User Action Step
和User Input Data
。 并在每收到邮件检查User Action Step
做正确的工作。
您可以发送Hi Sean, please enter your password
与ForceReply,并阅读.message.reply_to_message.text
字段。
我认为这是解决此问题的唯一方法,但我建议您使用自己的数据库,如其他答案。
首先我应该得到用户名和密码 – Morteza
保持您的用户记录数据在数据库,文件或更好的解决方案:redis。 – tashakori