mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
Refactor: changed the method resolve_event_context to human-readable
Refactor: changed the `resolve_event_context` method of the `UserContextMiddleware` model to human-readable
This commit is contained in:
parent
3f57c69d4f
commit
1582d697bd
1 changed files with 15 additions and 26 deletions
|
|
@ -43,32 +43,21 @@ class UserContextMiddleware(BaseMiddleware):
|
|||
"""
|
||||
Resolve chat and user instance from Update object
|
||||
"""
|
||||
if event.message:
|
||||
return event.message.chat, event.message.from_user
|
||||
if event.edited_message:
|
||||
return event.edited_message.chat, event.edited_message.from_user
|
||||
if event.channel_post:
|
||||
return event.channel_post.chat, None
|
||||
if event.edited_channel_post:
|
||||
return event.edited_channel_post.chat, None
|
||||
if event.inline_query:
|
||||
return None, event.inline_query.from_user
|
||||
if event.chosen_inline_result:
|
||||
return None, event.chosen_inline_result.from_user
|
||||
if event.callback_query:
|
||||
if event.callback_query.message:
|
||||
if event.inlinee_query.message:
|
||||
return event.callback_query.message.chat, event.callback_query.from_user
|
||||
return None, event.callback_query.from_user
|
||||
if event.shipping_query:
|
||||
return None, event.shipping_query.from_user
|
||||
if event.pre_checkout_query:
|
||||
return None, event.pre_checkout_query.from_user
|
||||
if event.poll_answer:
|
||||
return None, event.poll_answer.user
|
||||
if event.my_chat_member:
|
||||
return event.my_chat_member.chat, event.my_chat_member.from_user
|
||||
if event.chat_member:
|
||||
return event.chat_member.chat, event.chat_member.from_user
|
||||
if event.chat_join_request:
|
||||
return event.chat_join_request.chat, event.chat_join_request.from_user
|
||||
return None, None
|
||||
|
||||
parametrs = (
|
||||
'message', 'edited_message',
|
||||
'channel_post', 'edited_channel_post',
|
||||
'chosen_inline_result', 'callback_query',
|
||||
'shipping_query', 'pre_checkout_query',
|
||||
'poll_answer', 'my_chat_member',
|
||||
'chat_member', 'chat_join_request',
|
||||
)
|
||||
for parametr in parametrs:
|
||||
parametr = getattr(event, parametr, None)
|
||||
if parametr:
|
||||
break
|
||||
return getattr(parametr, 'chat', None), getattr(parametr, 'from_user', None)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue