介绍
RustRssBot 是基于 Rust 语言的用于实现 RSS 订阅功能的 Telegram Bot,你可以通过 @rustrssbot 在 Telegram 中找到它。
本文仅对 RustRssBot 所需服务端(你的 VPS 上)进行介绍,至于客户端(Telegram Bot)部分请自行解决。
修改
原项目的 RSS 更新频率是每 5 分钟获取一次,这个频率实在有点高了。所以我的 修改版本 将频率修改为 2h /次。你也可以通过 @mogic_rust_bot 找到我修改后的 bot。
先 clone 源码下来:
git clone https://github.com/iovxw/rssbot.git
然后打开 src/main.rs
,在该文件中找到这段代码:
fn main() { let args: Vec<String> = std::env::args().collect(); if args.len() < 3 { eprintln!("usage: {} $DATAFILE-name $TELEGRAM-BOT-TOKEN", args[0]); std::process::exit(1); } let datafile = &args[1]; let token = &args[2]; let period = args.get(3) .map(|s| { s.parse().unwrap_or_else(|_| { eprintln!("period must be unsigned"); std::process::exit(1); }) }) .unwrap_or(300);
其中 .unwrap_or(300);
这行就表示 每 300 秒更新一次
,这就是我要修改的更新频率。
我把频率修改为 2h /次,那就是 7200 秒
.unwrap_or(7200);
编译
那么接下来就是编译了,这部分在我的 readme 里也有过说明。
# clone source git clone https://github.com/nanqinlang-mogic/RustRssBot.git # Rust & Cargo environment curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly source $HOME/.cargo/env # dependences apt-get install -y openssl libssl-dev pkg-config # then start compile it cd source cargo build --release
编译成功的话,编译完成后的可执行文件 rssbot
会被发送到 /target/release/rssbot
路径。之后你把这个文件保存下来,不需要每次都再编译了。
使用
在上文已提到,建立一个 bot 是需要同时有服务端和客户端的。
服务端
服务端的运行方式和原项目相同:
wget https://github.com/nanqinlang-mogic/RustRssBot/releases/download/1.1/rssbot chmod +x rssbot nohup ./rssbot datafile ${TELEGRAM-BOT-TOKEN} &
昨晚新增了一个 脚本 来实现服务端的安装。
客户端
和原项目的 directive 有点不同,我的 bot 是这样用的:
command | function | parameter |
---|---|---|
list | show subscribe list | /list (${Channel-Username}) (display-url) |
subscribe | subscribe one | /subscribe (${Channel-Username}) ${rss-url} |
unsubscribe | unsubscribe one | /unsubscribe (${Channel-Username}) ${rss-url} |
转载请注明:逗比根据地 » RustRssBot – Telegram RSS Bot