0 痛点 ⚠️
Telegram中常常有各种各样的奇怪私聊,比如虚拟货币广告、 骗子信息等等。其中大部分都是机器人自动发送。其实可以通过添加一个简单的人机验证解决,将机器人排除在我的Telegram外。
1 解决
01 你需要
- 一个Telegram账号
- 一台服务器(可以是vps,软路由等等,需要长期运作)
我购买的是RackNerd的VPS,我购买的时候不到10刀一年很便宜,非广告,vultr、搬瓦工等也是很合适的云供应商选择。
02 设置方法
登陆这个网址
输入Telegram绑定的电话号码点击Next,将会在Telegram收到验证码,输入验证码即可登录。
此处的电话号码需要加上国际区号,例如电话号码为123456789,若是美国号码则输入: +1123456789 若是中国号码则输入: +86123456789
登陆后进入如下界面,点击API development tools
。
进入如下界面,随意填写点Create application
创建应用。
如果此时报错,通过报错内容检查名称是否合法。如果只显示Error,切换IP地址再次尝试(最好换美区)
然后就进入这样一个界面:
002 安装验证插件
验证插件名称为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
docker安装PagerMaid
输入1安装PagerMaid
输入docker容器的名字
只要不重名,随便输一个就行
输入刚才申请的api_id 和 api_hash后按回车
在启用日志记录的地方输入n按回车
进入容器后需要输入完整手机号后输入验证码登录
登录完成后按Ctrl+P后按Ctrl+Q退出docker容器
或使用手动安装,可查看文档这里不多赘述。
依照指令安装并配置后,即可打开Telegram。
尝试在收藏夹输入,help
记住前面有个逗号且为半角逗号(就是英文逗号)。如果得到以下提示说明安装成功了。
输入以下命令来安装验证插件。
,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)
现在你的私聊验证已经开启了,效果如下
当有陌生人给你发送私聊信息的时候,就会收到这样的验证信息: