У меня есть идея для бота Discord, где каждый сервер (гильдия) может хранить свои настройки в боте. У меня нет большого опыта работы с «настоящей» базой данных, такой как MySQL или SQLite, и это кажется излишним. Предполагая, что мой бот будет на многих серверах, какой ресурсоэффективный способ хранения настроек? Я бы сохранил максимум несколько логических значений и строк.
Как хранить данные на сервер (гильдию) для discord.py
8 августа 2021 в 19:57
501
1
Ответы (1)
9 августа 2021 в 00:56
Если БД для вас избыточна, вы можете сделать путь примерно так.
@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"
Вы можете посмотреть на MongoDB, у них есть бесплатный вариант облачного атласа (500 МБ). Вы также можете использовать файл JSON, который является быстрым и простым, но не очень масштабируемым.
если вы храните только такую небольшую сумму, я бы предложил JSON, но для чего-то большего я не думаю, что вы можете передать SQL