На каком беспалатном хостинге для discord бота можно использовать json для системы лвлов?

Я использую на данный момент heroku но он не поддерживает удобное чтение и запись json файлов! Хотел бы найти такой хостинг на котором используются файлы на github'е а не создают на своём сервере папку с файлами!


Ответы (1 шт):

Автор решения: denisnumb

Heroku не умеет сохранять данные, а работает с ними пока запущен процесс. Можно попробовать работать напрямую с файлами на GitHub

Принцип примерно такой:

  1. Загружаем все нужные json-файлы на GitHub

  2. pip install PyGithub, Документация

  3. Пишем код для работы с файлами:

Получаем данные

import json
from github import Github
from urllib.request import urlopen

TOKEN = 'token' # токен можно получить на GitHub
g = Github(TOKEN)
repo = g.get_user().get_repo("repository-name")
our_file = repo.get_contents("our.json")
try:
    data = urlopen(our_file.download_url).read()
    jsondata = json.loads(data)
except Exception as e:
    print(f'Ошибка при получении our.json : {e}')
    jsondata = []

Сохраняем данные

def save_file(comment):
    global jsondata, our_file
    data = json.dumps(jsondata, ensure_ascii = False, indent = 4)
    repo.update_file("our.json", comment, data, our_file.sha)
    our_file = repo.get_contents("our.json")

save_file('комментарий')
→ Ссылка