-
-
Notifications
You must be signed in to change notification settings - Fork 3
03 multiple_py_coding
Ewait edited this page Jan 11, 2023
·
2 revisions
在对bot进行编程的时候,根据功能不同,会将代码分成几大板块。
如果将这些内容全部放入一个main文件中的话,虽然是可以的,但会显得非常长和杂乱,且不方便定位问题。
再加上本人有一定强迫症,于是将valorant
查询代码的实现和translate
功能的实现分开封装,再在main.py
文件中使用bot.command
调用
以一个最简单的hello
代码为例。因为khl.py
是异步框架,所以在支线文件中的函数都应该带上async
和await
来执行功能
同时,支线文件中也需要import
主文件中包含的库函数、以及bot的token。一个比较偷懒的方法就是把主文件import
过的内容原封不动的复制到支线文件中
async def world(msg: Message):
await msg.reply('你好呀~')
主文件:包含
bot.run
的文件,有且只能有一个
现在我们的支线文件中已经有一个函数的实现了,在主文件中只需要import
支线文件的函数后,实现bot.command
让机器人调用这条命令就行
from test import world
@bot.command(name='hello')
async def world123(msg: Message):
await world(msg)
要知道,这只是一个示例。像这种较短的程序无需分文件。但如果你的函数实现非常长的时候,就可以用相同的办法实现多文件编程。
这个工作一定要早做!!不然就会像我一样,main.py
几千行,找个代码的位置都很困难
有任何问题欢迎加入我的KOOK频道与我交流,或者开放一个issue