tourmaline

forked from protoncr/tourmaline
Simple Telegram bot library for Crystal
tourmaline logo

Tourmaline

Chat on Telegram

Telegram Bot API library written in Crystal. Meant to be a simple, easy to use, and fast library for writing Telegram bots.

Installation

Add this to your application's shard.yml:

dependencies:
  tourmaline:
    github: protoncr/tourmaline
    branch: master

Usage

API documentation is also available here.

Examples are available in the examples folder.

Just for README purposes though, let's look at the echo bot example:

require "tourmaline"

client = Tourmaline::Client.new(ENV["BOT_TOKEN"])

echo_handler = Tourmaline::CommandHandler.new("echo") do |ctx|
  text = ctx.text.to_s
  ctx.reply(text) unless text.empty?
end

client.register(echo_handler)

client.poll

Roadmap

The following features are/will be implemented:

  • HTTP/HTTP Proxies
  • Client API
    • Implementation examples
    • Handlers for commands, queries, and more
    • Robust middleware system
    • Standard API queries
    • Stickers
    • Inline mode
    • Long polling
    • Webhooks
    • Payments
    • Games
    • Polls
    • Telegram Passport
  • Framework Adapters
    • Kemal
    • Amber
    • Lucky
    • Athena
    • Grip

If you want a new feature feel free to submit an issue or open a pull request.

Contributing

  1. Fork it ( https://github.com/protoncr/tourmaline/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

Thanks to all the people that have contributed to this project!

Contributors

Repository

tourmaline

Owner
Statistic
  • 0
  • 1
  • 0
  • 0
  • 5
  • 9 months ago
  • January 31, 2024
License

MIT License

Links
Synced at

Sun, 24 Nov 2024 14:03:24 GMT

Languages