Telegram бот для Центра социокультурных практик «Событие» помогает узнать подробнее о проектах организации, о людях состоящих в этом творческом содружестве, а также другую полезную информацию: контакты, как помочь, актуальные мероприятия и др. Пользователи могут подписаться на новые мероприятия и поиграть в квизы.
python-telegram-bot
- Асинхронный интерфейс для Telegram Bot API. На нём реализован бот.Django
- Используется для предоставления админ-панели для управления БД: квизами, вопросами, ответами и отправки уведомлений пользователям о новом мероприятии.
- Клонировать репозиторий проекта
git clone git@github.com:Studio-Yandex-Practicum/sobitie.git
- Создайте .env
cp .env-example .env
- Для генерации секретного ключа Django, запустите python скрипт
create_dj_secret_key.py
. Добавьте его в .env
python create_dj_secret_key.py
- Установить зависимости
pip install requirements.txt
- Выполнить миграции Django
python drf_sobitie/manage.py migrate
- Вам понадобится Telegram бот <Интерфейс для создания> <Туториал>
- Токент бота добавить в .env
- ID группы добавить в .env
- Включите Long Poll API: Управление -> Работа с API -> Long Poll API -> Включить
- Подключите необходимые события: ... -> Long Poll API -> Типы событий -> Записи на стене -> Добавление
- Интерфейс создания приложения
- Скопируйте сервисный токен из настроек приложения и добавьте его в .env
- Создайте токен доступа. Дополните запрос ниже, вставьте его в адресную строку браузера, разрешите доступ. Скопируйте токен доступа из адресной строки браузера "...access_token_223361982=<сервисный токен>"
https://oauth.vk.com/authorize
?client_id=<ID вашего vk приложения>
&group_ids=<ID вашей vk группы>
&display=page
&redirect_uri=https://oauth.vk.com/blank.html
&scope=wall,manage
&response_type=token
&v=5.131
- Токен доступа добавить в .env
- Запуск Django
python drf_sobitie/manage.py runserver
- Запуск Бота
python manage.py runbot
*** Для более удобного развертывания рекомендуем запуск через docker compose
- Клонировать репозиторий проекта
git clone git@github.com:Studio-Yandex-Practicum/sobitie.git
- Перейти в корневую папку проекта
cd sobitie/
- Создать
.env
и заполнить пустые значения по образцу.env-example
touch .env
nano .env
# Для сохранения файла используйте CTRL+O
# Если просит ввести имя файла, то проверьте правильность и подтвердите нажатием Enter
- Чтобы сгенерировать секретный ключ Django, запустите python скрипт
create_dj_secret_key.py
python create_dj_secret_key.py
Далее скопируйте его и заполните нужную переменную в .env
4. Запустить скрипт run.sh
./run.sh
- залить файл docker-compose на сервер в домашнюю директорию
- залить каталог nginx на сервер в домашнюю директорию
sudo apt update && apt upgrade
sudo apt install docker-compose