Исходник Автоматический парсер сообщений и открыватель ссылок из них в Telegram

Эксперт
Статус
Оффлайн
Регистрация
11 Ноя 2020
Сообщения
1,256
Реакции[?]
404
Поинты[?]
72K
Пожалуйста, авторизуйтесь для просмотра ссылки.
\
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.

Инструкция продублирована в README в архиве
Демо:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Парсер был написан чтобы пиздить ключи с канала Говарда, но увы, он перешел на раздачу ключей на ЮГ

Как настроить эту хуйню

1. заходим на my.telegram.org
2. логинимся через ваш номер телефона
3. вводим код от телеги (выглядит как 8asd21wh)
4. заходим в API Development tools
5. в Full Name и Short Name пишем рандомную хуйню, только на английском и без спецсимволов
6. нажимаем Create
7. пастим api_id и api_hash в config.ini в соответствующие поля, в поле channel заменяем этот текст на ссылку на свой канал, не важно или ID, или юзернейм, или ссылка-приглашение
8. сохраняем конфиг
9. если вы еще не установили, ставим Python 3
10. запускаем консоль и пишем pip3 install telethon (на винде pip install telethon)
11. туда же прописываем python3 parser.py (в винде python parser.py)
12. при первом входе оно попросит у вас номер телефона и код от телеги что бы войти, и если стоит, пароль
13. !! ВАЖНО !! подписываемся на канал, за которым следим
14. профит!

Так же в этом парсере есть недочеты, например - он разделяет все слова в сообщении по символу " " и потом оттуда фильтрует ссылки, так же он находит только ссылки которые начинаются на http:// и https://

Удачи!
 
Последнее редактирование:
Эксперт
Статус
Оффлайн
Регистрация
11 Ноя 2020
Сообщения
1,256
Реакции[?]
404
Поинты[?]
72K
Поясняю за код
Код:
config = configparser.ConfigParser()
config.read("config.ini")
api_id   = config['Telegram']['api_id']
api_hash = config['Telegram']['api_hash']
username = config['Telegram']['username']
channel  = config['Telegram']['channel']
Читает настройки, можно добавить свою настройку в конфиг через значение = config['Telegram']['значение_в_конфиге']

client = TelegramClient(username, api_id, api_hash)
Берет инфу для входа и сессию с конфига

@client.on(events.NewMessage(chats=(channel)))
async def normal_handler(event):

Ждет сообщения и когда появляется сообщение запускает кусок кода

rawmessage = event.message.to_dict()['message']
Берет само содержимое сообщения с инфы о нем

Код:
dicks = rawmessage.split(" | ")[0]
huys = dicks.split(" ")
Первая строка - остатки парсера ссылок для спиртхака, вторая строчка разделяет все по символу " " в лист

Код:
huys_links = list()
[huys_links.append(huy) if ("https://" in huy.lower() or "http://" in huy.lower()) else str() for huy in huys]
Создает список huys_links и фильтрует в него все ссылки

Код:
for key in huys_links:
    webbrowser.open(key)
    time.sleep(0.2)
Открывает каждую ссылку с перерывом 0,2 секунды

Код:
client.start()
Входит в телеграм и ждет сообщений

client.run_until_disconnected()
Заставляет телеграм игнорировать всякие краши, и работать пока не пропадет связь с телегой

Надеюсь всем все понятно
 
Начинающий
Статус
Оффлайн
Регистрация
1 Окт 2019
Сообщения
26
Реакции[?]
3
Поинты[?]
0
круто, буду использовать (не для ключей)
 
Забаненный
Статус
Оффлайн
Регистрация
24 Мар 2019
Сообщения
36
Реакции[?]
15
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
а на моём примере что писать?
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,864
Реакции[?]
1,890
Поинты[?]
24K
Прошу вас воздержаться от нарушения правил, не забываем, что это даже не оффтоп. Следующая партия подобных сообщений уже пойдет получать варны.
 
Сверху Снизу