我在Telebot中开发的机器人无法在小组中工作,它应该能够发现“坏词”并删除消息,但无法工作。
我试图使它在私人信使上工作
预期:从列表中删除包含单词的邮件,然后回复邮件。
结果:仅在不属于:(
组的私人消息中这样做
import telebot
import time
bot_token = 'TOKEN'
bot = telebot.TeleBot(token=bot_token)
bw = ['poop']
def has_curse(msgr):
b = False
for i in range(len(bw)):
if bw[i] in msgr:
b = True
break
return b
@bot.message_handler(func = lambda msg: msg.text is not None)
def at_answer(message):
if has_curse(message.text):
bot.reply_to(message,'your message has been deleted')
bot.delete_message(message.chat.id, message.message_id)
while True:
try:
bot.polling()
except Exception:
time.sleep(15)
答案 0 :(得分:0)
默认情况下,机器人在privacy mode中运行。如文档所述
以隐私模式运行的漫游器不会收到所有 人们发送到该组。相反,它将仅接收:
- 以斜杠“ /”开头的邮件
- 回复机器人自己的消息
- 服务消息(添加或删除群组的人等)
- 来自其成员渠道的消息
因此,如果您的漫游器根本没有收到更新,这就是原因。
由于您的漫游器应扫描组中发送的每条消息,因此使其起作用的唯一方法是关闭隐私模式。