从on_message获取公会ID

时间:2020-09-20 14:44:49

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

我目前正在尝试使用json创建服务器前缀系统。

我正在尝试从prefixes.json文件中获取前缀,但是我得到了:

picture of error

This is the on_message I'm using


@bot.event
async def on_message(message):
    if '<@754643724193235035>' == message.content:
        channel = message.channel
        a = open('prefixes.json', 'r')
        serverprefix = json.load(a)
        await channel.send("My prefix is:")
        await channel.send(serverprefix['message.guild.id'])
    await bot.process_commands(message)

This is the json I'm using


{
    "712329859562315886": ";",
    "709202272655118233": "~"
}

还有另一件事困扰我,如何将serverprefix ['message.guild.id']添加到f“”?

1 个答案:

答案 0 :(得分:1)

错误的原因是您尝试从名为message.guild.id的键获取值。显然,没有使用该名称的密钥。因此,您必须使用字符串fromatting。

您应将await channel.send(serverprefix['message.guild.id'])更改为await channel.send(serverprefix[f'{message.guild.id}'])。这样您就可以从json文件中获取前缀。