Awesome
<div align="center"> <img src="./img/logo.png" alt="tourmaline logo"> </div>Tourmaline
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
- Fork it ( https://github.com/protoncr/tourmaline/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
Thanks to all the people that have contributed to this project!