bot rafactor and bugfix

This commit is contained in:
2025-08-19 04:45:16 +09:00
parent 43dda889f8
commit a8d860ed87
31 changed files with 4396 additions and 613 deletions

View File

@@ -1,27 +1,42 @@
from __future__ import annotations
import logging
from datetime import datetime
from typing import Dict, List
from typing import Dict, List, Optional, Any
from telegram import Update
from telegram import Update, Message, InlineKeyboardMarkup, CallbackQuery
from telegram.ext import CallbackContext
from telegram.error import TelegramError
from sqlalchemy import select
from sqlalchemy import select, and_
from sqlalchemy.exc import SQLAlchemyError
from app.core.config import settings
from app.tasks.senders import send_post_task
from app.db.session import async_session_maker
from app.models.channel import Channel
from app.models.bot import Bot
from app.models.templates import Template
from app.models.user import User
from .states import BotStates as States # Алиас для совместимости
from app.services.template import list_templates, create_template
from app.services.templates import (
render_template_by_name, list_templates, count_templates,
create_template, delete_template, required_variables_of_template,
render_template_by_name, count_templates,
required_variables_of_template, delete_template
)
from app.services.telegram import validate_bot_token
from jinja2 import TemplateError
from .states import States
from .session import SessionStore
from .messages import MessageParsers
from .session import SessionStore, UserSession
from .messages import Messages, MessageParsers, MessageType
from .keyboards import KbBuilder
logger = logging.getLogger(__name__)
MEDIA_TYPE_MAP = {
MessageType.PHOTO: "фото",
MessageType.VIDEO: "видео",
MessageType.ANIMATION: "GIF-анимацию"
}
# Заглушка для build_payload, если сервиса нет
try: