hamilton
Version, currently 0.5.09 versions
github.com/Scurrra/hamilton
Telegram Bot API wrapper for Crystal
6 stars
0 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
hamilton:
github: Scurrra/hamilton
version: ~> 0.5.0Then run:
shards installshard.yml
- Crystal
>= 1.19.1- License
- MIT
- Author
- Scurrra (Ilja Baroŭski)
Dependencies
This version declares no dependencies.
README
hamilton
Crystal wrapper for Telegram Bot API (updated to 9.6) with optional async execution. Telegram Mini Apps are not supported.
Installation
-
Add the dependency to your
shard.yml:dependencies: hamilton: github: Scurrra/hamilton -
Run
shards install
Usage
require "hamilton"
API = Hamilton::Api.new(token: "<YOUR-API-TOKEN>")
handler = Hamilton::CmdHandler.new
@[Handler(handler)]
@[Handle(command: "/start")]
def handle_start_command(argument, context, update)
# logic here
return nil
end
@[Handler(handler)]
@[Handle(command: "help")]
def handle_help_command(argument, context, update)
# logic here
return nil
end
bot = Hamilton::Bot.new(
api: API,
handlers: [
Hamilton::LogHandler.new,
handler
]
)
Signal::INT.trap do
bot.stop
end
bot.listen
Usage guide with detailed explanation and example of the async bot can be found here.
Contributing
- Fork it (https://github.com/Scurrra/hamilton/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
- Scurrra - creator and maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.5.0- Tagged
- Apr 30, 2026
- Commit
e4a8944918c6- Crystal
>= 1.19.1- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/Scurrra/hamilton
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 12, 2026
- Synced
- Aug 12, 2026
- Versions
- 9