Popularity
5.5
Growing
Activity
0.0
Stable
17
5
4
Programming language: Crystal
License: MIT License
Tags:
Third-party APIs
slack.cr alternatives and similar shards
Based on the "Third-party APIs" category.
Alternatively, view slack.cr alternatives based on common mentions on social networks and blogs.
-
GDAX
๐ GDAX REST and WebSocket API wrapper to trade blockchain cryptocurrencies like bitcoin, Litecoin and Ethereum.
WorkOS - The modern identity platform for B2B SaaS
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Promo
workos.com
Do you think we are missing an alternative of slack.cr or a related project?
README
Slack Real Time API client written in Crystal
Client to Slack's Real Time API written in Crystal and using WebSockets.
Still early in development.
Installation
Add this to your application's shard.yml
:
dependencies:
slack:
github: DougEverly/slack.cr
Usage
require "slack"
Samples
Look in samples
directory for example usage.
Example
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
- Fork it ( https://github.com/DougEverly/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
Contributors
- DougEverly - creator, maintainer