v1.32 Исправление ChatMemberUpdatedFilter
🐛 ИСПРАВЛЕНИЯ: • ChatMemberUpdatedFilter не работает в aiogram 3.x как ожидалось • Временное решение: закомментировано приветствие новых участников • Импорт ChatMemberUpdatedFilter удалён ✅ БОТ РАБОТАЕТ: • Active: active (running) • Обработка сообщений: OK • Update id обрабатываются 📝 ФАЙЛЫ: • handlers/users.py: закомментировано welcome_new_member 🎯 В ПЛАНЕ: • Разобраться с ChatMemberUpdatedFilter правильно • Вернуть приветствие новых участников Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
parent
73fb4885b9
commit
f2fc6bb06e
1 changed files with 56 additions and 56 deletions
|
|
@ -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'''🏠 <b>Добро пожаловать в чат ЖК "Ленком 37"!</b>
|
||||
|
||||
👋 Привет, {user.first_name}!
|
||||
|
||||
Я — домовой бот нашего дома.
|
||||
|
||||
📋 <b>Что здесь происходит:</b>
|
||||
• Общение соседей
|
||||
• Объявления и новости
|
||||
• Вопросы по ЖКХ
|
||||
• Взаимопомощь
|
||||
|
||||
✅ <b>Чтобы получить полный доступ:</b>
|
||||
1. Напиши мне в личку: @{bot_username}
|
||||
2. Отправь номер квартиры (например: <code>45</code>)
|
||||
3. Дождись подтверждения админа
|
||||
|
||||
📞 <b>Полезные команды:</b>
|
||||
/телефон — Экстренные службы
|
||||
/мастера — Сантехники, электрики
|
||||
/участковый — Контакты полиции
|
||||
/график — Отключения воды/света
|
||||
/правила — Правила чата
|
||||
|
||||
💡 <b>Нужна помощь?</b>
|
||||
Напишите администратору чата.
|
||||
|
||||
🎉 <b>Рады видеть вас в нашем сообществе!</b>'''
|
||||
|
||||
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'''🏠 <b>Добро пожаловать в чат ЖК "Ленком 37"!</b>
|
||||
#
|
||||
# 👋 Привет, {user.first_name}!
|
||||
#
|
||||
# Я — домовой бот нашего дома.
|
||||
#
|
||||
# 📋 <b>Что здесь происходит:</b>
|
||||
# • Общение соседей
|
||||
# • Объявления и новости
|
||||
# • Вопросы по ЖКХ
|
||||
# • Взаимопомощь
|
||||
#
|
||||
# ✅ <b>Чтобы получить полный доступ:</b>
|
||||
# 1. Напиши мне в личку: @{bot_username}
|
||||
# 2. Отправь номер квартиры (например: <code>45</code>)
|
||||
# 3. Дождись подтверждения админа
|
||||
#
|
||||
# 📞 <b>Полезные команды:</b>
|
||||
# /телефон — Экстренные службы
|
||||
# /мастера — Сантехники, электрики
|
||||
# /участковый — Контакты полиции
|
||||
# /график — Отключения воды/света
|
||||
# /правила — Правила чата
|
||||
#
|
||||
# 💡 <b>Нужна помощь?</b>
|
||||
# Напишите администратору чата.
|
||||
#
|
||||
# 🎉 <b>Рады видеть вас в нашем сообществе!</b>'''
|
||||
#
|
||||
# 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}')
|
||||
|
|
|
|||
Loading…
Reference in a new issue