o.ataew.tm

Зарегистрирован с 08.12.2022
Комментарии
08 декабря 2022

Доброго времени суток подскажите пожалуйста какую строку изменить чтобы парсить только ФОТО

from telethon import TelegramClient, events, errors, types import asyncio import re import json

=================================================================

api_id = 1*4 api_hash = "9***6"

=================================================================

KEYS = { r"https://\S+": "https://wa.me/message/F1", * }

=================================================================

Bad_Keys = ["$","TL"]

=================================================================

tags = ''

добавление текста к посту, если не надо оставить ковычки пустыми ""

----

with TelegramClient('myApp13', api_id, api_hash) as client: print("~Activated~")

(events.NewMessage())
async def Messages(event):
    with open('channels.json', 'r+') as f:
        channels = json.load(f)
    f.close()
    ev_channel = await client.get_entity(types.PeerChannel(event.message.peer_id.channel_id))
    for ch in channels:
        if ch == f'@{ev_channel.username}':
            if not [element for element in Bad_Keys if event.raw_text.lower().__contains__(element)]:

                text = event.raw_text

                with open('Hashtags.json', 'r+') as f:
                    Hashtags = json.load(f)
                f.close()

                for i in Hashtags:
                    if i == f'@{ev_channel.username}':
                        text = ''
                        text += f'{Hashtags[i]}\n{event.raw_text}'

                for i in KEYS:
                    text = re.sub(i, KEYS[i], text)

                if not event.grouped_id and not event.message.forward:
                    try:
                        await client.send_message(
                            entity=channels[ch],
                            file=event.message.media,
                            message=text + tags,
                            parse_mode='md',
                            link_preview=False)
                    except errors.FloodWaitError as e:
                        print(f'[!] Ошибка флуда ждем: {e.seconds} секунд')
                        await asyncio.sleep(e.seconds)
                    except Exception as e:
                        print('[!] Ошибка', e)
                elif event.message.text and not event.message.media and not event.message.forward and not event.grouped_id:
                    try:
                        await client.send_message(channels[ch], text+tags, parse_mode='md', link_preview=False)
                    except errors.FloodWaitError as e:
                        print(f'[!] Ошибка флуда ждем: {e.seconds} секунд')
                        await asyncio.sleep(e.seconds)
                    except Exception as e:
                        print('[!] Ошибка', e)
                elif event.message.forward:
                    try:
                        await client.send_message(channels[ch], text+tags, parse_mode='md', link_preview=False)
                    except errors.FloodWaitError as e:
                        print(f'[!] Ошибка флуда ждем: {e.seconds} секунд')
                    except Exception as e:
                        print('[!] Ошибка', e)

(events.Album())
async def Album(event):
    my_channel_a = await client.get_entity(types.PeerChannel(event.original_update.message.peer_id.channel_id))
    with open('channels.json', 'r+') as f:
        channels = json.load(f)
    f.close()
    for ch in channels:
        if ch == f'@{my_channel_a.username}':
            text = event.original_update.message.message
            if not [element for element in Bad_Keys if text.lower().__contains__(element)]:
                for i in KEYS:
                    text = re.sub(i, KEYS[i], text)

                text = event.raw_text

                with open('Hashtags.json', 'r+') as f:
                    Hashtags = json.load(f)
                f.close()

                for i in Hashtags:
                    if i == f'@{my_channel_a.username}':
                        text = ''
                        text += f'{Hashtags[i]}\n{event.raw_text}'

                for i in KEYS:
                    text = re.sub(i, KEYS[i], text)

                try:
                    await client.send_message(
                        entity=channels[ch],
                        file=event.messages,
                        message=text + tags,
                        parse_mode='md',
                        link_preview=False)
                except errors.FloodWaitError as e:
                    print(f'[!] Ошибка флуда ждем: {e.seconds} секунд')
                    await asyncio.sleep(e.seconds)
                except Exception as e:
                    print('[!] Ошибка', e)
client.run_until_disconnected()
Ответить