Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hookahrobot

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

К чему это всё?

Здесь описана полная инструкция того, как правильно установить у себя на удалённом сервере этого бота. Также это сделано для меня самого, когда я в очередной раз переустановлю сервер:)

Установка

Шаг 1. Ты где?

Тут нам нужно разобраться, где ты. Поэтому перейди в домашнюю папку и скачай бота

$ cd
$ git clone https://github.com/Plintes/hookahrobot.git
$ cd ~/hookahrobot

Шаг 2. Устанавливаем сертификаты для webhooks

Ничего сложного, просто сертификаты для вэбхуков. Если хочется подробнее узнать о том, как они работают, то можно прочитать эту статью про вэбхуки.

$ sudo apt-get install openssl
$ openssl genrsa -out webhook_pkey.pem 2048

После следующей команды нам предложат ввести некоторую информацию о себе: двухбуквенный код страны, имя организации и т.д. Если не хотите ничего вводить, ставьте точку. ВАЖНО! Когда дойдете до предложения ввести Common Name, следует написать IP адрес сервера, на котором будет запущен бот.

$ openssl req -new -x509 -days 3650 -key webhook_pkey.pem -out webhook_cert.pem

В конце получаем два сертификата, которые будут лежать вместе с ботом.

Шаг 3. Устанавливаем python3

По умолчанию, например, на Ubuntu стоит python 3.5.2. Для работы бота необходим python 3.6 В Ubuntu 16.04 новая версия Python 3.6 не поставляется. Поэтому вы можете собрать ее из исходников или же использовать PPA.

$ sudo add-apt-repository ppa:jonathonf/python-3.6

Высветится предупреждение о том, что python 3.5 удалять нельзя. Соглашаемся с этим, нажав Enter.

 A plain backport of *just* Python 3.6. System extensions/Python libraries may or may not work.

Don`t remove Python 3.5 from your system - it will break.
More info: https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6
Press [ENTER] to continue or ctrl-c to cancel adding it  

После этого ввести

$ sudo apt update

Установка Python 3.6 Ubuntu 16.04 выполняется командой:

$ sudo apt install python3.6

После установки можно назначить запуск python 3.6 при вводе команды python3, так как сейчас по умолчанию запускается python 3.5

$ sudo ln -fs /usr/bin/python3.6 /usr/bin/python3

Проверить версию python можно с помощью этой команды:

$ python3 -V

Шаг 4. Установка pip3

pip является системой управления пакетами и используется для установки и управления пакетами программного обеспечения, написанные на Python.

ВАЖНО! Не советую устанавливать pip3 с помощью команды apt-get, так как она устанавливает старую версию и если обновить её до новой версии при помощи внутренних средств pip, то он в итоге выйдет из строя.

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py

Проверить версию pip можно с помощью команды

$ pip3 -V

Шаг 5. Установка необходимых библиотек (pyTelegramBotAPI и Flask)

Взаимодействие ботов с людьми основано на HTTP-запросах. Библиотека pyTelegramBotAPI - это такой “конструктор”, в котором содержатся все необходимые нам компоненты-“кубики”.

$ sudo pip install pyTelegramBotAPI

Вэб-фреймворк Flask же предназначен для обработки сообщений от веб-сервера. Нужно это для работы вэбхуков, сертификаты на которые были созданы на первом шагу.

$ sudo pip install Flask

Шаг 6. Настройка бота.

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

token - выдаётся в боте @BotFather
WEBHOOK_HOST - ip адрес вашего сервера
WEBHOOK_PORT - порт, через который будет работать бот. 

ВАЖНО! Обязательно проверьте настройки фаервола и добавьте порт, который вы указали в пункте выше

$ nano ~/hookahrobot/webHookahRobot.py

Это была последняя настройка.

Шаг 7. Запуск бота

Настал момент истины. Запуск бота

$ nohup python3 ~/hookahrobot/webHookahRobot.py &

Команда nohup перенаправляет внутренние сообщения скомпилированного бота в отдельный файл nohup.out. В случае возникновения проблем, очень удобно изучить этот файл.

& -- амперсанд в конце запускает бота в фоне на сервере.

Шаг 8. Кайфовать

Ну а теперь пора выяснить, кто же будет первым курить калик?

License

Plintes

About

Bot for telegram that helps companies of friends organized there order in smoking hookah

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages