用telebot开发的bot可以在私人机构中使用,但不能在团体中使用

时间:2019-04-28 13:57:50

标签: python telegram telegram-bot

我在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)

1 个答案:

答案 0 :(得分:0)

默认情况下,机器人在privacy mode中运行。如文档所述

  

以隐私模式运行的漫游器不会收到所有   人们发送到该组。相反,它将仅接收:

     
      
  • 以斜杠“ /”开头的邮件
  •   
  • 回复机器人自己的消息
  •   
  • 服务消息(添加或删除群组的人等)
  •   
  • 来自其成员渠道的消息
  •   

因此,如果您的漫游器根本没有收到更新,这就是原因。

由于您的漫游器应扫描组中发送的每条消息,因此使其起作用的唯一方法是关闭隐私模式。