我试图编写一个使用regex处理消息的bot,这是我的代码
import telebot
API_KEY = "[my_key]"
bot = telebot.TeleBot(API_KEY)
@bot.message_handler(regexp="fizz")
def msg_func(message):
bot.reply_to(message,"buzz")
bot.polling()
当我私下和机器人聊天时,我得到了正确的回应。
> my name is fizz
Bot:> buzz
但是,当我将bot添加到电报组时,bot只处理命令。
Me: > my name is fizz
Bot: > [no response]
Me: /fizz
Bot: > buzz
有人知道它为什么会这样吗?我怎么才能修好它?
发布于 2022-08-20 08:22:06
1.更改隐私设置
这与群聊的隐私设置有关。您需要谈谈BotFather,并为您的机器人更改隐私设置。
/setprivacy
在此之后,您应该从BotFather收到一条消息,该消息返回隐私设置的新状态。这将允许您读取发送的所有组邮件。包括那些在一开始没有/
的人,比如/fizz
。
2.让你的机器人组管理。
让你的机器人管理员在电报组将允许访问所有的组消息,类似于更改的隐私设置。然而,这个解决方案要求您的机器人在每个电报组的管理员,以正常工作。
https://stackoverflow.com/questions/73426780
复制