0

我想在 Telegram 中创建一个带有计算器的机器人,但我不知道如何保存来自用户消息的输入以保存在变量中。

我的想法是用户发送两个数字,机器人将两个数字相加并将结果发送给用户。

我正在使用的 API 就是这个。

4

1 回答 1

1

您可以使用register_next_step_handler.
示例 1:
https

://github.com/eternnoir/pyTelegramBotAPI/blob/master/examples/step_example.py 示例 2:

import telebot

bot = telebot.TeleBot("api") 

@bot.message_handler(content_types=['text'])
def welcome(pm):
    sent_msg = bot.send_message(pm.chat.id, "Welcome to bot. what's your name?")
    bot.register_next_step_handler(sent_msg, name_handler) #Next message will call the name_handler function
    
def name_handler(pm):
    name = pm.text
    sent_msg = bot.send_message(pm.chat.id, f"Your name is {name}. how old are you?")
    bot.register_next_step_handler(sent_msg, age_handler, name) #Next message will call the age_handler function

def age_handler(pm, name):
    age = pm.text
    bot.send_message(pm.chat.id, f"Your name is {name}, and your age is {age}.")

bot.polling()
于 2020-12-12T18:38:52.753 回答