Discord.py禁用模块命令

时间:2020-10-07 16:14:35

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

我制作了一个正在工作的“禁用模块”,但是当它加载到json文件中时,我收到一条错误消息。

@client.command(aliases=["disable economy"])   
async def disable_economy(message): 
    with open('disable economy.json', 'r+') as f:
        channel = json.load(f)
        if not f'{message.channel.id}' in channel:
            channel[f'{message.channel.id}'] = "Channel ID"
            json.dump(channel, f)
            await message.channel.send(f"Economy has been disabled in <#{message.channel.id}>. ")
            return
        if f'{message.channel.id}' in channel:
            await message.channel.send("Economy is already disabled in this channel.")
            return

执行命令后,将其加载到json文件中,如下所示: {}{"750485129436201023": "Channel ID"},收到的错误消息是:End of file expected。错误在第二个{之间。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

{}{"750485129436201023": "Channel ID"}是无效的JSON。

有效JSON只能有一个根元素,例如{}

将JSON文件更改为:

{"750485129436201023": "Channel ID"}

Python将附加到文件,而不是覆盖文件,最简单的解决方法是在写入之前将seek移至文件的开头:

f.seek(0)
json.dump(channel, f)