telebot:如何在这里输入按摩?
telebot: How to take a massage in input here?
我不知道如何在这里输入消息?
@bot.message_handler(commands=['tts'])
def send_text_request(message):
bot.reply_to(message, "Write a phrase")
#input...
您可以通过两种不同的方式管理它:
使用 custom_state,这是最近发布的一项新功能。
在 tts
命令后,您可以将用户状态设置为 1,使用:
bot.set_state(message.from_user.id, '1')
并创建一个新的处理程序:
@bot.message_handler(state = '1'):
def new_function(message):
....
在代码末尾添加:
from telebot import custom_filters
bot.add_custom_filter(custom_filters.StateFilter(bot))
来源:https://github.com/eternnoir/pyTelegramBotAPI/blob/master/examples/custom_states.py
另一种方法是使用register_next_step_handler,但老实说我只用了一次,然后我定义了我的个人状态,因为它很乱。但无论如何我都会向你介绍它。
定义一个新函数来处理用户的输入,所以:
def function(message):
....
使用以下内容更改您已经编写的代码:
@bot.message_handler(commands=['tts'])
def send_text_request(message):
msg = bot.reply_to(message, "Write a phrase")
bot.register_next_step_handler(msg, function)
就这些了!
我不知道如何在这里输入消息?
@bot.message_handler(commands=['tts'])
def send_text_request(message):
bot.reply_to(message, "Write a phrase")
#input...
您可以通过两种不同的方式管理它:
使用 custom_state,这是最近发布的一项新功能。 在
tts
命令后,您可以将用户状态设置为 1,使用:bot.set_state(message.from_user.id, '1')
并创建一个新的处理程序:
@bot.message_handler(state = '1'): def new_function(message): ....
在代码末尾添加:
from telebot import custom_filters bot.add_custom_filter(custom_filters.StateFilter(bot))
来源:https://github.com/eternnoir/pyTelegramBotAPI/blob/master/examples/custom_states.py
另一种方法是使用register_next_step_handler,但老实说我只用了一次,然后我定义了我的个人状态,因为它很乱。但无论如何我都会向你介绍它。 定义一个新函数来处理用户的输入,所以:
def function(message): ....
使用以下内容更改您已经编写的代码:
@bot.message_handler(commands=['tts']) def send_text_request(message): msg = bot.reply_to(message, "Write a phrase") bot.register_next_step_handler(msg, function)
就这些了!