Final release: Multi-session comment bot with filtering

Features:
- Multi-account support (session files)
- AI comments via Ollama
- Telegram bot moderation
- Filter by sessions and groups
- Docker support
- Auto-join groups
- Log notifications
- DB migration script

Bug fixes:
- Fixed comment_to for proper post targeting
- Fixed entity lookup with multiple ID formats
- Fixed callback handlers for filtering
- Added auto-join before entity lookup
This commit is contained in:
2026-02-28 01:44:40 +03:00
parent a18ad30961
commit bb27161524
8 changed files with 537 additions and 99 deletions

View File

@@ -111,10 +111,37 @@ def create_sessions_list_keyboard(sessions: list) -> InlineKeyboardMarkup:
for session in sessions:
session_file = session['session_file']
status = "🟢" if session['is_active'] else "🔴"
username = f"@{session['username']}" if session.get('username') else ""
builder.button(
text=f"{status} {session_file}",
callback_data=f"session_info:{session_file}"
text=f"{status} {session_file} {username}",
callback_data=f"session_select:{session_file}"
)
builder.adjust(1)
builder.button(text="🔙 Назад", callback_data="main_menu")
return builder.as_markup()
def create_groups_list_for_pending_keyboard(groups: list) -> InlineKeyboardMarkup:
"""Клавиатура со списком групп для выбора pending комментариев"""
builder = InlineKeyboardBuilder()
for group in groups:
group_id = group['group_id']
name = group['group_name'] or f"Группа {group_id}"
builder.button(
text=f"📢 {name}",
callback_data=f"group_pending:{group_id}"
)
builder.adjust(1)
builder.button(text="🔙 Назад", callback_data="main_menu")
return builder.as_markup()
def create_back_keyboard() -> InlineKeyboardMarkup:
"""Клавиатура с кнопкой Назад"""
builder = InlineKeyboardBuilder()
builder.button(text="🔙 Назад", callback_data="main_menu")
builder.adjust(1)
return builder.as_markup()