amtoaer / bing-bong

bing bong是一个用于支持RSS订阅的QQ(?)机器人
GNU Affero General Public License v3.0
13 stars 2 forks source link
bot cqhttp feed qq rss zerobot

- BING BONG -

A QQ(?) bot for rss subscription.

介绍

bing-bong 是一个用于订阅 rss 的 QQ(?)机器人。理论上任何能够实现发送消息和监听事件的机器人框架都能够无缝接入它。

来源

这个项目主要来源自一个构想:整合 Linux 社群友的博客

开始的想法是做一个社团主页,从大家的博客拉取文章并汇总,但由于大家博客的框架五花八门,很难有一个通用的方式获取博客文章。想到“通用”,就不自觉联想到了 RSS,各个博客平台一般都提供了 RSS 订阅,所以干脆做个 RSS 订阅机器人放在群里,实时检测博客更新并推送消息就好了!于是——这个项目产生了。

配置

参考 config.yml 文件的内容修改配置并运行。

botType: "qq" # 机器人类型
qq:
  account: "123456" # QQ账号
  webSocket: "ws://127.0.0.1:6700/" #cq-http的正向ws地址
  accessToken: "123456" # cq-http的token
dbType: "sqlite" # 使用的数据库类型
mysql:
  dbAddress: "localhost:3306" # 数据库链接
  dbUser: "root" # 数据库账号
  dbPass: "root" # 数据库密码
  dbName: "bingbong" # 数据库名
sqlite:
  path: "./sqlite.db" # 数据库位置
proxy: "" # 请求rss地址时使用的 http 代理(例:http://localhost:7890,留空表示无代理)
checkTime: 5 # 检测rss订阅的时间间隔(单位分钟)
checkRange: 5 # 检测rss订阅的最大条数(程序会检测rss地址的前min(checkRange,len(feeds))条消息)

运行

前往release 页面下载预编译版本(仅linux_amd64)或自己编译该程序,将程序文件与配置文件放置在相同目录下,即可运行启动。

以下是针对特定客户端的说明:

开发

对于机器人适配者,可在 client 下创建对应机器人,实现该接口:

type robot interface {
    Init()
    SendMessage(int64, string, bool)
    HandleEvent(*message.MessageQueue)
}

关于机器人配置的注入方式,可参考 QQ 在main.go 中的实现。

对于其它开发者,可修改对应文件并提交 PR。