Python discord.py从.json文件获取服务器前缀

Python discord.py从.json文件获取服务器前缀,python,python-3.x,discord,discord.py,Python,Python 3.x,Discord,Discord.py,我刚开始使用discord.py(Python 3.8;discord.py 1.5.1)编写discord机器人程序,遇到了一个问题。当用户使用我的自定义帮助命令时,我想给他/她服务器前缀(它只返回一个包含所有命令和前缀的字符串)。我已将服务器前缀存储在.json文件中,但如何从该文件返回服务器前缀 如果您需要我的代码的某些部分才能找到解决方案,请告诉我。假设这是您的前缀.json文件: { "781524858026590218": "k-"

我刚开始使用discord.py(Python 3.8;discord.py 1.5.1)编写discord机器人程序,遇到了一个问题。当用户使用我的自定义帮助命令时,我想给他/她服务器前缀(它只返回一个包含所有命令和前缀的字符串)。我已将服务器前缀存储在.json文件中,但如何从该文件返回服务器前缀


如果您需要我的代码的某些部分才能找到解决方案,请告诉我。

假设这是您的
前缀.json
文件:

{
    "781524858026590218": "k-"
}
您可以获取公会的ID,让它检查json文件中的前缀:

import json

@client.command()
async def GetPrefix(ctx):
    with open("prefixes.json", "r") as f:
        data = json.loads(f.read())
        guildID = str(ctx.guild.id)
        prefix = data[guildID]
        await ctx.send("Prefix:", prefix)

你能上传你的json文件的代码片段吗?
{“781524858026590218”:“k-”}
这就是你想要的吗?我已经提交了一个答案,如果这是你想要的,请告诉我。谢谢!它工作了我在cog中使用了代码,但由于某种原因它不再工作了
@commands.command()异步定义ping(self,ctx):打开(“./prefixes.json”,“r”)作为f:data=json.load(f.read())guildID=str(ctx.guild.id)prefix=data[guildID]等待ctx.send(f“pong;”{round(self.client.latency*1000)}ms)print(f{ctx.message.author}触发了{prefix}ping')
对不起,这有点难读,但我不知道如何修复,你得到的错误是什么?另外,你可以简单地使用
ctx.prefix
来实现这一点,简单得多。