# -*- coding: utf-8 -*- """ Обработчик подписок (roster subscription requests). Автоматически одобряет все входящие запросы и отправляет встречную подписку. """ import logging logger = logging.getLogger(__name__) class SubscriptionHandler: """Автоматически принимает все запросы на подписку (для упрощения).""" def __init__(self, bot): self.bot = bot async def handle_subscription(self, presence): """ Обработчик события roster_subscription_request. Автоматически одобряет и подписывается в ответ. """ jid = presence['from'].bare logger.info(f"Запрос подписки от {jid}, одобряем.") # Отправляем разрешение на подписку (пользователь может видеть статус бота) self.bot.send_presence(pto=jid, ptype='subscribed') # Отправляем встречную подписку (бот будет видеть статус пользователя) self.bot.send_presence(pto=jid, ptype='subscribe')