我目前正在尝试使用json创建服务器前缀系统。
我正在尝试从prefixes.json文件中获取前缀,但是我得到了:
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)
{
"712329859562315886": ";",
"709202272655118233": "~"
}
还有另一件事困扰我,如何将serverprefix ['message.guild.id']添加到f“”?
答案 0 :(得分:1)
错误的原因是您尝试从名为message.guild.id
的键获取值。显然,没有使用该名称的密钥。因此,您必须使用字符串fromatting。
您应将await channel.send(serverprefix['message.guild.id'])
更改为await channel.send(serverprefix[f'{message.guild.id}'])
。这样您就可以从json文件中获取前缀。