tourmaline
Version, currently 0.29.030 versions
- 0.29.0latestMay 4, 2023
- 0.29.0-beta.1not indexedNov 14, 2025
- 0.28.0not indexedNov 14, 2025
- 0.27.0not indexedNov 14, 2025
- 0.25.1not indexedNov 14, 2025
- 0.25.0not indexedNov 14, 2025
- 0.24.0not indexedNov 14, 2025
- 0.23.0not indexedNov 14, 2025
- 0.22.0not indexedNov 14, 2025
- 0.20.0not indexedNov 14, 2025
- 0.19.1not indexedNov 14, 2025
- 0.19.0not indexedNov 14, 2025
- 0.18.1not indexedNov 14, 2025
- 0.18.0not indexedNov 14, 2025
- 0.17.0not indexedNov 14, 2025
- 0.16.0not indexedNov 14, 2025
- 0.15.1not indexedNov 14, 2025
- 0.15.0not indexedNov 14, 2025
- 0.14.0not indexedNov 14, 2025
- 0.13.0not indexedNov 14, 2025
- 0.12.0not indexedNov 14, 2025
- 0.11.0not indexedNov 14, 2025
- 0.10.0not indexedNov 14, 2025
- 0.9.0not indexedNov 14, 2025
- 0.8.0not indexedNov 14, 2025
- 0.7.0not indexedNov 14, 2025
- 0.6.1not indexedNov 14, 2025
- 0.6.0not indexedNov 14, 2025
- 0.5.0not indexedNov 14, 2025
- 0.1.0not indexedNov 14, 2025
github.com/protoncr/tourmaline
Simple Telegram bot library for Crystal
166 stars
0 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
tourmaline:
github: protoncr/tourmaline
version: ~> 0.29.0Then run:
shards installshard.yml
- Crystal
>= 1.6.0- License
- MIT
- Author
- Chris Watson <chris@watzon.tech>
Dependencies
Runtime Dependencies
- db~> 0.11.0github: crystal-lang/crystal-db
- http_proxy*github: mamantoha/http_proxy, branch: master
Development Dependencies
README
<div align="center">
<img src="./img/logo.png" alt="tourmaline logo">
</div>
# Tourmaline
[](https://t.me/protoncr)
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`:
```yaml
dependencies:
tourmaline:
github: protoncr/tourmaline
branch: master
```
## Usage
API documentation is also available [here](https://tourmaline.dev/api_reference/Tourmaline/).
Examples are available in the [examples](https://github.com/protoncr/tourmaline/tree/master/examples) folder.
Just for README purposes though, let's look at the echo bot example:
```crystal
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:
- [x] HTTP/HTTP Proxies
- [x] Client API
- [x] Implementation examples
- [x] Handlers for commands, queries, and more
- [x] Robust middleware system
- [x] Standard API queries
- [x] Stickers
- [x] Inline mode
- [x] Long polling
- [x] Webhooks
- [x] Payments
- [x] Games
- [x] Polls
- [x] 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!
[](https://github.com/protoncr/tourmaline/graphs/contributors)
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.29.0- Tagged
- May 4, 2023
- Commit
82c2b38e75d6- Crystal
>= 1.6.0- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/protoncr/tourmaline
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 12, 2026
- Synced
- Aug 12, 2026
- Versions
- 30