telers

Crates.iotelers
lib.rstelers
version1.0.0-alpha.18
sourcesrc
created_at2023-06-12 09:46:41.735616
updated_at2024-04-28 14:12:25.055806
descriptionAn asynchronous framework for Telegram Bot API written in Rust
homepage
repositoryhttps://github.com/Desiders/telers
max_upload_size
id888036
size1,736,788
(Desiders)

documentation

README

telers

An asynchronous framework for Telegram Bot API written in Rust

Telers make it easy to create Telegram bots in Rust.

Before you start, make sure that you have a basic understanding of the Telegram Bot API, because types and methods in the library have the same fields and types as in the documentation.

Highlights

  • Asynchronous. Built on top of Tokio, a powerful asynchronous runtime.
  • Easy to use. Provides a simple and intuitive API for creating bots.
  • Based on aiogram. Inspired by the framework written in Python and tries to provide a similar functionality.
  • Routers, Middlewares, Filters and Handlers. Provides a powerful system of routers, middlewares, filters and handlers to make your code more readable and maintainable, and simplify the creation of bots.
  • Extractors. Have similar system of extractors as in axum and actix.

Examples

  • Echo bot. This example shows how to create an echo bot.
  • Text formatting. This example shows how to format text.
  • Text case filters. This example shows how to create text case filters.
  • Stats updates middleware. This example shows how to create a middleware that count incoming updates.
  • Context. This example shows how to extract data from event and context and use it in handlers.
  • Input file. This example shows how to send files by the bot.
  • [Finite state machine][examples/fsm]. This example shows how to use a finite state machine (conversation).
  • Router tree. This example shows how to create a router tree.
  • Bot http client. This example shows how to set a custom bot HTTP client.
  • Axum and echo bot. This example shows how to create an echo bot and run it concurrently with polling axum server.

You may consider checking out this directory for more examples.

Community

Telegram

License

This project is licensed under either of the following licenses, at your option:

  • Apache License, Version 2.0
  • MIT License
Commit count: 597

cargo fmt