• Stars
    star
    157
  • Rank 238,399 (Top 5 %)
  • Language
    Crystal
  • License
    MIT License
  • Created almost 7 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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