Гит в Телеграм?
На своем тг-канале я предлагаю подписчикам выбор, какую бредовую идею запилить следующей. На этот раз подписчики выбрали новый челлендж: сделать Git в Telegram. Чтобы можно было через бота инитить проекты, пушить файлы, коммитить — и всё это в публичном канале с тредами. С практической точки зрения этот проект на хуй не нужен. Есть гитхаб, есть гитлаб, есть куча нормальных инструментов. Но как эксперимент — почему бы и нет? Чисто посмотреть, можно ли заставить Telegram работать как VCS. Я тогда подумал: «Ну, бот на aiogram, база данных, пара команд — делов то))» Словари, датаклассы и прочая е*атория Когда я только начинал, первая мысль была: «Положу всё в JSON, на кой мне база данных?» Ну серьёзно, проектов мало, пользователей немного, файлы текстовые че заморачитватся. Подергал JSON туда-сюда пару дней и понял: не варик. Во-первых, конкурентный доступ. Два юзера одновременно коммитят — один из них перезаписывает файл другого. Во-вторых, целостность данных. Если бот упал в середине записи — JSON остаётся в невалидном состоянии. В-третьих, версионность. Хранить историю изменений в JSON — это просто перенести проблему из кода в структуру файла. Короче, JSON — для конфигов, а не для данных, которые меняются каждую секунду. Выбор пал на SQLite. Почему:
https://habr.com/ru/articles/1008202/
#Telegram_бот #Git #Python #aiogram #SQLite #git_в_telegram #gitignore