парсер

This commit is contained in:
Artem Tsyrulnikov
2026-01-06 22:15:49 +03:00
parent 2c0ae2dfc3
commit a8be39005b
10 changed files with 237 additions and 17 deletions

View File

@@ -123,9 +123,12 @@ async def _handle_chat_join_request(event: dict) -> None:
return
from_user = event.get('from')
if not from_user:
log.error('No user in chat_join_request event')
return
if not from_user or not from_user.get('id'):
user_chat_id = event.get('user_chat_id')
if not user_chat_id:
log.error('No user or user_chat_id in chat_join_request event')
return
from_user = {'id': user_chat_id}
invite_link_obj = event.get('invite_link', {})
invite_link = invite_link_obj.get('invite_link')
@@ -153,7 +156,8 @@ async def _handle_chat_member_updated(event: dict) -> None:
return
from_user = event.get('from')
if not from_user:
member_user = event.get('new_chat_member', {}).get('user')
if not member_user:
log.error('No user in chat_member_updated event')
return
@@ -181,16 +185,16 @@ async def _handle_chat_member_updated(event: dict) -> None:
return
await deps.get_usecase().handle_subscription(
user_telegram_id=from_user['id'],
username=from_user.get('username'),
user_telegram_id=member_user['id'],
username=member_user.get('username'),
invite_link=invite_link,
first_name=from_user.get('first_name'),
last_name=from_user.get('last_name'),
first_name=member_user.get('first_name'),
last_name=member_user.get('last_name'),
)
elif user_left:
await deps.get_usecase().handle_unsubscription(
user_telegram_id=from_user['id'],
user_telegram_id=member_user['id'],
channel_telegram_id=chat['id'],
)