суббота, 30 августа 2014 г.

Бот-система (часть 1)

В процессе разработки бот-система для BetFair (API NG) на Python 2.7.
Текущая версия умеет собирать информацию о ценах футбольных рынков Match Odds и Under/Over 2.5.

Linux [deb-пакет версия 1-0-01]
Linux [deb-пакет версия 1-0-02]

Для запуска на Windows требуется наличие установленного дистрибутива Python.



Развёртывание системы ThrMelBot на Debian Linux
(на примере thrmelbot-1.0-01.deb)
Версии очень сильно устарели. Не стоит практически их разворачивать. :)


Скачать thrmelbot-1.0-01.deb и поместить в каталог /tmp.
Выполнить (понадобятся права суперпользователя) команды :
cd /tmp
apt-get install python-requests
dpkg -i thrmelbot-1.0-01.deb

Для того, что-бы посмотреть какая версия системы ThrMelBot установлена 
на вашей системе в данный момент можно выполнить команду:
dpkg -l | grep thrmelbot


Предпусковые работы
Запускать систему можно под учётной записью любого пользователя. Можно и от root, но я предпочитаю от “простого” пользователя.


Для запуска системы следует выполнить команду:
thrmbot stable start


Сообщение :
Для работы 'stable' необходимо наличие пользовательского
сертификата и закрытого ключа:
  '/home/mellon/thrmelbot/ssl-keys/client-2048.crt'
  '/home/mellon/thrmelbot/ssl-keys/client-2048.key'
Можно использовать программу thrmb-crkey
указывает на необходимость создания пользовательского сертификата и закрытого ключа (даже если вы не планируете их использовать для НЕинтерактивного запуска)
Certificate Generation With XCA тут можно прочитать рекомендации BetFair о процедуре создания сертификата и ключей.
Для создания сертификата и закрытого ключа можно запустить скрипт :
thrmb-crkey
Если вы планируете использовать НЕинтерактивный запуск бот системы вам следует разместить сформированный сертификат в настройки вашего аккоунта на сайте BetFair.

Так-же необходимо получить Application Key:
BetFair о Application Keys
Рекомендую перед переходом на Accounts API Visualiser выполнить авторизацию в системе. В этом случае в поле ввода “Session Token (ssoid)” будет отображаться ваш SessionToken (это один из вариантов его интерактивного получения для последующего использования в ботСистеме)

Для создания нового DeveloperAppKeys следует выбрать в левом меню пункт createDeveloperAppKeys; ввести название ВАШЕЙ программы (придумать уникальное имя) в поле ввода “Application Name”, убедиться что в поле ввода “Session Token (ssoid)” имеется SessionToken (который создаётся BetFair после вашей авторизации) и нажать кнопку Execute в нижней части экрана.
В случае успеха в правом части окно отобразится информация о сформированных Application Keys.
Значение “Application Key” для перового из отображаемых ключей (который НЕ содержит “-DELAY” в поле Version) следует внести в поле “application_key” файла log/stable.cfg. Строка должна принять примерно следующий вид
"application_key": "QXyasd2Fs1DRdfZq",

В общем случае для нормальной работы ботСистемы необходим SessionToken.
Можно скопировать содержание поля ввода “Session Token (ssoid)” в файл cfg/session_token.cache

Более менее всё готово для запуска ботСистемы. Как я уже отмечал ранее, для запуска системы следует выполнить команду:
thrmbot stable start
Для остановки системы следует выполнить команду:

thrmbot stable stop

Диагностические сообщения сохраняются в файле log/stable-<номер_процесса>.log Сообщения об ошибка в файле
log/stable-<номер_процесса>.err
Информация об отправленных запросах и результате их выполнения в файле
log/rr_stable.log






Комментариев нет: