教你白嫖replit部署kook的ticket机器人
1.前言
最近有不少老哥来找我咨询有关ticket机器人的事情,当前ticket机器人需要云服务器才能部署,有些不太友好(要钱啊!而且也不是人人都会安装python环境)
所以在这里利用replit和uptimerobot两个平台,给大家介绍一个白嫖的方法,实现部署kook-ticket-bot
注意!replit上的免费仓库,默认是公开的,也就是所有人都能访问到你这个仓库里面的文件,包括bot的token和日志信息!若您的ticket-bot对数据私密性要求较高,请自购服务器或找开发者代为部署!
2.准备
2.1 注册账户
这两个平台国内访问缓慢,如果实在进不去,就下载一个steam++
(又称watt toolkit)
如图,下载exe就可以了
安装打开以后,把这一堆无差别勾上,点一键加速,应该就ok了,访问会稍微快一点
随后就是注册这两个平台的账户了,应该不需要教吧(doge)
2.2 打开gitee仓库
为了方便访问,我将ticket-bot在gitee也传了一份,大家打开仓库的code目录,准备拷贝代码
2.3 申请kook开发者
到kook的开发者平台,加入官方频道申请承为开发者,获取创建bot的权限;有了权限之后,新建一个应用
随后进入机器人页面,复制这里的token,先保存起来,后面要用(一会再来复制也行)
进入邀请页面,给予机器人管理员权限(这样是为了方便,不然得钩一大堆)
然后复制上面的邀请链接到浏览器,邀请机器人进入你的服务器
3.开始部署
3.1 创建python
来到replit,创建仓库
选择python,然后给它取个名字。
这一步可以选择右上角的从github import
,复制我仓库的git连接就可以了。
1 | https://github.com/musnows/Kook-Ticket-Bot.git |
从github import
之后,可以跳过添加代码文件这一步,但依旧需要手动添加配置文件。
创建之后进入这个项目
3.2 添加代码文件
进来之后是这样的页面,只有一个main.py
,其他什么都无
点击左上角这个小按钮,创建一个新文件,命名为keepal.py
复制如下代码到keepal.py
1 | # encoding: utf-8 |
随后,就开始根据我仓库的代码,创建同名文件,并将代码复制进去
github的代码更加新,如果能打开github,请在github复制代码:https://github.com/musnows/Kook-Ticket-Bot
实在打不开,再来gitee:https://gitee.com/musnow/Kook-Ticket-Bot/tree/main/code
main就不用创建了,默认已经有了,直接把代码复制进去就行了;所有文件添加完毕之后,应该是下面这样的
这样,代码就添加好了
3.3 添加配置文件
新版本的ticket机器人会自动创建log目录下的文件,但是config下的配置文件依旧需要您手动操作!
接下来就是更具仓库的README添加各类配置文件
1 | config/config.json #机器人token配置 |
先把如上的几个文件全部建立好,然后根据仓库的README往里面添加键值,这里不重复README中已有内容
很多操作都需要复制ID,先在设置高级设置中开启开发者模式
下面给出一个TicketConf.json
中需要配置的几项的样例
在这里重申,添加了这两个角色id之后,必须要给予用户对应的角色(特别是腐竹)才能操作bot的命令,否则提示权限不足
配置为文件添加完毕之后,应该是下面这样的
3.4 开始运行
开始运行前的最后一步,进入main.py
,取消对最后两行代码的注释
这个时候就可以点击顶部的run,尝试运行bot了,变成下面的样子那就是在运行了
刚开始打印会提示这个,代表没有找到对应的包
工具tools里面选择packges,在里面搜索khl.py
如下提示,安装成功!
在点击运行,出现如图所示的页面,那就是运行成功了!
现在进kook里面,先测试一下我们的bot是否在线
测试通过!后台也打印出了日志
3.5 uptimeRobot
别急别急,虽然到这里已经ok了,但我们还有一个步骤要做
进入uptimeRobot,需要创建一个监控实例,来调用我们的keepal
模组中的函数,保证我们的bot不会因为replit的策略而下线
点击add new monitor
,选择http
按如下所示填写
- name随便填个英文名
- url填在replit复制的链接
- intervel是单次监控的间隔,选择1-5分钟都可以
- timeout默认30s不需要修改
- 两个ssl取消勾选
建议勾选上这个,在bot下线的时候,会向你的邮箱发送通知
配置完毕,点击右下角的create
这时候就会开始运行了!下方的pause
可以暂停运行。
如果你create完毕,发现是黑色的,那就点击一下start
让他开始运行
4.日志文件
默认的所有打印都会打印到控制台里面,运行时间久了,replit的控制台可能无法获取到所有信息。所以我们需要对输出进行重定向
如果你需要日志文件(我建议一定要这么做!)那就需在main里面添加一部分代码
1 | #标准输出重定向至文件 |
添加到开头start_time
以后即可
现在更新了代码以后,只需要取消开头这里的注释即可
1 | # 标准输出重定向至文件 |
这样做还不够,bot有一个特殊的kill命令,执行此kill命令,可以刷新缓冲区,避免出现数据在缓冲区中没有写入到文件,导致丢失日志
如果你想退出bot,建议使用kill命令来操作!
大功告成!
现在你可以根据help去测试一下各类命令是否能正常工作啦
注意,关闭ticket之后可能会出现这个报错,这是因为用户从来没有给bot发送过信息,导致bot无法用户发送私信,忽略此报错即可(新版本已经取消了这个报错)
因为replit是免费的,所以bot的反应可能有些迟钝,正常情况!
再次提醒!replit上的免费仓库,默认是公开的,也就是所有人都能访问到你这个仓库里面的文件,包括bot的token和日志信息!若您的ticket-bot对数据私密性要求较高,请自购服务器或找开发者代为部署!
你可以fork我这次部署的bot(23-02-10)但是后续的代码更新还是需要自己操作哦!
- 本文标题:【Python】教你白嫖replit部署kook-ticket-bot
- 创建时间:2023-02-09 18:19:00
- 本文链接:posts/2556995516/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!