No Fraud / Node Forward Bot
一个基于 cloudflare worker 的 telegram 消息转发 bot,集成了反欺诈功能
- 基于cloudflare worker搭建,能够实现以下效果
- 搭建成本低,一个 js 文件即可完成搭建
- 不需要额外的域名,利用 worker 自带域名即可
- 基于 worker kv 实现永久数据储存
- 稳定,全球 cdn 转发
- 接入反欺诈系统,当聊天对象有诈骗历史时,自动发出提醒
- 支持屏蔽用户,避免被骚扰
- 从@BotFather获取token,并且可以发送
/setjoingroups
来禁止此Bot被添加到群组 - 从uuidgenerator获取一个随机uuid作为secret
- 从@username_to_id_bot获取你的用户id
- 登录cloudflare,创建一个worker
- 配置worker的变量
- 增加一个
ENV_BOT_TOKEN
变量,数值为从步骤1中获得的token - 增加一个
ENV_BOT_SECRET
变量,数值为从步骤2中获得的secret - 增加一个
ENV_ADMIN_UID
变量,数值为从步骤3中获得的用户id - 增加一个
ENV_START_MSG
变量,内容自定义,将会在用户发送/start
时发送 - 增加一个
ENV_ADMIN_START_MSG
变量,内容自定义,将会在管理员发送/start
时发送
- 增加一个
- 绑定kv数据库,创建一个Namespace Name为
nfd
的kv数据库,在setting -> variable中设置KV Namespace Bindings
:nfd -> nfd - 点击
Quick Edit
,复制这个文件到编辑器中 - 通过打开
https://xxx.workers.dev/registerWebhook
来注册websoket
- 当其他用户给bot发消息,会被转发到bot创建者
- 用户回复普通文字给转发的消息时,会回复到原消息发送者
- 用户回复
/block
,/unblock
,/checkblock
等命令会执行相关指令,不会回复到原消息发送者
/block [time] [reason]
- 屏蔽用户/unblock
- 解除屏蔽用户/checkblock
- 检查屏蔽状态/addadmin ID
- 添加管理员/deladmin ID
- 删除管理员/listadmin
- 列出管理员
- 文件fraud.db为欺诈数据,格式为每行一个uid
- 可以通过 pr 扩展本数据,也可以通过提 issue 方式补充
- 提供额外欺诈信息时,需要提供一定的消息出处