1
0
зеркало из https://github.com/glebtv/telegram-bot.git synced 2026-09-07 19:35:52 +03:00

Remove section about Botan.io because this service isn’t available anymore

Этот коммит содержится в:
Konstantin Reido
2018-06-22 00:45:12 +03:00
родитель 4bf5956b41
Коммит 543258fa11

Просмотреть файл

@@ -19,7 +19,7 @@ Package contains:
- Middleware and routes helpers for production env. - Middleware and routes helpers for production env.
- Poller with automatic source-reloader for development env. - Poller with automatic source-reloader for development env.
- Rake tasks to update webhook urls. - Rake tasks to update webhook urls.
- __[Async mode](#async-mode)__ for Telegram and/or Botan API. - __[Async mode](#async-mode)__.
Let the queue adapter handle network errors! Let the queue adapter handle network errors!
Here is sample [telegram_bot_app](https://github.com/telegram-bot-rb/telegram_bot_app) Here is sample [telegram_bot_app](https://github.com/telegram-bot-rb/telegram_bot_app)
@@ -496,48 +496,12 @@ While webhooks-mode is prefered, poller still can be used in production.
See [comparison and examples](https://github.com/telegram-bot-rb/telegram-bot/wiki/Deployment) See [comparison and examples](https://github.com/telegram-bot-rb/telegram-bot/wiki/Deployment)
for details. for details.
### Botan.io metrics
Initialize with `bot = Telegram::Bot::Client.new(token, botan: 'botan token')`
or just add `botan` key in `secrets.yml`:
```yml
telegram:
bot:
token: bot_token
botan: botan_token
```
Access to Botan client with `bot.botan`.
Use `bot.botan.track(event, uid, payload)` to track events.
There are some helpers for controllers in `Telegram::Bot::Botan::ControllerHelpers`:
```ruby
class Telegram::WebhookController < Telegram::Bot::UpdatesController
include Telegram::Bot::Botan::ControllerHelpers
# This will track with event: action_name & data: payload
before_action :botan_track_action
def smth(*)
# This will track event for current user only when botan is configured.
botan_track :my_event, custom_data
# or get access directly to botan client:
botan.track(...)
end
end
```
There is no stubbing for botan clients, so don't set botan token in tests.
### Async mode ### Async mode
There is built in support for async requests using ActiveJob. Without Rails There is built in support for async requests using ActiveJob. Without Rails
you can implement your own worker class to handle such requests. This allows: you can implement your own worker class to handle such requests. This allows:
- Process updates very fast, without waiting for telegram and botan responses. - Process updates very fast, without waiting for telegram responses.
- Handle and retry network and other errors with queue adapter. - Handle and retry network and other errors with queue adapter.
- ??? - ???
@@ -545,7 +509,7 @@ Instead of performing request instantly client serializes it, pushes to queue,
and immediately return control back. The job is then fetched with a worker and immediately return control back. The job is then fetched with a worker
and real API request is performed. And this all is absolutely transparent for the app. and real API request is performed. And this all is absolutely transparent for the app.
To enable this mode add `async: true` to bot's and botan's config. To enable this mode add `async: true` to bot's config.
For more information and custom configuration check out For more information and custom configuration check out
[docs](http://www.rubydoc.info/github/telegram-bot-rb/telegram-bot/master/Telegram/Bot/Async) or [docs](http://www.rubydoc.info/github/telegram-bot-rb/telegram-bot/master/Telegram/Bot/Async) or
[source](https://github.com/telegram-bot-rb/telegram-bot/blob/master/lib/telegram/bot/async.rb). [source](https://github.com/telegram-bot-rb/telegram-bot/blob/master/lib/telegram/bot/async.rb).