笔记:Telegram - 禁止转发特定频道机器人

本文最后更新于:2020-02-27

刷屏禁止~


刷屏好烦

群里总有从其他频道转发消息的,一条消息就能占一屏,转发还勤快,刷屏太多,不胜其烦
看了看转发的消息,大部分就是那两三个账户在转发,转的也都是一两个频道的信息,大概率是机器人

解决办法:账号和频道,总得ban一个

本着不怕麻烦的原则,我选择折腾一个telegram机器人,删除转发特定频道的消息

找轮子

先在google上搜,找半天没找到
后来才想起来,直接去github搜,找到一个 Tooruchan / Anti-Forward-Bot

作者很贴心,给了使用方法
只是说明书寥寥数语,对我这个小白还是有点难,经过一点钻研,总算部署完成

以下是部署过程

过程

申请机器人

在tg私聊 @BotFather,申请一个机器人
按照提示,一步步输入信息就可以了,最后会得到一个token(这个和密码一样重要,不能外传)
在群组里使用机器人,需要关闭隐私模式,github页面有方法

申请app

(我不清楚这个是干嘛用的,照做

Telegram - API Settings 申请一个application
有一个表单,里面的 URLplatform 不知道是什么意思,随便填了
填好之后可以看到 API HashAPI ID

部署服务

Tooruchan / Anti-Forward-Bot
按照这个部署

  • pip3 install -U pyrogram tgcrypto
    安装这个telegram出品(不知道是做什么的)框架

  • git clone https://github.com/Tooruchan/Anti-Forward-Bot.git
    clone这个Anti-Forward-Botcd进文件夹

  • vim config.json
    修改配置文件,把前面申请的bot Token API Hash API ID填进去

  • vim channels.json
    在网上看了几个获取channel id的办法,不是很好用
    最后在调试阶段发现一个方法:

    • python3 bot.py运行服务(Pyrogram教程 Get Pyrogram Real Fast
    • 在tg拉一个小群,把机器人加进去
    • 把想要屏蔽的频道消息转发进群
    • 服务端命令行收到消息进行解析,其中有一个forward_from_chat字段
      1
      2
      3
      4
      5
      6
      7
      8
      9
      "forward_from_chat": {
      "_": "pyrogram.Chat",
      "id": -1001232395606,
      "type": "channel",
      "is_verified": false,
      "is_restricted": false,
      "is_scam": false,
      ...
      }
    • "id": -1001232395606 就是 channel id,填入配置文件
后台运行

screen -dmS anti_forward_bot python3 bot.py
测试没问题,后台运行进程


技术力过低,中间踩了一些坑,好在最后搭建成功
赞~


screen常用命令

最近用了几次screen后台运行进程
简单记一下命令,方便以后查找

1
2
3
screen -ls
screen -r process_id
screen -dmS session_name command

参考资料: How To Use Linux Screen