Telegram Bot API Webhooks Framework, for Rubyists.
BOTServer configures, tests and deploys bots, running a fast rack server for webhooks routing.
TELEGRAM Bot API Server
--------------------------------------------------------------------
v v v ^ ^ ^
| | | | | |
| | | SSL/HTTPS | | |
| | | front-end BOTServer | | |
| | | +-------+ Rack router | | |
| | | | | +------+ | | |
| | | | | | | +-------+ HTTPS send | | |
| | | | | | |---->| App 1 |-------------+ | |
| | | | | HTTP | | +-------+ | |
| | | | | POST | | | |
| | +--->| |------>| | +-------+ HTTPS send | |
| +----->| |------>| |---->| App 2 |---------------+ |
+------->| |------>| | +-------+ |
webhooks | | | | |
HTTPS POST | | | | +-------+ HTTPS send |
| | | |---->| App |-----------------+
| | | Thin | +-------+
| NGINX | +------+
+-------+
BOTServer is a devops utility to:
- set-up and test tokens/webhooks
- generate a template app for each bot
- run a webhooks router/server.
Here assembly instruction steps:
- Installation (web/proxy server, Ruby project code)
- Get Telegram Bot token(s)
- Update configuration files
- Create (self-signed) Certificate
- Configure "Webhooks mode" for each token
- Generate template for each bot
- Deploy and run _BOTServer
$ rake
rake app:new[token] # Create bot app template for given token
rake certificate:new # Create SSL certificate
rake certificate:show # Show public certificate
rake proxy:config:new # Generate nginx proxy SSL configuration from server.yml data
rake proxy:restart # Restart proxy server
rake proxy:start # Start proxy server
rake proxy:stop # Stop proxy server
rake server:config:show # Show server configuration: /home/solyaris/BOTServer/config/server.yml
rake server:config:test # Check server configuration: /home/solyaris/BOTServer/config/server.yml
rake server:log # Tail -f rack sever logfile: /home/solyaris/BOTServer/log/thin.log
rake server:pid # Show rack server pid
rake server:restart # Restart rack server
rake server:start # Start rack server
rake server:stop # Stop rack server
rake tokens:show # Show tokens configuration file: /home/solyaris/BOTServer/config/tokens.yml
rake tokens:test # Verify if tokens are valid, online querying Telegram Server
rake webhook:reset[token] # Reset webhook for a given token
rake webhook:set[token] # Set webhook for a given token
"Покушать" "Бургер" "Сэндвич" "Поработать" "За компьютером" "Назад"