Skip to content

xireiki/nfd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NFD

No Fraud / Node Forward Bot

一个基于 cloudflare worker 的 telegram 消息转发 bot,集成了反欺诈功能

特点

  • 基于cloudflare worker搭建,能够实现以下效果
    • 搭建成本低,一个 js 文件即可完成搭建
    • 不需要额外的域名,利用 worker 自带域名即可
    • 基于 worker kv 实现永久数据储存
    • 稳定,全球 cdn 转发
  • 接入反欺诈系统,当聊天对象有诈骗历史时,自动发出提醒
  • 支持屏蔽用户,避免被骚扰

搭建方法

  1. @BotFather获取token,并且可以发送/setjoingroups来禁止此Bot被添加到群组
  2. uuidgenerator获取一个随机uuid作为secret
  3. @username_to_id_bot获取你的用户id
  4. 登录cloudflare,创建一个worker
  5. 配置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 时发送
  6. 绑定kv数据库,创建一个Namespace Name为nfd的kv数据库,在setting -> variable中设置KV Namespace Bindings:nfd -> nfd
  7. 点击Quick Edit,复制这个文件到编辑器中
  8. 通过打开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 方式补充
  • 提供额外欺诈信息时,需要提供一定的消息出处

Thanks

About

No Fraud / Node Forward Bot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%