Есть ли способ заставить ботов discord записывать в файл при размещении на heroku?

#heroku #bots

#heroku #боты

Вопрос:

У моего бота Discord есть система уровней, которая требует, чтобы он записывал данные в файл JSON.

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

Я следил за технологией с помощью руководства Тима по размещению.

Ответ №1:

Файловая система Heroku эфемерна, поэтому каждое изменение теряется после перераспределения / перезапуска Dyno.

Ваши варианты — использовать базу данных или внешнее хранилище файлов, что, вероятно, вам нужно, поскольку вам нужно сохранить файл JSON.

Heroku не может получить доступ к вашему компьютеру по сети (если вы не туннелируете запросы с помощью ngrok, что возможно, но не очень практично).
Вы можете сохранить файл в службе удаленного хранения (например, Amazon S3) или интегрировать с каким-либо другим облачным сервисом (Google docs с использованием API Google Drive).

Комментарии:

1. Это хорошо! Я попробую использовать Amazon S3. Есть ли какой-либо дополнительный код, который мне нужно добавить?

2. Вы можете использовать Java / Python API для отправки файла на Amazon (вы найдете множество примеров), Heroku имеет множество дополнений ( elements.heroku.com/addons ) интегрировать внешние сервисы, но я не делаю этого, если они бесплатны

3. Итак, все, что мне нужно сделать, это отправить файл на Amazon, а затем добавить некоторый код для доступа к файлу там?

4. Вам нужен какой-то код для отправки файла на Amazon (чтобы сохранять его всякий раз, когда вам нужно — каждые 10 минут? после определенного события?). Из Amazon S3 вы можете получить его, используя другой код (из другого приложения) или пользовательский интерфейс S3, который вы просто хотите просмотреть и получить к файлу