所以我在使用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
。
我该怎么办? 谢谢:)
答案 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__
保留用于其他内容。