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)
    

就这些了!