E5SubBot – Office365 E5 自动续订机器人(附宝塔面板简单搭建教程)

Office365 E5申请好之后,如何稳定续期是个问题,前面的文章提到用oneindex来实现,但是有也有 很多人说oneindex效果已经很不好了。所以今天这篇文章试试用E5SubBot来实现续期。

续期是个玄学问题,但也可能还是不成功,但是不失为一个好方法。至于Office365 E5 如何申请可以看这篇文章:

Office365 E5 开发者订阅免费申请3个月 – 附无限续期教程

1、简介

E5SubBot 是 Office365 E5 自动续订机器人,通过调用Outlook API尝试自动续订E5订阅(每三小时调用一次outlook api) ,管理的简易账户系统,方便的授权方式!程序基于Golang + MySQL。

地址:https://github.com/iyear/E5SubBot

DEMO: https://t.me/E5Sub_bot

2、特性

  • 自动续订E5订阅(可自定义的调用频率)
  • 可管理的简易账户系统
  • 完善的任务执行反馈
  • 极为方便的授权方式

3、原理

E5订阅为开发者订阅,只要调用相关API就有可能续期 调用 Outlook ReadMail API 实现玄学的续订方式,不保证续订效果。

4、使用方法

你需要富强来打开telegram Bot了,地址就是那个第一条中的demo,这个就不多说了,不会的可以搜索。

4.1 在机器人对话框输入 /bind

4.2 注册应用,使用E5主账号或同域账号登录,跳转页面获得client_secret。点击回到快速启动,获得client_id

这就和安装oneindex差不多了。

4.3 复制client_secret和client_id,以 client_id client_secret格式回复

4.4 获得授权链接,使用E5主账号或同域账号登录

4.5 授权后会跳转至http://localhost/e5sub……

跳转后的样子看图:

4.6 复制整个浏览框内容,在机器人对话框回复 链接+空格+别名(用于管理账户)

4.7 预览整个过程

丢一张图,看下在整个过程。

4.8 查看信息

在bot中输入命令 /my  可以看到反馈。

5、自行部署

以上是利用作者自己搭建的bot来部署自动续订,我们也可以自己搭建,利用宝塔面板还是不难的。而且作者提供了docker版本的安装,更是简化了过程,下面来简单说说。

5.1 docker环境

宝塔面板安装好docker管理器,安装好docker-compose,具体如何安装可以看这篇教程,里面有详细介绍。

宝塔面板Docker安装Solo博客 – 一款小而美的JAVA博客系统

5.2 docker部署

使用如下命令开始部署:

mkdir ./e5bot && wget --no-check-certificate -O ./e5bot/config.yml https://raw.githubusercontent.com/iyear/E5SubBot/master/config.yml.example
vi ./e5bot/config.yml
wget --no-check-certificate https://raw.githubusercontent.com/iyear/E5SubBot/master/docker-compose.yml
docker-compose up -d

如果第一次失败,可以使用 docker-compose restart重启一次。

5.3 二进制文件

上面的docker部署好之后,在Releases页面下载对应系统的二进制文件,上传至服务器,

Windows: 在cmd中启动 E5SubBot.exe

Linux使用如下命令执行文件:

screen -S e5sub
chmod 773 E5SubBot
./E5SubBot
(Ctrl A+D)

如果提示screen: command not found 命令不存在,可以执行:yum install screenapt-get install screen安装。

5.4 部署配置

docker安装是自动配置好config.yml文件的,编码为UTF-8。配置模板的说明如下:

#bindmax,notice,admin,errlimit可热更新,直接更新config.yml保存即可
#更换为自己的BotToken
bot_token: xxxxx
#不需要socks5代理删去即可
socks5: 127.0.0.1:1080
#公告,合并至/help
notice: "第一行\n第二行"
#管理员tgid,前往https://t.me/userinfobot获取,用,隔开
#管理员权限: 手动调用任务,获得任务总反馈
admin: 66666,77777,88888
#任务最大出错次数,满后自动解绑账户并发送通知,无限次数将值改为负数(-1)即可
#以ms账户为单位,不会解绑所有账户(只解绑错误账户)
#主要为了减少资源浪费.bot重启后会清零所有错误次数
errlimit: 5
#API调用频率,使用cron表达式
cron: "1 */3 * * *"
#最大可绑定数
bindmax: 3
#mysql配置,请提前创建数据库
mysql:
  host: 127.0.0.1
  port: 3306
  user: e5sub
  password: e5sub
  database: e5sub

注意:docker里面的mysql信息可以不用修改。

5.5 命令

/my 查看已绑定账户信息  
/bind  绑定新账户  
/unbind 解绑账户  
/export 导出账户信息(JSON格式) 
/help 帮助  
/task 手动执行一次任务(管理员)  
/log 获取最近日志文件(管理员)

6、最后

如果不用docker安装,你还需要安装go语言环境,总的来说自己折腾还是有点门槛的,建议用作者的bot来续订。

续订的效果是个很玄学的问题,建议,在安装oneindex来保证下使用的频率。

这只是一种续订的方法,但是不敢保证效果,你只能试试看。