telegram_bots/aggregator/signals.py
2021-03-11 23:43:54 +03:00

18 lines
518 B
Python

from pyrogram.errors import RPCError
from .client import get_client
from .models import Chat, AggregationSource
def aggregation_source_deleted(sender, instance: AggregationSource, **kwargs):
if not AggregationSource.objects.filter(chat_id=instance.chat_id):
Chat.objects.filter(chat_id=instance.chat_id).delete()
def chat_deleted(sender, instance: Chat, **kwargs):
with get_client() as client:
try:
client.leave_chat(instance.chat_id)
except RPCError:
pass