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()
Ответить
Пожаловаться