from maxo.enums.update_type import UpdateType
from maxo.errors import AttributeIsEmptyError
from maxo.omit import Omittable, Omitted, is_defined
from maxo.routing.mixins import ChatMethodsFacade
from maxo.routing.updates.base import MaxUpdate
from maxo.types.user import User
[документация]
class UserRemovedFromChat(MaxUpdate, ChatMethodsFacade):
"""
Вы получите это событие, как только пользователь будет удалён из чата, где бот является администратором
Args:
admin_id: Администратор, который удалил пользователя из чата. Может быть `null`, если пользователь покинул чат сам
chat_id: ID чата, где произошло событие
is_channel: Указывает, что пользователь удалён из канала, а не из чата
type:
user: Пользователь, удалённый из чата
"""
type = UpdateType.USER_REMOVED
chat_id: int
"""ID чата, где произошло событие"""
is_channel: bool
"""Указывает, что пользователь удалён из канала, а не из чата"""
user: User
"""Пользователь, удалённый из чата"""
admin_id: Omittable[int] = Omitted()
"""Администратор, который удалил пользователя из чата. Может быть `null`, если пользователь покинул чат сам"""
@property
def unsafe_admin_id(self) -> int:
if is_defined(self.admin_id):
return self.admin_id
raise AttributeIsEmptyError(
obj=self,
attr="admin_id",
)