Skip to content

hzchet/tg-analytics-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tg-analytics Bot

В данном репозитории содержится код телеграм бота Tg-analytics Bot, который по ссылке по заданному телеграм каналу выдает занимательную статистику. Бот написан с использованием Telegram Bot API(библиотека pyTelegramBotApi) и Telegram Client API(библиотека Telethon).

Установка

Чтобы использовать написанный здесь код локально, установите все необходимые пакеты

pip install -r requirements.txt

Используйте свои api_id и api_hash (их можно получить по ссылке), а также token (уникальный токен вашего бота, получить можно здесь) в json файле secret_data.json. А затем запускайте код с помощью команды

python main.py

Подробнее о возможностях бота

Умеет выдавать 3 вида статистики по заданному каналу:

  1. Статистика по постам -- выдает графики динамики постов за все время, по дням и по часам.
  2. Статистика по просмотрам -- выдает графики динамики просмотров за все время, по дням и по часам, а также выдает самый популярный пост в этом канале (по просмотрам) и сообщает о среднем количестве просмотров приходящих на один пост
  3. Статистика по тексту -- выдает облако слов, диаграмму наиболее встречаемых слов, биграм (сочетание 2-х слов) и триграм (сочетание 3-х слов).

А также Бот умеет работать на 2-х языках: русский и английский.

Структура проекта

Код был устроен следующим образом:

  1. Каждому пользователю в соответствие ставился объект класса Analyzer, который выполнял всю работу по обработке данных. Информация о пользоателях хранилась с помощью shelve (а вся работа с shelve происходило с помощью класса Shelver).
  2. В модуле ChannelDataCollector объект класса DataCollector принимал нужные api_id и api_hash, и по заданной ссылке собирал данные по всему каналу и сохранял в отдельном csv файле.
  3. После того как данные собраны с помощью DataCollector, Analyzer их считывает и уже может приступать к запросам пользователя.

About

summer project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages