Skip to content

Plintes/hookahrobot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

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

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages