前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >E5sub续订机器人SQLite版

E5sub续订机器人SQLite版

作者头像
雨落凋殇
修改2021-01-04 16:57:44
1.6K0
修改2021-01-04 16:57:44
举报
文章被收录于专栏:雨落凋殇

简介

E5SubBot是一款用于E5续订的Bot软件,由于该项目使用的是MYSQL数据库,小内存服务器安装MYSQL显然不现实,唯一的选择只能是使用远程MYSQL,连接其他服务器上的数据库。基于此我对该软件(iyear/E5SubBot)进行简单的修改,替换E5SubBot中的mysql驱动github.com/go-sql-driver/mysqlgithub.com/mattn/go-sqlite3,并命名为E5SubBot For SQLite。同时在E5SubBot项目的基础上,使用gettext-go库将语言分离,实现语言国际化。目前E5SubBot For SQLite项目releases中提供的可执行二进制文件均由xgo工具CGO交叉编译而来。

目前该项目中只提供简体中文和英文两种语言,如果需要其他语言可以修改language.go中的json文本添加新的语言对应的翻译,然后进行编译即可。若服务器内存足够建议安装docker版本,能够免去大部分繁琐的操作。

部署

  • 在Docker上部署E5SubBot For SQLite
代码语言:javascript
复制
# 创建用于存放数据的文件夹
mkdir /opt/e5sub
# (重要)创建数据库文件
touch /opt/e5sub/e5sub.db
# 下载配置文件
wget --no-check-certificate -O /opt/e5sub/config.yml https://raw.githubusercontent.com/rainerosion/E5SubBotForSQLite/master/config.yml.example
# 修改配置文件中的信息
vim /opt/e5sub/config.yml
# 在docker中启动运行
docker run -d -v /opt/e5sub/config.yml:/root/config.yml -v /opt/e5sub/e5sub.db:/root/e5sub.db --restart=always --name e5bot rainerosion/e5subbot-sqlite
# 启动后你可以通过下面的命令查看启动情况
docker logs e5bot -f
  • 以Systemd守护进程方式部署
  1. 下载必须的文件和配置并解压。
代码语言:javascript
复制
wget https://github.com/rainerosion/E5SubBotForSQLite/releases/download/0.2.2/E5SubBot-linux-amd64.tar.gz
# 解压文件
tar xvjf E5SubBot_linux_x64.tar.gz
# 创建文件夹
mkdir /opt/e5sub
# 移动文件
mv ./E5SubBot /opt/e5sub/E5SubBot
# 添加执行权限
chmod a+x /opt/e5sub/E5SubBot
# 编辑配置文件(文件内容请阅读部署配置)
vim /opt/e5sub/config.yml
  1. 编辑单元文件文件vim /etc/systemd/system/e5sub.service
代码语言:javascript
复制
[Unit]
Description=Telegram E5Sub Bot

[Service]
Type=simple
WorkingDirectory=/opt/e5sub
ExecStart=/opt/e5sub/E5SubBot
Restart=always
RestartSec=30

[Install]
WantedBy=multi-user.target
  1. 重载配置并启动服务
代码语言:javascript
复制
# 重载配置文件
systemctl daemon-reload
# 开机自启
systemctl enable e5sub
# 启动服务
systemctl start e5sub
  • 自行编译可执行二进制文件
  1. 下载项目源代码
代码语言:javascript
复制
git clone https://github.com/rainerosion/E5SubBotForSQLite.git
  1. 编译(需要安装golang环境)
代码语言:javascript
复制
# Linux
CGO_ENABLED=1 go build

# 若以上命令在windows报错请使用下面的方式编译
go env -w CGO_ENABLED=1
go build

配置文件

在同目录下创建config.yml,编码为UTF-8。其中dbfilelang是SQLite版本中新增的配置项。lang只在v0.2.2中有效。

配置模板:

代码语言:javascript
复制
bot_token: YOUR_BOT_TOKEN
socks5: 127.0.0.1:1080
notice: "第一行\n第二行"
admin: 66666,77777,88888
errlimit: 5
cron: "1 */3 * * *"
bindmax: 3
dbfile: "e5sub.db"
lang: zh_CN

bindmax,notice,admin,errlimit可热更新,直接更新config.yml保存即可

配置项

说明

bot_token

更换为自己的BotToken

socks5

Socks5代理,不需要删去即可.例如:127.0.0.1:1080

notice

公告.合并至/help

admin

管理员tgid,前往 https://t.me/userinfobot 获取,用,隔开;管理员权限: 手动调用任务,获得任务总反馈

errlimit

单账户最大出错次数,满后自动解绑单账户并发送通知,不限制错误次数将值改为负数(-1)即可;bot重启后会清零所有错误次数

cron

API调用频率,使用cron表达式

bindmax

最大可绑定数

dbfile

sqlite数据库文件名

lang

简体中文(默认):zh_CN English:en_US

结语

在上述的一切就绪后,你就可以进入Telegram中与你搭建的Bot聊天,绑定帐号你的E5帐号,开始续订之旅。续订是个玄学问题,不一定成功,建议配合OneIndex一起使用。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年01月01日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 部署
  • 配置文件
  • 结语
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档