A telegram bot for rss reader. 一个支持应用内阅读的 Telegram RSS Bot。

特点

  • 支持Telegram应用内Instant View。
  • 默认10分钟抓取一次。
  • 支持为Group和Channel订阅RSS消息。

搭建

Github地址:https://github.com/indes/flowerss-bot

准备工作

  1. 一台云服务器,国内外均可。本文使用的是arukas
  2. CentOS 7 X64 环境
  3. XShell
  4. 自备科学XX工具
申请机器人

1、Telegram 内搜索 @BotFather 然后在聊天框内发送 /newbot
2、输入机器人名称,如图最后显示申请成功,以及Bot Token

3、输入 /mybots 可以查看管理机器人
机器人相关接口文档:https://core.telegram.org/bots/api

申请Telegraph Token
curl https://api.telegra.ph/createAccount?short_name=ensu&author_name=ensu&author_url=https://ensu.cc

返回的JSON中access_token字段值即为Telegraph Token

Docker安装

安装Docker
#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on

#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
运行镜像
docker run --restart=always --name flowerss -d -v /flowerssdata:/var/flowerss indes/flowerss-bot -b bot_token -t telegraph_token

Docker 默认使用 SQLite 数据库,且文件存放在/flowerssdata文件夹。

手动安装

安装golang

这里直接使用最新版的 go 二进制安装,不然后面编译会因版本问题出错。

wget https://dl.google.com/go/go1.12.6.linux-amd64.tar.gz
#解压
tar -C /usr/local -xzf go1.12.6.linux-amd64.tar.gz
#生效
echo 'export PATH=$PATH:/usr/local/go/bin' >>/etc/profile
source /etc/profile
安装依赖
#Debian、Ubuntu系统
apt install make gcc git -y

#CentOS系统
yum install make gcc git -y
运行机器人
#拉取源码
git clone https://github.com/indes/flowerss-bot
cd flowerss-bot
#编译
make build
#新建配置文件
nano config.yml

参数说明大致如下:

#Telegram Bot Token,必填
bot_token: XXX
#Telegraph Token,用于转存原文到Telegraph,也就是即时查看功能,选填    
telegraph_toke: xxxx
#用于国内等无法连接Telegram API的情况,国外忽略
socks5: 127.0.0.1:1080
#RSS源扫描间隔(分钟),选填
update_interval: 10
#使用Mysql数据库,默认使用SQLite
mysql:
  host: 123.123.123.123
  port: 3306
  user: ensu
  password: 123456
  database: ensu


##这里博主默认使用的SQLite,扫描间隔为5分钟,所以使用到的参数如下:
bot_token: XXX
telegraph_toke: xxxx
update_interval: 5
启动
./flowerss-bot &

使用

使用命令

/sub [url] 订阅(url 为可选)
/unsub [url] 取消订阅(url 为可选)
/list 查看当前订阅
/set 设置订阅
/help 帮助

Channel订阅使用方法:

1、将Bot添加为Channel管理员
2、发送相关命令给Bot

#Channel订阅支持的命令
/sub @ChannelID [url] 订阅
/unsub @ChannelID [url] 取消订阅
/list @ChannelID 查看当前订阅

ChannelID只有设置为Public Channel才有。如果是Private Channel,可以暂时设置为Public,订阅完成后改为Private,不影响Bot推送消息。

例如要给t.me/ensuBot频道订阅RSS更新:

1、将Bot添加到ensuBot频道管理员列表中
2、给Bot发送/sub @ensuBot https://ensu.cc/feed/ 命令





整理转载自:Rat's Blog

Last modification:July 7th, 2019 at 07:28 am
如果觉得我的文章对你有用,欢迎打赏!