如何从有关特定消息的回复中获取信息-Telegram Bot

发布于 2025-01-21 14:44:47 字数 945 浏览 0 评论 0原文

假设我有此命令处理程序:

@bot.message_handler(commands=['setalarm'])
def setalarmcmd(message):
    alarmMessage = "Let's start with setting up alarm.\n\n" \
                   "First of all, provide the pair you want to observe."
    bot.send_message(message.chat.id, alarmMessage)

当用户单击/setAlarm命令并在此消息上回复时,我想设置一些操作。

实际上,我知道该怎么做,但是我已经对提供的文本进行处理:

@bot.message_handler(content_types=['text'])
def getpairfuncmessage(message):
    userMessage = message.text.strip().upper()
    pair = getPairApi(userMessage)
    if not pair:
        return bot.send_message(message.chat.id, "Nah, not that, try something else.")

    pairResult = printPairResult(pair)

    bot.send_message(message.chat.id, pairResult, parse_mode='html')

这就是问题所在。通过提供消息,用户可以触发此操作,但是我想在/setAlarm命令之后设置另一个操作。这可能吗?

Let's say I have this command handler:

@bot.message_handler(commands=['setalarm'])
def setalarmcmd(message):
    alarmMessage = "Let's start with setting up alarm.\n\n" \
                   "First of all, provide the pair you want to observe."
    bot.send_message(message.chat.id, alarmMessage)

I want to set some action when user click /setalarm command and replies on this message.

Actually, I know how to do that, but I already have handler on provided text:

@bot.message_handler(content_types=['text'])
def getpairfuncmessage(message):
    userMessage = message.text.strip().upper()
    pair = getPairApi(userMessage)
    if not pair:
        return bot.send_message(message.chat.id, "Nah, not that, try something else.")

    pairResult = printPairResult(pair)

    bot.send_message(message.chat.id, pairResult, parse_mode='html')

And that's the problem. By providing message, user triggers this action, but I want to set another one, after /setalarm command. Is this possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑着哭最痛 2025-01-28 14:44:47

您可以做到这一点:

@bot.message_handler(commands=['setalarm'])
def setalarmcmd(message):
    alarmMessage = "Let's start with setting up alarm.\n\n" \
                   "First of all, provide the pair you want to observe."
    msg = bot.send_message(message.chat.id, alarmMessage)
    bot.register_next_step_handler(msg, setalarmcryptopair)


def setalarmcryptopair(pair):
    print(pair.text)

使用send_messageregister_next_step_handler转到下一个功能。

Here is how you can do this:

@bot.message_handler(commands=['setalarm'])
def setalarmcmd(message):
    alarmMessage = "Let's start with setting up alarm.\n\n" \
                   "First of all, provide the pair you want to observe."
    msg = bot.send_message(message.chat.id, alarmMessage)
    bot.register_next_step_handler(msg, setalarmcryptopair)


def setalarmcryptopair(pair):
    print(pair.text)

Using send_message and register_next_step_handler to go to next function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文