thiamsantos / telegramex

Telegram's Bot API

Home Page:https://hex.pm/packages/telegramex

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Telegramex

Telegram's Bot API wrapper.

Hex.pm Version CI Coverage Status

Features

  • Support for multiple bots
  • Configurable HTTP client
  • No application configuration

Usage

  1. Add the dependencies
def deps do
  [
    {:finch, "~> 0.5"},
    {:telegramex, "~> 0.1.1"}
  ]
end
  1. 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.

  1. 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 time

    Metadata:

    • :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 exception

    Metadata

    • :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.

Contributing

See the contributing file.

License

Apache License, Version 2.0 © Thiago Santos

About

Telegram's Bot API

https://hex.pm/packages/telegramex

License:Apache License 2.0


Languages

Language:Elixir 100.0%