slack
crystal_slack
Access Slack API's using Crystal.
Shards
slack:
github: "manastech/crystal_slack"
Usage
You can get a Slack::SlashCommand from an HTTP::Request or its body:
require "slack"
request = HTTP::Request.new "POST", "/", body: "token=..."
command = Slack::SlashCommand.from_request(request)
puts command.text
You can create a message and send it using either webhooks or the chat.postMessage
API:
require "slack"
message = Slack::Message.new("some_text", channel: "some_channel")
# send to webhook
message.send_to_hook "https://hooks.slack.com/services/..."
# send using the chat.postMessage API
api = Slack::API.new "some_token"
api.post_message(message)
More complex messages are supported. Please check the Message class. You can also get the users and channels given an token.
Todo
Lots of API methods are missing!
Contributing
- Fork it ( https://github.com/manastech/crystal_slack/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