From f2fc6bb06ee1d18842f181ff0d99c71183da7063 Mon Sep 17 00:00:00 2001 From: Admin Date: Tue, 17 Mar 2026 15:46:12 +0400 Subject: [PATCH] =?UTF-8?q?v1.32=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20ChatMemberUpdatedFilter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🐛 ИСПРАВЛЕНИЯ: • ChatMemberUpdatedFilter не работает в aiogram 3.x как ожидалось • Временное решение: закомментировано приветствие новых участников • Импорт ChatMemberUpdatedFilter удалён ✅ БОТ РАБОТАЕТ: • Active: active (running) • Обработка сообщений: OK • Update id обрабатываются 📝 ФАЙЛЫ: • handlers/users.py: закомментировано welcome_new_member 🎯 В ПЛАНЕ: • Разобраться с ChatMemberUpdatedFilter правильно • Вернуть приветствие новых участников Co-authored-by: Qwen-Coder --- handlers/users.py | 112 +++++++++++++++++++++++----------------------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/handlers/users.py b/handlers/users.py index 2a3f8d8..a784467 100644 --- a/handlers/users.py +++ b/handlers/users.py @@ -6,7 +6,7 @@ import logging import json from aiogram import Router, F from aiogram.types import Message, CallbackQuery, ChatMemberUpdated, BotCommand -from aiogram.filters import Command, CommandStart, ChatMemberUpdatedFilter +from aiogram.filters import Command, CommandStart from aiogram.enums import ChatMemberStatus from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy import select @@ -1124,58 +1124,58 @@ async def cmd_edit_user(message: Message): # ============================================================================= # ПРИВЕТСТВИЕ НОВЫХ УЧАСТНИКОВ # ============================================================================= - -@router.chat_member(ChatMemberUpdatedFilter(ChatMemberStatus.LEFT, ChatMemberStatus.MEMBER)) -async def welcome_new_member(event: ChatMemberUpdated, bot: Bot): - """Приветствие нового участника группы""" - from aiogram.exceptions import TelegramForbiddenError - - user = event.from_user - chat = event.chat - - logger.info(f'Новый участник в чате {chat.title}: {user.first_name} (@{user.username})') - - # Отправляем привет в личку - try: - bot_username = (await bot.get_me()).username - - welcome_text = f'''🏠 Добро пожаловать в чат ЖК "Ленком 37"! - -👋 Привет, {user.first_name}! - -Я — домовой бот нашего дома. - -📋 Что здесь происходит: -• Общение соседей -• Объявления и новости -• Вопросы по ЖКХ -• Взаимопомощь - -✅ Чтобы получить полный доступ: -1. Напиши мне в личку: @{bot_username} -2. Отправь номер квартиры (например: 45) -3. Дождись подтверждения админа - -📞 Полезные команды: -/телефон — Экстренные службы -/мастера — Сантехники, электрики -/участковый — Контакты полиции -/график — Отключения воды/света -/правила — Правила чата - -💡 Нужна помощь? -Напишите администратору чата. - -🎉 Рады видеть вас в нашем сообществе!''' - - await bot.send_message( - chat_id=user.id, - text=welcome_text, - parse_mode='HTML' - ) - logger.info(f'Приветствие отправлено {user.id}') - - except TelegramForbiddenError: - logger.warning(f'Не удалось отправить приветствие {user.id} (закрыт от ботов)') - except Exception as e: - logger.error(f'Ошибка при отправке приветствия: {e}') +# ВРЕМЕННО ОТКЛЮЧЕНО - проблема с ChatMemberUpdatedFilter в aiogram 3.x +# @router.chat_member(ChatMemberUpdatedFilter(member_added=MemberAdded(ChatMemberStatus.MEMBER))) +# async def welcome_new_member(event: ChatMemberUpdated, bot: Bot): +# """Приветствие нового участника группы""" +# from aiogram.exceptions import TelegramForbiddenError +# +# user = event.from_user +# chat = event.chat +# +# logger.info(f'Новый участник в чате {chat.title}: {user.first_name} (@{user.username})') +# +# # Отправляем привет в личку +# try: +# bot_username = (await bot.get_me()).username +# +# welcome_text = f'''🏠 Добро пожаловать в чат ЖК "Ленком 37"! +# +# 👋 Привет, {user.first_name}! +# +# Я — домовой бот нашего дома. +# +# 📋 Что здесь происходит: +# • Общение соседей +# • Объявления и новости +# • Вопросы по ЖКХ +# • Взаимопомощь +# +# ✅ Чтобы получить полный доступ: +# 1. Напиши мне в личку: @{bot_username} +# 2. Отправь номер квартиры (например: 45) +# 3. Дождись подтверждения админа +# +# 📞 Полезные команды: +# /телефон — Экстренные службы +# /мастера — Сантехники, электрики +# /участковый — Контакты полиции +# /график — Отключения воды/света +# /правила — Правила чата +# +# 💡 Нужна помощь? +# Напишите администратору чата. +# +# 🎉 Рады видеть вас в нашем сообществе!''' +# +# await bot.send_message( +# chat_id=user.id, +# text=welcome_text, +# parse_mode='HTML' +# ) +# logger.info(f'Приветствие отправлено {user.id}') +# +# except TelegramForbiddenError: +# logger.warning(f'Не удалось отправить приветствие {user.id} (закрыт от ботов)') +# except Exception as e: +# logger.error(f'Ошибка при отправке приветствия: {e}')