discord.py добавить в файл JSON на сервере добавить - PullRequest
0 голосов
/ 02 октября 2018

Я хочу, чтобы мой бот добавил идентификатор сервера и выбранный префикс, когда они делают префикс $ (желаемый префикс) в JSON-файле с именем settings.json.У меня есть пример этого файла JSON ниже.

{
  "496019377515266060": "$"
}

Мне он нужен, поэтому, когда пользователи вводят префикс $ (желаемый префикс), он добавляет свой идентификатор сервера и префикс выбора, если его там нет или если он естьтам он просто обновит префикс.Я дошел до создания пользовательских префиксов, но не могу сделать так, чтобы пользователи могли их менять.

ПРИМЕЧАНИЕ Я не использую ветвь перезаписи.

1 Ответ

0 голосов
/ 02 октября 2018

Я работаю в предположении, что ваш код более или менее похож на этот ответ .Мы можем использовать модуль стандартной библиотеки json для редактирования файла всякий раз, когда мы его изменяем:

from discord import commands
import json

with open("prefixes.json") as f:
    prefixes = json.load(f)
default_prefix = "!"

def prefix(bot, message):
    id = message.server.id
    return prefixes.get(id, default_prefix)

bot = commands.Bot(command_prefix=prefix)

@bot.command(name="prefix", pass_context=True)
async def _prefix(ctx, new_prefix):
    # Do any validations you want to do
    prefixes[ctx.message.server.id] = new_prefix
    with open("prefixes.json", "w") as f:
        json.dump(prefixes, f)
...