【问题标题】:How can I input() using TeleBot?如何使用 TeleBot 输入()?
【发布时间】:2020-12-12 06:31:09
【问题描述】:

我想知道是否可以使用 TeleBot 依赖项制作 input()

例如控制台方式:

POL = float(input("Enter your POL: ))

有没有办法使用 Telebot,例如:

bot.send_message(message.chat.id, "Enter your POL")
## Get message.text into POL variable. 

【问题讨论】:

    标签: python python-3.x bots telegram-bot python-telegram-bot


    【解决方案1】:

    据我了解,没有直接的方法可以做到这一点,但您可以查看用户回复的消息

    replied_message = message.reply_to_message.message_id
    

    如果它与您发送的消息的 id 匹配,那么这将是对您的消息的回复。您可以从

    获取已发送消息的 id
    sent_message = bot.send_message(message.chat.id, "Enter your POL")
    sent_message_id = sent_message.message_id
    

    【讨论】:

    • 您能详细介绍一下吗?
    • 是的,当然。当用户回复消息时,作为参数传递给消息处理函数的消息对象将存储他们回复的消息的 id,因此您可以使用它来跟踪用户已回复的消息到。解决此问题的另一种方法是只记录您发送给用户的最后一条消息并匹配用户的下一个回复,在这种情况下,用户不必回复任何消息,这可能类似于输入()
    • 因此您可以创建一个消息处理程序,只查找具有与您的 sent_message_id 相同的 reply_to_message.message_id 属性的消息,或者在您的“输入您的 POL”消息之后捕获下一条消息的消息捕捉用户的输入
    猜你喜欢
    • 2022-01-17
    • 2020-04-23
    • 2022-12-23
    • 2022-10-18
    • 2021-12-09
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多