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

How to get info from reply on specific message - Telegram Bot

假设我有这个命令处理程序:

@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 命令之后设置另一个。这可能吗?

以下是您可以执行此操作的方法:

@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 转到下一个功能。