vk_chat_bot/tg/handlers/action.py
2025-10-25 02:19:35 +03:00

40 lines
1.2 KiB
Python

from aiogram import Router, F
from aiogram.enums import ContentType, ParseMode
from aiogram.types import Message
from messages import *
import tg.tg_database as database
router = Router()
@router.message(F.content_type == ContentType.NEW_CHAT_MEMBERS)
async def user_join_handler(message: Message):
chat_id = message.chat.id
chat = database.DB.create_chat_if_not_exists(chat_id)
if chat['active'] == 0:
await message.answer(MESSAGE_CHAT_NOT_ACTIVE)
return
for member in message.new_chat_members:
if member.is_bot:
continue
response = chat['greeting_join'] or MESSAGE_DEFAULT_GREETING_JOIN
response = response.format(name=f'[{member.first_name}](tg://user?id={member.id})')
await message.answer(response, parse_mode=ParseMode.MARKDOWN)
@router.message(F.content_type == ContentType.LEFT_CHAT_MEMBER)
async def user_join_handler(message: Message):
chat_id = message.chat.id
chat = database.DB.create_chat_if_not_exists(chat_id)
if chat['active'] == 0:
await message.answer(MESSAGE_CHAT_NOT_ACTIVE)
return
member = message.left_chat_member
if member.is_bot:
return
database.DB.delete_user(chat_id, member.id)