Telegram chat reader
Программа полностью сливает чаты телеграм в базу данных PostgreSQL. Для использования нужен развернутый сервер постгрес и телеграм-аккаунт.
Предварительно нужно настроить свой телеграм:
- зайти на сайт Telegram
- Выбрать раздел API Development Tools
- Зарегистрировать там свое приложение (название, короткое название и главное, написать пару слов в раздел about)
- полученные api-id и api-hash записать в chat_reader.toml (тот же ini файл, открывается блокнотом)
Так же в chat_reader.toml нужно внести название и настройки базы данных, в которую будут складываться данные.
Внимание! запускать скрипт следует всегда из его папки, telethon там хранит файл session
После настройки, запустите chat_reader.py --check. В первый и единственный раз надо будет ввести телефон, на который зарегистрирован Telegram аккаунт. А также код подтверждения, который будет прислан Telegram. После чего, храните файл chat_reader.session, он действует бесконечно, пока вы его не отключите через клиента.
Если все настройки прошли успешно, программа об этом сообщит.
Команды для использования:
--chat имя_чата - добавляет чат в базу и его скачивает. Если чат прикреплен к каналу, введите имя канала вместо чата, он будет обнаружен и скачан.
--all обновление базы данных, программа скачивает свежие сообщения со всех чатов, которые есть в базе.
При запуске без параметров, показывает текущую статистику базы данных: количество сообщений, чатов и занятое ими место.
Все рабочие сообщения выводятся на экран и в логе (по умолчанию, reader.log), лог при каждом запуске перезаписывается.
В бд программа создает три таблицы, для сообщений, юзеров и каналов. Скачивается текстовая часть чата. Мультимедиа только обозначается в поле media таблицы сообщений.
Благодарности, вопросы и запросы фич складывать здесь или в комментариях к этому посту.
Лицензия на код и документацию MIT. Вы можете свободно использовать, изменять и продавать код при условии сохранения информации об авторских правах.