Как хранить данные на сервер (гильдию) для discord.py

avatar
2231puppy
8 августа 2021 в 19:57
509
1
0

У меня есть идея для бота Discord, где каждый сервер (гильдия) может хранить свои настройки в боте. У меня нет большого опыта работы с «настоящей» базой данных, такой как MySQL или SQLite, и это кажется излишним. Предполагая, что мой бот будет на многих серверах, какой ресурсоэффективный способ хранения настроек? Я бы сохранил максимум несколько логических значений и строк.

Источник
Joshua Nixon
8 августа 2021 в 20:22
0

Вы можете посмотреть на MongoDB, у них есть бесплатный вариант облачного атласа (500 МБ). Вы также можете использовать файл JSON, который является быстрым и простым, но не очень масштабируемым.

yotam rec
8 августа 2021 в 21:56
0

если вы храните только такую ​​небольшую сумму, я бы предложил JSON, но для чего-то большего я не думаю, что вы можете передать SQL

Ответы (1)

avatar
Kouheng
9 августа 2021 в 00:56
0

Если БД для вас избыточна, вы можете сделать путь примерно так.

@bot.event
async def on_guild_join(guild):
    path = "serverSetting/" + str(guild.id)
        try:
        os.makedirs(path)
        print("Making dir:" + path)
    # if the dir exist
    except FileExistsError:
        print("Dir exist " + path)

Вы можете написать файл json в commands с помощью

path = "serverSetting/" + str(context.guild.id) + "/" + "Setting.json"