我正在使用TeleBot创建一个简单的机器人.Start Func为用户提供两个按钮(货币/天气).我预计当按下一个按钮时,机器人会移动到"go 哪里"的功能.只有当我按两次按钮或发送其他任何第二条消息时,才会出现这种情况.然后"Where_to_go"函数读取第一条消息.所以它是有效的,但为什么我要再发送一条消息来推动它呢?我怎么才能修好它呢?
以下是代码:
@bot.message_handler(commands = ['start','main'])
def start(message):
markup = types.ReplyKeyboardMarkup()
btn1 = types.KeyboardButton('Currency Calc')
markup.row(btn1)
btn2 = types.KeyboardButton('Weather Today')
markup.row(btn2)
file = open('./Start Photo.png', 'rb')
bot.send_photo(message.chat.id, file, reply_markup=markup)
bot.send_message(message.chat.id,
f"Good night, {message.from_user.first_name} {message.from_user.last_name} 💋. \n")
bot.send_message(message.chat.id, f"I'm PogodiPogoda Bot. Choose a button or just talk to me.", reply_markup=markup)
bot.register_next_step_handler(message, where_to_go)
def where_to_go(message):
if message.text == 'Currency Calc':
bot.register_next_step_handler(message, converter)
elif message.text == 'Weather Today':
bot.register_next_step_handler(message, city)
当他执行以下步骤(从"WHERE_TO_GO"到函数"Converter"或"City")时,机器人工作得很好.