首页
学习
活动
专区
工具
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
# 创建用于存放数据的文件夹
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. 下载必须的文件和配置并解压。
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
[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. 重载配置并启动服务
# 重载配置文件
systemctl daemon-reload
# 开机自启
systemctl enable e5sub
# 启动服务
systemctl start e5sub
  • 自行编译可执行二进制文件
  1. 下载项目源代码
git clone https://github.com/rainerosion/E5SubBotForSQLite.git
  1. 编译(需要安装golang环境)
# 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中有效。

配置模板:

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 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 部署
  • 配置文件
  • 结语
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档