我试图在bot被添加到json bot中创建一个事件时添加一个前缀:
@client.event
async def on_guild_join(guild):
with open('prefixes.json', 'r') as f:
prefixes = json.load(f)
prefixes[str(guild.id)] = '//'
with open('prefixes.json', 'w') as f:
json.dump(prefixes, f, indent=4)
但我不明白为什么会出现此错误:
Traceback (most recent call last):
File "c:/projects/bots/textjson.py", line 14, in <module>
@client.event
NameError: name 'client' is not defined
我的代码是否有问题或?
这也是导入脚本
import discord
import json
from discord.ext import commands
答案 0 :(得分:1)
错误的意思是它找不到名为embed = hub.load('data\models\')
的变量。你叫什么名字?
client
通常人们将其命名为... = commands.Bot(command_prefix=...
或client
,因此,请仔细检查一下您所引用的名字。
这可能出现的另一个原因是,如果您将事件放在定义bot
变量的行上方:
client
应该像这样重新排序:
@client.event
async def on_guild_join(.....
client = commands.Bot(.....