Popularity
5.5
Stable
Activity
0.0
Stable
17
4
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.
-
discordcr
Minimalist Discord library for Crystal. (Still WIP, but usable) -
twitter-crystal
A library to access the Twitter API using Crystal -
TelegramBot
(deprecated) see https://github.com/protoncr/tourmaline instead -
crystal_slack
Parse Slack slash commands or send incoming web hooks from Crystal -
mollie.cr
Mollie Payments API client for Crystal http://www.mollie.com -
GDAX
📈 GDAX REST and WebSocket API wrapper to trade blockchain cryptocurrencies like bitcoin, Litecoin and Ethereum. -
soundcloud-crystal
A library to access the SoundCloud API using Crystal -
bugsnag.cr
bugsnag exception notifier written in crystal. Supports sidekiq.cr, kemal, HTTP::Server. -
web_finger
A WebFinger (https://tools.ietf.org/html/rfc7033) client for Crystal. -
crystal-connpass
:anchor: A Crystal wrapper for the Connpass API -
fantasy_football_nerd_api
Crystal library for Fantasy Football Nerd API
Less time debugging, more time building
Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
Promo
scoutapm.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