Есть один json файл, который постоянно обновляется. Есть телеграм бот с кнопками "старт" "стоп". Как при нажатии на кнопку пользователем отправлять ему данные из файла json. И можно ли как-то отправлять только новые данные, которые записываются. Или при каждом нажатии на кнопку "старт" будут отправляться данные с самого начала?
если бот уже есть, то, я так понимаю, принцип взаимодействия с ним объяснять не нужно?
а что касается отправки файла пользователю, то при приеме сообщения нужно просто читать файл и отправлять его содержимое, да, при таком подходе он будет отправляться полностью. Но можно хранить состояние на сервере и вычислять дельту, например при отправке этот файл сохранять как резерв и при следующей отправке анализировать содержание этих файлов, или хранить в БД тправленные части, но тут уже зависит от формата файла.
А можно пойти далее и с помощью ОС отслеживать изменения файлов и сразу отправлять их пользователю
DigiBeach, а что конкретно сделать? отправить файл через бота? хранить состояние? автоматически отслеживать изменения? тут много вариантов, но гадать никому не хочется, опишите пример json файла, что конкретно и когда делать нужно, в общем нужно больше деталей, ибо сейчас это звучит слишком обще
GeneAYak, в json ничего особенного нет, туда просто с новой строки записываются состояния через file.puts '', они не упорядочены никак, просто данные с новой строки.Он отправляется, как файл или как текст выведенный в диалоге? Как хранить состояние и автоматически отслеживать изменения?
DigiBeach, файл JSON не должен "дозаписываться". Изменение JSON нужно выполнять атомарно. Нужно один раз сериализовать в JSON и сохранить в файл. Как только данные записаны в файл, можно выполнить какое-то дополнительное действие.
DigiBeach, вообще звучит так, будто нужна база данных, в данном случае sqllite, которая так же хранится в файле, но в которую можно без проблем писать, из которой можно читать и в которой можно все что угодно помечать как угодно