Git Product home page Git Product logo

tth-2018-bot's Introduction

tth-2018-bot

Ссылка на проект

1. Создание бота

  • Перейдите по ссылке BotFather
  • Вызовите команду /newbot и следуйте инструкциям
  • В файле config.py измените значение переменной token на ваше значение
  • Вызовите команду /setcommands и создайте три команды

    /start_keyboard - Включить клавиатуру /stop_keyboard - Выключить клавиатуру /git - Для разработчиков

2. Деплой

  • Зарегистрируйтесь на платформе Heroku

  • Скачайте CLI для вашей системы

  • Введите логин и пароль в CLI

    heroku login

  • Создайте приложение

    git init

    git commit -m "first commit"

    heroku create name_of_your_app --region eu

  • Задеплойте приложение

    git push heroku master

  • В файле config.py измените значение переменной web_site на ваше значение(адрес вашего приложения)

  • Для корректной работы метода register_next_step_handler() необходимо прописать команду

    heroku config:set WEB_CONCURRENCY=1

3. Подключение базы данных

  • Зайдите в раздел Data и создайте postgresql базу данных / подключите к своему приложению
  • В разделе your_db -> Settings -> View Credentials... вы найдете URI
  • Скопируйте URI и добавьте его в переменную SQLALCHEMY_DATABASE_URI, которая находится в файле confug.py

4. Миграция базы данных

  • Создайте виртуальное окружение в корне проекта и установите нужные пакеты

    virtualenv venv

    source venv/bin/activate (for Linux)

    pip install -r requirements.txt

  • Произведите миграцию

    python manage.py db init

    python manage.py db migrate

    python manage.py db upgrade

5. Админка

  • Измените значение переменной SECRET_KEY в файле config.py на любую последовательность символов

  • Измените значение переменной SECURITY_PASSWORD_SALT в файле config.py на любую последовательность символов

  • Создайте пользователя для админки

    heroku run bash

    python

    from app import db

    from admin import user_datastore

    user_datastore.create_user(email='ваш емейл', password='ваш пароль')

    db.session.commit()

    from models import User

    user = User.query.first()

    user_datastore.create_role(name='admin', description='administrator')

    db.session.commit()

    from models import Role

    role = Role.query.first()

    user_datastore.add_role_to_user(user, role)

    db.session.commit()

    exit()

    exit

6. Google sheets

  • Создайте сервисный аккаунт через Google Developers Console по инструкции, получите json файл и добавьте его в корень проекта
  • Создайте таблицу в Google и добавить сервисному аккаунту доступ на чтение
  • Измените значение переменной CREDENTIALS_FILE в файле config.py на название вашего json файла
  • Измените значение переменной spreadsheet_id в файле config.py на значение id вашей таблицы
  • Просмотрите в файле view.py строчки 150:168(начальная инициализация), 249:425(команды, в которых используется обращение к таблице); вам придется поменять некоторые значения в этих методах, так как медоты настрены под нашу таблицу
  • Воспользуйтесь справочником по Google Sheets API

7. Botan metrica

  • Добавьте приложение в Yandex AppMetrica и получите API key
  • Измените значение переменной botan_key в файле config.py на название вашего API key
  • Пример подключения и использования botan

tth-2018-bot's People

Contributors

konstantinshvyryaev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.