mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
update types added
This commit is contained in:
parent
90c614a454
commit
4c73585132
4 changed files with 39 additions and 0 deletions
|
|
@ -160,6 +160,26 @@ class LoggingMiddleware(BaseMiddleware):
|
|||
self.logger.debug(f"{HANDLED_STR[bool(len(results))]} poll answer [ID:{poll_answer.poll_id}] "
|
||||
f"from user [ID:{poll_answer.user.id}]")
|
||||
|
||||
async def on_pre_process_my_chat_member(self, my_chat_member_update, data):
|
||||
self.logger.info(f"Received chat member update "
|
||||
f"for user [ID:{my_chat_member_update.from_user.id}]. "
|
||||
f"Old state: {my_chat_member_update.old_chat_member.to_python()} "
|
||||
f"New state: {my_chat_member_update.new_chat_member.to_python()} ")
|
||||
|
||||
async def on_post_process_my_chat_member(self, my_chat_member_update, results, data):
|
||||
self.logger.debug(f"{HANDLED_STR[bool(len(results))]} my_chat_member "
|
||||
f"for user [ID:{my_chat_member_update.from_user.id}]")
|
||||
|
||||
async def on_pre_process_chat_member(self, chat_member_update, data):
|
||||
self.logger.info(f"Received chat member update "
|
||||
f"for user [ID:{chat_member_update.from_user.id}]. "
|
||||
f"Old state: {chat_member_update.old_chat_member.to_python()} "
|
||||
f"New state: {chat_member_update.new_chat_member.to_python()} ")
|
||||
|
||||
async def on_post_process_chat_member(self, chat_member_update, results, data):
|
||||
self.logger.debug(f"{HANDLED_STR[bool(len(results))]} chat_member "
|
||||
f"for user [ID:{chat_member_update.from_user.id}]")
|
||||
|
||||
|
||||
class LoggingFilter(logging.Filter):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -78,6 +78,8 @@ class Dispatcher(DataMixin, ContextInstanceMixin):
|
|||
self.pre_checkout_query_handlers = Handler(self, middleware_key='pre_checkout_query')
|
||||
self.poll_handlers = Handler(self, middleware_key='poll')
|
||||
self.poll_answer_handlers = Handler(self, middleware_key='poll_answer')
|
||||
self.my_chat_member_handlers = Handler(self, middleware_key='my_chat_member')
|
||||
self.chat_member_handlers = Handler(self, middleware_key='chat_member')
|
||||
self.errors_handlers = Handler(self, once=False, middleware_key='error')
|
||||
|
||||
self.middleware = MiddlewareManager(self)
|
||||
|
|
@ -286,6 +288,14 @@ class Dispatcher(DataMixin, ContextInstanceMixin):
|
|||
types.PollAnswer.set_current(update.poll_answer)
|
||||
types.User.set_current(update.poll_answer.user)
|
||||
return await self.poll_answer_handlers.notify(update.poll_answer)
|
||||
if update.my_chat_member:
|
||||
types.ChatMemberUpdated.set_current(update.my_chat_member)
|
||||
types.User.set_current(update.my_chat_member.from_user)
|
||||
return await self.my_chat_member_handlers.notify(update.my_chat_member)
|
||||
if update.chat_member:
|
||||
types.ChatMemberUpdated.set_current(update.chat_member)
|
||||
types.User.set_current(update.chat_member.from_user)
|
||||
return await self.chat_member_handlers.notify(update.chat_member)
|
||||
except Exception as e:
|
||||
err = await self.errors_handlers.notify(update, e)
|
||||
if err:
|
||||
|
|
|
|||
|
|
@ -7,8 +7,10 @@ from .bot_command import BotCommand
|
|||
from .callback_game import CallbackGame
|
||||
from .callback_query import CallbackQuery
|
||||
from .chat import Chat, ChatActions, ChatType
|
||||
from .chat_invite_link import ChatInviteLink
|
||||
from .chat_location import ChatLocation
|
||||
from .chat_member import ChatMember, ChatMemberStatus
|
||||
from .chat_member_updated import ChatMemberUpdated
|
||||
from .chat_permissions import ChatPermissions
|
||||
from .chat_photo import ChatPhoto
|
||||
from .chosen_inline_result import ChosenInlineResult
|
||||
|
|
@ -79,9 +81,11 @@ __all__ = (
|
|||
'CallbackQuery',
|
||||
'Chat',
|
||||
'ChatActions',
|
||||
'ChatInviteLink',
|
||||
'ChatLocation',
|
||||
'ChatMember',
|
||||
'ChatMemberStatus',
|
||||
'ChatMemberUpdated',
|
||||
'ChatPermissions',
|
||||
'ChatPhoto',
|
||||
'ChatType',
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ from __future__ import annotations
|
|||
from . import base
|
||||
from . import fields
|
||||
from .callback_query import CallbackQuery
|
||||
from .chat_member_updated import ChatMemberUpdated
|
||||
from .chosen_inline_result import ChosenInlineResult
|
||||
from .inline_query import InlineQuery
|
||||
from .message import Message
|
||||
|
|
@ -31,6 +32,8 @@ class Update(base.TelegramObject):
|
|||
pre_checkout_query: PreCheckoutQuery = fields.Field(base=PreCheckoutQuery)
|
||||
poll: Poll = fields.Field(base=Poll)
|
||||
poll_answer: PollAnswer = fields.Field(base=PollAnswer)
|
||||
my_chat_member: ChatMemberUpdated = fields.Field(base=ChatMemberUpdated)
|
||||
chat_member: ChatMemberUpdated = fields.Field(base=ChatMemberUpdated)
|
||||
|
||||
def __hash__(self):
|
||||
return self.update_id
|
||||
|
|
@ -61,6 +64,8 @@ class AllowedUpdates(helper.Helper):
|
|||
PRE_CHECKOUT_QUERY = helper.ListItem() # pre_checkout_query
|
||||
POLL = helper.ListItem() # poll
|
||||
POLL_ANSWER = helper.ListItem() # poll_answer
|
||||
MY_CHAT_MEMBER = helper.ListItem() # my_chat_member
|
||||
CHAT_MEMBER = helper.ListItem() # chat_member
|
||||
|
||||
CHOSEN_INLINE_QUERY = deprecated.DeprecatedReadOnlyClassVar(
|
||||
"`CHOSEN_INLINE_QUERY` is a deprecated value for allowed update. "
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue