通过PMCaptcha解决Telegram私聊广告的痛病

Python
技之树 2022-8-17

2357 0

0. 痛点 ⚠️

Telegram中常常有各种各样的奇怪私聊,比如虚拟货币广告、 骗子信息等等。其中大部分都是机器人自动发送。其实可以通过添加一个简单的人机验证解决,将机器人排除在我的Telegram外。

1. 解决

1.1 你需要

  • 一个Telegram账号
  • 一台服务器(可以是vps,软路由等等,需要长期运作) 我购买的是CloudCone的虚拟主机,我购买的时候不到20刀一年很便宜,非广告,vultr、搬瓦工等也是很合适的云供应商选择。

1.2 设置方法

登陆这个网址

img

输入Telegram绑定的电话号码点击Next,将会在Telegram收到验证码,输入验证码即可登录。

此处的电话号码需要加上国际区号,例如电话号码为123456789,若是美国号码则输入: +1123456789 若是中国号码则输入: +86123456789

登陆后进入如下界面,点击API development tools

img

进入如下界面,随意填写点Create application创建应用。

img

如果此时报错,通过报错内容检查名称是否合法。如果只显示Error,切换科学上网节点再次尝试(最好换美区)

然后就进入这样一个界面:

img

复制App api_id和App api_hash秘密保存备用。

1.3 安装验证插件

验证插件名称为PMCaptcha,是TelegramBot应用PagerMaid其GitHub仓库:

https://github.com/TeamPGM/PagerMaid_Plugins_Pyro

先安装PagerMaid:

使用SSH或Mosh连接到你的服务器。

使用如下命令进行Docker安装(如未安装Docker请先安装Docker,可自行查询安装方法)

wget <https://raw.githubusercontent.com/TeamPGM/PagerMaid-Pyro/development/utils/docker.sh> -O docker.sh && chmod +x docker.sh && bash docker.sh

或使用手动安装,可查看文档这里不多赘述。

依照指令安装并配置后,即可打开Telegram。

尝试在收藏夹输入,help 记住前面有个逗号且为半角逗号(就是英文逗号)。如果得到以下提示说明安装成功了。

img

输入以下命令来安装验证插件。

apt install pmcaptcha

安装成功后,使用命令来查看插件使用方法:

pmcaptcha h

返回如下:

>>> pmcaptcha h

PMCaptcha 指令列表:

,pmcaptcha
· 查询当前用户的验证状态

,pmcaptcha version
· 查看 PMCaptcha 当前版本

,pmcaptcha help [command]
· 显示指令帮助信息,使用 ,{cmd_name} search [搜索内容] 进行文档、指令(和别名)搜索

,pmcaptcha check [id]
· 查询指定用户验证状态,对该信息回复或者输入用户 ID,如未指定为当前私聊用户 ID

,pmcaptcha add [id]
· 将 ID 加入已验证,对该信息回复或者输入用户 ID,如未指定为当前私聊用户 ID

,pmcaptcha delete [id]
· 移除 ID 验证记录,对该信息回复或者输入用户 ID,如未指定为当前私聊用户 ID

,pmcaptcha unstuck [id]
· 解除一个用户的验证状态,通常用于解除卡死的验证状态

,pmcaptcha welcome [message]
· 查看或设置验证通过时发送的消息

,pmcaptcha whitelist [array]
· 查看或设置关键词白名单列表(英文逗号分隔)

,pmcaptcha blacklist [array]
· 查看或设置关键词黑名单列表 (英文逗号分隔)

,pmcaptcha timeout [seconds]
· 查看或设置超时时间,默认为 30 秒、图像模式为 5 分钟

,pmcaptcha disable_pm [toggle]
· 启用 / 禁止陌生人私聊,默认为 关闭 (允许私聊)

,pmcaptcha stats [arg]
· 查看验证统计

,pmcaptcha action [action]
· 选择验证失败的处理方式,默认为 封禁

,pmcaptcha report [toggle]
· 选择验证失败后是否举报该用户,默认为 开启

,pmcaptcha premium [action]
· 选择对 Premium 用户的操作,默认为 不执行任何操作

,pmcaptcha groups_in_common [count]
· 设置是否对拥有一定数量的共同群的用户添加白名单

,pmcaptcha chat_history [count]
· 设置对拥有一定数量的聊天记录的用户添加白名单(触发验证的信息不计算在内)

,pmcaptcha initiative [toggle]
· 设置对主动进行对话的用户添加白名单,默认为 关闭

,pmcaptcha silent [toggle]
· 减少信息发送,默认为 关闭

,pmcaptcha flood [limit]
· 设置一分钟内超过 n 人开启轰炸检测机制,默认为 5 人

,pmcaptcha flood_username [toggle]
· 设置是否在轰炸时启用“转移用户名到临时频道”机制(如有用户名)

,pmcaptcha flood_act [action]
· 设置轰炸结束后进行的处理方式,默认为 删除并举报所有轰炸的用户

,pmcaptcha custom_rule <rule>
· 用户自定义过滤规则,规则返回True为白名单,否则继续执行下面的规则

,pmcaptcha collect_logs [toggle]
· 查看或设置是否允许 PMCaptcha 收集验证错误相关信息以帮助改进

,pmcaptcha change_type [type]
· 切换验证码类型,默认为 计算验证

,pmcaptcha show_settings
· 显示目前所有的设置

,pmcaptcha change_img_type [type]
· 切换图像辨识使用接口,默认为 funCaptcha

,pmcaptcha img_retry_chance [number]
· 图形验证码最大可重试次数,默认为 3

详细指令请输入 ,pmcaptcha h [指令名称 ]

优先级:
initiative > user_defined > flood > disable_pm > chat_history > groups_in_common > premium > whitelist > blacklist > captcha

遇到任何问题请先 ,apt update 、 ,restart 后复现再反馈
  捐赠网址 捐赠说明 (v2.2)

现在你的私聊验证已经开启了,效果如下

当有陌生人给你发送私聊信息的时候,就会收到这样的验证信息:

img

2. 提醒

人形bot有被封号的风险,另外被封号的一般是使用Google Voice注册的账号。

来源:知乎

这家伙太懒了,什么也没留下。
最新回复 (0)
    • YiOVE论坛
      2
         
返回