Версия Python: 3.10
Установка основных зависимостей
pip install -r requirements.txt
Установка зависимостей для разработки
pip install -r requirements-dev.txt
Точка входа – main.py
python main.py
Перед коммитом прогоняйте форматер кода и импортов
black src
isort src
Тут всего одна табличка с группами, которая связывает ВК группы с ТГ каналами. Кроме этого хранит последние 2 ID постов с ВК для отслеживания что было опубликовано, а что нет.
Судя по коду и данным у меня в базе ID Telegram каналов хранится как число, но может быть и строкой. Строкой он будет тогда, когда в базе указан public url (AKA username) канала. Но при первом же запуске бота на этом канале он получит числовой ID и перезапишет его в базу.
Все Telegram IDs хранятся с префиксом -100 (специфика ТГ апи у бот апи для обозначения каналов).
ID ВК групп наоборот, хранятся как положительные целые числа. По коду видно, что знак инвертируется. Наверное, VK API работает с отрицательными числами (тоже особенность API, которую унаследовал Telegram).