mirror of
https://github.com/EDeev/vkrepost_to_tg.git
synced 2026-10-07 20:49:50 +03:00
code/sql.py на psycopg 3 с пулом соединений; таблицы users, pages, subscribers, page_state (user и group в PostgreSQL зарезервированы), внутренние номера сохраняются. Счётчики подписок меняются одним запросом. scripts/migrate_sqlite.py переносит старые базы со сверкой (проверено на копии рабочих: 7 пользователей, 10 страниц). Тесты на PostgreSQL в CI; compose — с базой.
21 lines
818 B
Python
21 lines
818 B
Python
import logging
|
|
import os
|
|
|
|
from aiogram import Bot, Dispatcher
|
|
from aiogram.enums.parse_mode import ParseMode
|
|
from aiogram.fsm.storage.memory import MemoryStorage
|
|
from aiogram.client.bot import DefaultBotProperties
|
|
|
|
from config import botToken
|
|
from sql import Users, Base, connect
|
|
|
|
bot = Bot(token=botToken, default=DefaultBotProperties(parse_mode=ParseMode.HTML))
|
|
dp = Dispatcher(storage=MemoryStorage())
|
|
|
|
pool = connect(os.getenv("DATABASE_URL", "postgresql://vkport:vkport@localhost:5432/vkport"))
|
|
du = Users(pool)
|
|
db = Base(pool)
|
|
|
|
# лог в файл, если задан LOG_FILE (так бот работал на сервере), иначе — в консоль
|
|
logging.basicConfig(level=logging.INFO, filename=os.getenv("LOG_FILE") or None,
|
|
format="%(asctime)s %(levelname)s %(message)s")
|