PolicrBot 是老王之前发现的一个非常好用的 Telegram 群审核机器人,进群验证有效的阻止了各种垃圾广告信息,还支持自定义欢迎信息、删除系统消息等,可以说需要的它都有。可惜后来官方下线了审核机器人,今天在网友 @Philippe 的指导下自己部署了一个 PolicrBot,这里分享下部署方法。
一、PolicrBot 介绍
项目地址:https://github.com/Hentioe/policr
PolicrBot 就是一个用于 Telegram 群审核的机器人,不同于 QQ 或者微信,Telegram 的广告机器人实在是太多,群里可能没几个人说话,但是发广告的一堆,所以找一个好用的审核机器人就显得比较重要。而 PolicrBot 的审核功能和定制功能是我比较看好的,也是我需要的。
1、构成审核的四大子功能
- 新入群用户验证(支持六种方式)
- 封杀清真名称和发表清真消息的用户
- 自动限制普通成员新拉入的机器人
- 黑名单系统:举报、投票、预先封禁和申诉
2、强大的定制功能
- 定制审核子功能启用状态
- 定制周边功能启用状态
- 定制各种痕迹消息的删除以及延迟时间
- 定制验证方式
- 自定义验证问题
- 定制验证提示模板
- 定制验证倒计时时长
- 定制删除服务消息的类型
二、准备工作
为了私有化 PolicrBot,我们需要准备的包括:
- Bot
- 1 个群组,2 个频道(用于 Bot 交流和证据存放)
- 一台 VPS(运行 Bot)
Bot 就是通过 BotFather 创建,这个什么好说的,之前在《Telegram 搭建私聊机器人教程(转发私聊信息 + 保护隐私)》也介绍过怎么创建 Telegram 机器人。
群组和频道你只需要把机器人拉进去创建即可,目前老王没看到有啥用,但是配置文件里需要,创 3 个新的留着吧。
VPS 就直接找国外 VPS 即可,老王这里用的是搬瓦工 VPS 的最便宜的年付 49.99 美元,如果你没有 VPS 也可以直接考虑搬瓦工:搬瓦工。这里不能选择国内 VPS,因为连不上 Telegram 服务器(我猜机器人或多或少要连接 Telegram 服务器的)。
三、安装 Docker
我是直接用的 Docker 官方提供的一键安装脚本,两行命令:
curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh
如果你以前 VPS 上有 Docker,那么可以根据 Docker 官方的文档先卸载,再安装:Get Docker。
四、安装 docker-compose
我是直接 apt 安装的
apt-get update && apt-get install docker-compose
五、部署 PolicrBot
1、拉取 PolicrBot Docker 镜像
docker pull bluerain/policr
2、新建 PolicrBot 工作目录
新建一个文件夹即可,例如本文的工作目录在 /root/policr
,之后的所有操作均在该工作目录下进行。
3、新建 db 文件
PolicrBot 的数据结构在 https://raw.githubusercontent.com/Hentioe/policr/master/db/structure.sql,直接用 sqlite3 新建 db:
sqlite3 prod.db < structure.sql
4、修改 yml 文件
PolicrBot 的默认 yml 文件在 https://raw.githubusercontent.com/Hentioe/policr/master/docker-compose.yml,下载下来后我们需要配置自己的机器人 API TOKEN、2 个 Channel 和 1 个 group,以及自己的 Telegram 账号 ID。并且在最后一行加上 volumes,修改后的配置文件如下:
修改了 ports、environments,创建了 volumes。
其中 environments 的 BOT_USERNAME 填以 bot 为结尾的那个名字(不是昵称),OWNER_ID 是你自己的 ID,可以在 Telegram 中用 @Sean_Bot 看到自己的 ID,COMMUNITY_GROUP_ID 也是 ID,可以将 @groupinfobot 添加到你的 group 中知道群组 ID,剩下的 CHANNEL 就是正常的邀请链接的名字了。
5、启动 PolicrBot
万事俱备,直接启动:
docker-compose up -d
以上就是整个 PolicrBot Telegram 审核机器人的私有化部署教程了,老王自己其实不是很懂 Docker,但是也是部署成功了,还算比较简单的。之后就是私聊自己的 bot,将其邀请到群组中,进行相关配置就可以了。
六、其他分享
如果你搭建机器人有问题,那么可以用 docker-compose logs
查看日志。
最后,再分享下 PolicrBot 的 commands 命令,我看不少人是需要的(就是对话机器人时,输入 / 后的选项提示,可以在 BotFather 那里设置):
ping – 存活测试
from – 设置来源调查
welcome – 设置欢迎消息
custom – 定制验证方式
torture_time – 更新验证时间
settings – 综合设置
report – 举报(回复目标消息)
clean_mode – 干净模式设定
subfunctions – 定制审核子功能
strick_mode – 严格模式设定
language – 切换工作语言
anti_service_msg – 删除服务消息
appeal – 申诉解除黑名单(私聊)
template – 定制验证提示