首页 > 解决方案 > 如何将 id 附加到 whitelist.json 以便将其添加并且机器人无需重新启动即可读取它

问题描述

如何将 id 附加到 whitelist.json 以便将其添加并且机器人可以在不重新启动的情况下读取它,所以当我将 id 附加到 whitelist.json 时,机器人可以直接读取它而无需重新启动并让新的 id 使用机器人?这是我尝试过的

@bot.command()
async def whitelist(ctx, ids: int=None):
    data = {}
    for id in ids:
        data[id] = []
        data[id].append(id)
    with open('./whitelist.json', 'w') as file:
        json.dump(data, file)

如果有帮助的话,这就是 whitelist.json 中的内容:

{
    "Whitelist": [483686172221243402]
}

注意:我希望命令让我每次添加多个 id,并且我希望机器人访问 whitelist.json 并直接读取新数据,以便新 id 可以使用机器人

标签: jsondiscorddiscord.pywhitelist

解决方案


您应该json.dumps()像这样使用并写入文件:

import json

@bot.command()
async def whitelist(ctx, ids: int=None):
    data = {}
    for id in ids:
        data[id] = []
        data[id].append(id)
    with open("whitelist.txt", "w") as f:
        f.write(json.dumps(data)) # write string to file using dumps.

现在下次打开此文件时,内容将被修改。


推荐阅读