slack
Version, currently master branch1 version
- master branchlatestJun 5, 2020
github.com/DougEverly/slack.cr
Slack Real Time Messaging API in Crystal
18 stars
0 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
slack:
github: DougEverly/slack.cr
branch: mastermaster is a branch, not a release, so this tracks it rather than pinning a version.
Then run:
shards installshard.yml
- Crystal
- no constraint declared
- License
- MIT
- Author
- Doug Everly <Doug@Everly.org>
Dependencies
This version declares no dependencies.
README
# Slack Real Time API client written in Crystal
[](https://travis-ci.com/DougEverly/slack.cr)
Client to Slack's [Real Time API](https://api.slack.com/rtm) written in Crystal and using WebSockets.
Still early in development.
## Installation
Add this to your application's `shard.yml`:
```yaml
dependencies:
slack:
github: DougEverly/slack.cr
```
## Usage
```crystal
require "slack"
```
## Samples
Look in `samples` directory for example usage.
## Example
```crystal
require "../src/slack.cr"
slack = Slack.new(token: ENV["SLACK_TOKEN"])
slack.on(Slack::Event::Message) do |session, event|
if event = event.as?(Slack::Event::Message)
if session.me.as?(User)
puts "Here as User! #{event.class.to_s} #{event.test}"
if event.mentions(session.me)
x = event.reply(text: "oh hi there")
session.send x
end
if event.mentions("good morning", "good evening")
if event.mentions(session.me)
x = event.reply(text: "<@#{event.user}>: to you too!")
else
x = event.reply(text: "thank you!")
end
session.send x
end
end
end
end
slack.on(Slack::Event::UserTyping) do |session, event|
puts "someone is typing"
end
slack.on(Slack::Event::StarAdded) do |session, event|
puts "starred"
end
slack.on(Slack::Event::PinAdded) do |session, event|
puts "pin added"
end
slack.on(Slack::Reconnect) do |session, event|
puts "pin added"
end
slack.start
```
## Contributing
1. Fork it ( https://github.com/DougEverly/slack/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
- [DougEverly](https://github.com/DougEverly) - creator, maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This branch
- Branch
master- Seen
- Jun 5, 2020
- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/DougEverly/slack.cr
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 12, 2026
- Synced
- Aug 12, 2026
- Versions
- 1