Telegramex (Telegramex v0.1.1) View Source
Telegram's Bot API wrapper.
Features
- Support for multiple bots
- Configurable HTTP client
- No application configuration
Usage
- Add the dependencies
def deps do
[
{:finch, "~> 0.5"},
{:telegramex, "~> 0.1.1"}
]
end- Add the finch client to your supervision tree
children = [
{Finch, name: Telegramex.HTTPClient}
]Note: Checkout the Telegramex.Client on how to use other HTTP client.
- Make a request
client = %Telegramex.Client{token: "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"}
Telegramex.get_updates(client)Full documentation can be found at https://hexdocs.pm/telegramex.
Telemetry
Telegramex executes the following events:
[:telegramex, :call, :start]- Executed before calling the Telegram Bot API.Measurements
:system_time- The system timeMetadata:
:method- The Telegram Bot API method call:body- The body of the API call
[:telegramex, :call, :stop]- Executed after a API call.Measurements
:duration- Duration of the API call.Metadata
:method- The Telegram Bot API method call:body- The body of the API call:response- (optional) In case of success (status 200), the response of the api as returned by the HTTP client.:error- (optional) In case of a error, returns the error.
[:telegramex, :call, :exception]- Executed if the API call raises an exception.Measurements
:duration- The time it took before raising an exceptionMetadata
:method- The Telegram Bot API method call:body- The body of the API call:kind- The type of exception.:error- Error description or error data.:stacktrace- The stacktrace
Changelog
See the changelog.
Link to this section Summary
Functions
Use this method to send answers to an inline query.
Use this method to receive incoming updates using long polling.
Link to this section Functions
Specs
answer_inline_query(Telegramex.Client.t(), String.t(), [map()], Keyword.t()) :: {:ok, map()} | {:error, term()}
Use this method to send answers to an inline query.
Options
cache_time- (optional)is_personal- (optional)next_offset- (optional)switch_pm_text- (optional)switch_pm_parameter- (optional)
Checkout the Telegram Bot API Documentation for a complete description of each option.
Usage
client = %Telegramex.Client{token: "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"}
Telegramex.answer_inline_query(client, "2648678931644704387", results)
Specs
get_updates(Telegramex.Client.t(), Keyword.t()) :: {:ok, map()} | {:error, term()}
Use this method to receive incoming updates using long polling.
Options
offset- (optional)limit- (optional)timeout- (optional)allowed_updates- (optional)
Checkout the Telegram Bot API Documentation for a complete description of each option.
Usage
client = %Telegramex.Client{token: "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"}
Telegramex.get_updates(client)