Skip to content

🤖📈Telestat - это Telegram-Бот для маркетинговых исследований телеграм каналов

Notifications You must be signed in to change notification settings

dasha2000vas/telestat_bot

 
 

Repository files navigation

telestat_bot_team_2

Telestat - это Telegram-Бот для маркетинговых исследований телеграм каналов. Один бот(bot_parse) парсит информацию о подписчиках выбранного канала, сохраняет ее в google таблицу, второй(bot_report) - выводит отчет в чате.

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

В проекте доступны следующие функции: bot_parse - добавление, удаление и получение админов, настройка интервала автоматического сбора данных и запуск сбора данных в google-таблицу, bot_report - формирование отчета на основе google-таблицы и отправка его в чат. Для обоих ботов настроено логирование.


Как скачать и запустить проект:

  1. Клонировать репозиторий и перейти в папку с ним:
git clone git@github.com:dasha2000vas/telestat_bot_team_2.git
cd telestat_bot_team_2
  1. Создать и заполнить файл .env:
DB_URL = sqlite+aiosqlite:///./admins.db
MY_ID = id_владельца_бота
MY_USERNAME = username_владельца_бота
MY_PHONE = телефонный_номер_владельца_бота
EMAIL = электронный_адрес_которому_будет_предоставлен_доступ_к_google-таблице

Создать ботов и получить их токены с помощью BotFather:

BOT_TOKEN = токен_бота-парсера
BOT_TOKEN_REPORT = токен_бота_для_получения_отчета

Войти на сайте https://my.telegram.org/. Перейти в раздел API development tools, создать новое приложение(new application). Под заголовком App Configuration будут необходимые api_id и api_hash.

API_ID = 
API_HASH = 

Получить JSON-файл с ключом доступа к сервисному аккаунту на Google Cloud Platform. Перенести информацию из этого файла в .env:

TYPE=
PROJECT_ID=
PRIVATE_KEY_ID=
PRIVATE_KEY=
CLIENT_EMAIL=
CLIENT_ID=
AUTH_URI=
TOKEN_URI=
AUTH_PROVIDER_X509_CERT_URL=
CLIENT_X509_CERT_URL=
  1. Создать и активировать виртуальное окружение:
python -m venv venv
source venv/Scripts/activate
  1. Установить зависимости из файла requirements.txt:
pip install -r requirements.txt
  1. Применить миграции для таблиц:
alembic upgrade head
  1. Запустить бот:
python main.py 

Технический стек:

  • aiogoogle5.7.0
  • aiosqlite0.20.0
  • alembic1.13.1
  • Pyrogram2.0.106
  • SQLAlchemy2.0.29

Авторы

Имя GitHub
Олег Карапоткин (тимлид) ✔️
Павел Кошкаров ✔️
Дарья Василевская ✔️
Алексей Комков ✔️
Максим ✔️

About

🤖📈Telestat - это Telegram-Бот для маркетинговых исследований телеграм каналов

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.8%
  • Mako 1.2%