Solid Grab&Top (SGT) - это программа на языке Python, которая собирает сообщения из Телеграм канала или чата, готовит шаблон поста со статистикой по нескольким параметрам (таким как топ комментирующих пользователей, топ использованных слов, результаты викторин и многое другое) и отправляет его в выбранный диалог.
Внешний вид интерфейса:
Пример вывода результата:
Скрипт написан на языке Python 3 и использует несколько дополнительных модулей, таких как Telethon, Pyrogram, PIL, matplotlib, wordcloud, PyQt5, Pymorph2 и NLTK. SGT написан в ООП стиле группой студентов (команда Фуксий) в качестве нашего первого опыта как в командной работе, так и в работе с асинхронными библиотеками, причем и то и другое было достаточно серьезным испытанием :)
Выполните в консоли:
git clone https://github.com/obulygin/tg_stat_fuxy.git
pip install -r requirements.txt
Авторизационная информация хранится в файле settings.ini в следующем виде:
api_id =
api_hash =
phone =
Инструкция по получению авторизационных данных и заполнению файла settings.ini.
-
Перейдите по ссылке https://my.telegram.org/auth и введите номер телефона привязанный к вашему телеграм аккаунту (его же нужно будет прописать в 'phone' файла settings.ini).
-
После подтверждения перейдите в 'API development tools'.
- Заполните поля 'App title' и 'Short name' (названия могут быть любыми).
- После заполнения и сохранения, в полях 'App api_id' и 'App api_hash' появятся данные, которые нужно скопировать в api_id и api_hash файла settings.ini соответственно.
Итоговый пример заполнения файла settings.ini:
api_id = 12345678
api_hash = 12qwer12345q12qw2we456r123q45r2w
phone = +12345678945
Вы можете открыть для заполнения файл settings.ini в любом редакторе (например, в Блокноте).
Чтобы запустить программу, выполните в консоли:
python main.py
При первом запуске программа попросит ввести Ваш номер телефона, после чего Телеграм пришлет на него код-подтверждение, который также будет необходимо ввести. После этого в папке с программой будет создан файл с расширением .session и до тех пор, пока он будет находиться в папке, Вам больше не придется проходить процедуру авторизации.
Далее для работы с программой просто выберите необходимые пункты и нажмите на кнопку "Отправить статистику". После чего в Ваш диалог Избранное (Saved Messages) будет отправлен шаблон со статистикой, который Вы сможете при необходимости подкорректировать и переслать в Ваш чат или канал.
Добавление слов в поле "Исключаемые слова" будет исключать слова из подборки "Популярные слова".
Из поля "Список доступных масок" вы можете выбрать необходимую маску для "облака слов". Так же вы можете добавить свою собственную маску, для этого создайте шаблон в формате .png и поместите его в папку /img.