用Heroku打造神奇Discord机器人(Discord.py)

前言

我这边最近开始玩上了Discord, 苦恼于Py版的教程过于零散, 故给一个做法

首先就是照本宣科的创建app, 然后用heroku的cli登上去, 然后本地创建一个脚本,然后git push

《用Heroku打造神奇Discord机器人(Discord.py)》
照本宣科

然后就自然出问题了!!!

《用Heroku打造神奇Discord机器人(Discord.py)》
你没有指定语言

原因是, 你, 根本没有指定语言

所以你只需要指定一下语言, 也就是 heroku buildpacks:set heroku/python

然后呢, 你就又吃瘪了!

《用Heroku打造神奇Discord机器人(Discord.py)》
吃瘪记录!

你只是放了一个脚本, 而heroku需要更多详细的数据!!!

下面讲解一下更多需要的文件

所需要的文件们

requirements.txt

《用Heroku打造神奇Discord机器人(Discord.py)》
这个是用来提醒heroku要装什么模块的

runtime.txt

《用Heroku打造神奇Discord机器人(Discord.py)》
这个是用来提醒heroku的python版本要是什么

Procfile

《用Heroku打造神奇Discord机器人(Discord.py)》
顾名思义, 这是程序执行文件, 这在后面很重要

然后呢?

然后你发现, 你的机器人还是没有登录!!!

切到resources, 点击编辑按钮,

《用Heroku打造神奇Discord机器人(Discord.py)》
原来在这里!

滑动选框, 然后confirm

《用Heroku打造神奇Discord机器人(Discord.py)》
神奇的保险

再然后?

再然后就是完善你的脚本, 然而有一点你是要注意的

图片发送的问题

图片发送是很奇怪的, 因为图片发送需要file类型, 而file类型又需要ByteIO类型构建, 很是心累

如果你是网络下载的图片, 那么将会是byte类型, 所以需要转

from io import BytesIO  
f =  BytesIO(the_byte)
fp = discord.File(f, filename='file_name' ) 
ctx.send(fp) 

你终于能发图了

这就好了吗?

恭喜你, 现在你做成了一个最弱智的disord机器人!

然而单脚本都有一个问题, 随着功能增多就会使得脚本臃肿而可读性极度下降

因此, 因此你需要extension

《用Heroku打造神奇Discord机器人(Discord.py)》
黄色部分请切记, 是函数的名字

在外部创建一个类似这样的文件, 然后在主脚本里面使用

《用Heroku打造神奇Discord机器人(Discord.py)》
就和import一样, 估计又是使用importlib的又一力作

#尚未完成, cog

点赞

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *