Класс на отписку от Webhook

This commit is contained in:
Денис Семёнов 2025-07-28 01:14:07 +03:00
parent 9010c697f4
commit b69713f996

View File

@ -0,0 +1,54 @@
from typing import TYPE_CHECKING
from ..methods.types.unsubscribed import Unsubscribed
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 UnsubscribeWebhook(BaseConnection):
"""
Отписывает бота от получения обновлений через WebHook. После вызова этого метода бот перестает получать уведомления о новых событиях, и доступна доставка уведомлений через API с длительным опросом.
Args:
bot (Bot): Экземпляр бота для выполнения запроса.
url (str): URL, который нужно удалить из подписок на WebHook
"""
def __init__(
self,
bot: 'Bot',
url: str,
):
self.bot = bot
self.url = url
async def fetch(self) -> Unsubscribed:
"""
Отправляет запрос на подписку бота на получение обновлений через WebHook
Returns:
Unsubscribed: Объект с информацией об операции
"""
if self.bot is None:
raise RuntimeError('Bot не инициализирован')
params = self.bot.params.copy()
params['url'] = self.url
return await super().request(
method=HTTPMethod.DELETE,
path=ApiPath.SUBSCRIPTIONS,
model=Unsubscribed,
params=params,
)