Discord Python Bot具有不同的源文件

时间:2017-09-16 19:45:18

标签: python discord.py

所以我在使用Python的Discord Bot时遇到了麻烦。

它的代码对于获得良好的概述变得太过分了,所以我想把它拆分成不同的源文件。

(主文件)

...        
import second_file
if message.content.lower().startswith("!Hi"):
    second_file.hello()

(第二文件)

...
from __main__ import client
def hello():
    await client.send_message(message.channel, "Hiii <3!")

我得到的错误是name "client" is not defined

我该怎么办? 谢谢:)

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。 问题是您在await函数之外使用async。 我不知道为什么抛出错误的真正原因。 您也不一定需要从client导入__main__。 你可以使用

await __main__.client.send_message(__main__.message.channel, 'Hello')` 
好的。 但试试这段代码:

(Main-file)
import second_file
if message.content.lower().startswith('!hi'):
    second_file.hello()

(Second-file)

async def hello():
    await __main__.client.send_message(__main__.message.channel, 'Hello!')

很抱歉,如果我有任何语法错误或拼写错误。英语不是我的母语(unfortunataly D :) 希望这对你也有帮助

答案 1 :(得分:0)

尝试将from __main__ import client替换为from main import client,假设您的主要python文件名为main.py

你需要这样做,因为python在导入另一个脚本时只需要文件名。我还建议将主文件名更改为其他内容,因为python中的__main__保留用于其他内容。