49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
from typing import TYPE_CHECKING
|
|
|
|
from ..methods.types.deleted_bot_from_chat import DeletedBotFromChat
|
|
|
|
from ..enums.http_method import HTTPMethod
|
|
from ..enums.api_path import ApiPath
|
|
|
|
from ..connection.base import BaseConnection
|
|
|
|
|
|
if TYPE_CHECKING:
|
|
from ..bot import Bot
|
|
|
|
|
|
class DeleteMeFromMessage(BaseConnection):
|
|
|
|
"""
|
|
Класс для удаления бота из участников указанного чата.
|
|
|
|
Args:
|
|
bot (Bot): Экземпляр бота для выполнения запроса.
|
|
chat_id (int): Идентификатор чата, из которого нужно удалить бота.
|
|
"""
|
|
|
|
def __init__(
|
|
self,
|
|
bot: 'Bot',
|
|
chat_id: int,
|
|
):
|
|
self.bot = bot
|
|
self.chat_id = chat_id
|
|
|
|
async def fetch(self) -> DeletedBotFromChat:
|
|
|
|
"""
|
|
Отправляет DELETE-запрос для удаления бота из чата.
|
|
|
|
Returns:
|
|
DeletedBotFromChat: Результат операции удаления.
|
|
"""
|
|
|
|
if self.bot is None:
|
|
raise RuntimeError('Bot не инициализирован')
|
|
return await super().request(
|
|
method=HTTPMethod.DELETE,
|
|
path=ApiPath.CHATS + '/' + str(self.chat_id) + ApiPath.MEMBERS + ApiPath.ME,
|
|
model=DeletedBotFromChat,
|
|
params=self.bot.params,
|
|
) |