Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц, летом дешевле!

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2022, 17:05   #1
milky1
Новичок
Джуниор
 
Регистрация: 13.10.2022
Сообщений: 1
Счастье телеграм бот-граббер

Есть бот-граббер на telethon. В него встроены функции авто-замены, плохих слов и тегов.

Принцип работы бота:
Из канала-источника пересылаю в ручную пост в канал-посредник, далее бот отправляет этот пост с изменениями в канал назначения

Проблема заключается в том, что бот огромное количество раз отправляет текст с первой фотографией из альбома отдельно от остальных. Половина таких постов не обрабатывается авто-заменой и криво работает система плохих слов. Также отсутствует изначальное форматирование текста в виде жирного текста, курсива, встроенных ссылок и т.д.

Я абсолютно не разбираюсь в пайтон и бла бла бла, поэтому и пишу сюда, надеюсь на помощь)

Код:
from telethon import TelegramClient, events
from telethon import errors
import asyncio
import re
 
api_id = 
api_hash = ''
 
my_channel_id = 'Канал назначения'
channels = 'Канал посредник'
 
Bad_Keys = ['Плохое слово']
 
KEYS = {
    "": ''
}
 
tags = ''
 
client = TelegramClient('myGrab', api_id, api_hash)
print("GRAB - Started")
 
 
@client.on(events.NewMessage(chats=channels))
async def my_event_handler(event):
  text = event.raw_text
  for i in KEYS:
      text = re.sub(i, KEYS[i], text)
      try:
          await client.send_message(my_channel_id, message=text + tags, file=event.message.media)
      except errors.FloodWaitError as e:
                    print(f'[!] Ошибка флуда ждем: {e.seconds} секунд')
                    await asyncio.sleep(e.seconds)
      except Exception as e:
                    print('[!] Ошибка', e)                 
                    
client.start()
client.run_until_disconnected()

Последний раз редактировалось milky1; 13.10.2022 в 17:09.
milky1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц, летом дешевле!

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ГРАББЕР для DLE Edgors Общие вопросы C/C++ 1 26.09.2010 20:35
Десктопный DLE граббер Maximgo Фриланс 8 05.06.2010 16:11
Граббер на php [MoNAMur] PHP 2 26.01.2010 23:37
Граббер, в чем косяк? Arsmuzhik PHP 1 09.07.2009 00:10
Граббер sergeyich Фриланс 4 07.06.2009 15:10