Sha256: bed8379f59e9f68e308717b821fa5d1204c85964507f4bd486c51415fc689165

Contents?: true

Size: 1.25 KB

Versions: 6

Compression:

Stored size: 1.25 KB

Contents

require 'slack'

module Ruboty
  module SlackRTM
    class Client
      module ReactionAddedClient
        # def initialize(websocket_url:)
        #   Ruboty.logger.info websocket_url.to_s
        #   super(websocket_url: websocket_url)
        # end

        def on_text(&block)
          @client.on(:message) do |message|
            case message.type
            when :ping
              Ruboty.logger.debug("#{Client.name}: Received ping message")
              send('', type: 'pong')
            when :pong
              Ruboty.logger.debug("#{Client.name}: Received pong message")
            when :text
              block.call(JSON.parse(message.data))
            when :reaction_added
              case message.data.item.type
              when :message
                # Ruboty.logger.info message.data
                block.call(JSON.parse(message.data))
              else
                Ruboty.logger.warn("#{Client.name}: Received unknown reaction item type=#{message.data.item.type}: #{message.data}")
              end
            else
              Ruboty.logger.warn("#{Client.name}: Received unknown message type=#{message.type}: #{message.data}")
            end
          end
        end
      end

      prepend ReactionAddedClient
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ruboty-slack_reaction_added-0.6.0 lib/ruboty/slack_reaction_added/extension/client.rb
ruboty-slack_reaction_added-0.5.0 lib/ruboty/slack_reaction_added/extension/client.rb
ruboty-slack_reaction_added-0.4.0 lib/ruboty/slack_reaction_added/extension/client.rb
ruboty-slack_reaction_added-0.3.0 lib/ruboty/slack_reaction_added/extension/client.rb
ruboty-slack_reaction_added-0.2.0 lib/ruboty/slack_reaction_added/extension/client.rb
ruboty-slack_reaction_added-0.1.0 lib/ruboty/slack_reaction_added/extension/client.rb