Sha256: d42149fc27a9685f7ca8ec13605e16b77f866b61961bf19743f63f86298bc541

Contents?: true

Size: 676 Bytes

Versions: 4

Compression:

Stored size: 676 Bytes

Contents

#!/usr/bin/env ruby

require "../../lib/async/slack"

token = ENV['SLACK_TOKEN']

class Connection < Async::WebSocket::Connection
	def receive_pong(frame)
		Async.logger.info(self) {"receive_pong: #{frame.inspect}"}
	end
end

Async::Slack.connect(token: token) do |client|
	client.real_time.connect(handler: Connection) do |connection|
		id = 1
		
		Async do |task|
			while true
				task.sleep 5
				
				Async.logger.info(self) {"Sending WebSocket Ping Frame #{id}..."}
				
				connection.send_ping("id=#{id}")
				connection.flush
				
				id += 1
			end
		end
		
		while message = connection.read
			Async.logger.info(self) {"message: #{message.inspect}"}
		end
	end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
async-slack-0.3.0 examples/alive/websockets.rb
async-slack-0.2.1 examples/alive/websockets.rb
async-slack-0.2.0 examples/alive/websockets.rb
async-slack-0.1.1 examples/alive/websockets.rb