This commit is contained in:
2021-03-11 23:43:54 +03:00
parent 22bce5b147
commit a86ddf61bf
35 changed files with 1129 additions and 801 deletions

View File

@@ -1,10 +1,12 @@
import os
from typing import List
from django.core.files.storage import default_storage
from djconfig import config
from pyrogram import Client, MessageHandler, DeletedMessagesHandler, \
Message as PyrogramMessage, Messages as PyrogramMessages
from pyrogram.api.errors import ChannelPrivate
from pyrogram import Client
from pyrogram.handlers import MessageHandler, DeletedMessagesHandler
from pyrogram.types import Message as PyrogramMessage
from pyrogram.errors import ChannelPrivate
from pyrogram.session import Session
from aggregator.models import AggregationSource, Message, Chat
@@ -30,8 +32,8 @@ def save_message(client, message: PyrogramMessage):
Message.from_obj(message, client)
def delete_messages(client, messages: PyrogramMessages):
for message in messages.messages:
def delete_messages(client, messages: List[PyrogramMessage]):
for message in messages:
Message.objects.filter(chat__chat_id=message.chat.id, message_id=message.message_id).update(deleted=True)

View File

@@ -3,7 +3,7 @@ from django.core.exceptions import ValidationError
from django.core.files.storage import default_storage
from django.forms import ModelForm
from djconfig.forms import ConfigForm
from pyrogram.api.errors import ChannelPrivate
from pyrogram.errors import ChannelPrivate
from config.utils import parse_mtproto_chat
from .client import get_client

View File

@@ -5,7 +5,7 @@ from tempfile import TemporaryDirectory
import pytz
from django.conf import settings
from django.db import models, transaction
from pyrogram import Chat as PyrogramChat, Message as PyrogramMessage
from pyrogram.types import Chat as PyrogramChat, Message as PyrogramMessage
class AggregationSource(models.Model):

View File

@@ -1,4 +1,4 @@
from pyrogram import Error
from pyrogram.errors import RPCError
from .client import get_client
from .models import Chat, AggregationSource
@@ -13,5 +13,5 @@ def chat_deleted(sender, instance: Chat, **kwargs):
with get_client() as client:
try:
client.leave_chat(instance.chat_id)
except Error:
except RPCError:
pass