Telestat - это Telegram-Бот для маркетинговых исследований телеграм каналов. Один бот(bot_parse) парсит информацию о подписчиках выбранного канала, сохраняет ее в google таблицу, второй(bot_report) - выводит отчет в чате.
Доступ к ботам имеют только админы, сохраненные в базе данных. Добавить админа может только суперпользователь, который создается при инициализации базы данных.
В проекте доступны следующие функции: bot_parse - добавление, удаление и получение админов, настройка интервала автоматического сбора данных и запуск сбора данных в google-таблицу, bot_report - формирование отчета на основе google-таблицы и отправка его в чат. Для обоих ботов настроено логирование.
- Клонировать репозиторий и перейти в папку с ним:
git clone git@github.com:dasha2000vas/telestat_bot_team_2.git
cd telestat_bot_team_2
- Создать и заполнить файл .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=
- Создать и активировать виртуальное окружение:
python -m venv venv
source venv/Scripts/activate
- Установить зависимости из файла requirements.txt:
pip install -r requirements.txt
- Применить миграции для таблиц:
alembic upgrade head
- Запустить бот:
python main.py
- aiogoogle5.7.0
- aiosqlite0.20.0
- alembic1.13.1
- Pyrogram2.0.106
- SQLAlchemy2.0.29
Имя | GitHub |
---|---|
Олег Карапоткин (тимлид) | ✔️ |
Павел Кошкаров | ✔️ |
Дарья Василевская | ✔️ |
Алексей Комков | ✔️ |
Максим | ✔️ |