parent
56f516e25b
commit
fbfe97fe5b
@ -0,0 +1,24 @@
|
||||
from django.db import transaction
|
||||
from pyrogram import Error
|
||||
|
||||
from .client import get_client
|
||||
from .models import Chat, AggregationSource
|
||||
from .tasks import collect_new_messages
|
||||
|
||||
|
||||
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_created(sender, instance: Chat, created, **kwargs):
|
||||
if created:
|
||||
transaction.on_commit(lambda: collect_new_messages.delay(instance.pk))
|
||||
|
||||
|
||||
def chat_deleted(sender, instance: Chat, **kwargs):
|
||||
with get_client() as client:
|
||||
try:
|
||||
client.leave_chat(instance.chat_id)
|
||||
except Error:
|
||||
pass
|
Loading…
Reference in new issue