client.event不会在json文件on_guild_add(discord.py)中添加前缀

时间:2020-05-20 16:23:49

标签: python discord.py discord.py-rewrite

我试图在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

1 个答案:

答案 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(.....