Sha256: ca412ca0556d45eb7382e7474db30aff801fe146c7601f91d54e01cdf35f9917
Contents?: true
Size: 1.81 KB
Versions: 1
Compression:
Stored size: 1.81 KB
Contents
require '../lib/onebot-ruby' require 'faye/websocket' require 'rack' logger = Onebot::Logging::Logger.new.setLoggerLevel(Logger::INFO) static = Rack::File.new(File.dirname(__FILE__)) options = { ping: 5 } App = lambda do |env| if Faye::WebSocket.websocket?(env) bot = Onebot::WebSocket::Server.new(env:, logger:, options:) bot.on :logged do |_botqq| logger.log('我开了欸') end bot.on :privateMessage do |data| # p data.message # p data p Onebot::Utils.cqParse(data.message) bot.sendPrivateMessage(data.message, data.userId) end bot.rack_response else static.call(env) end end def App.log(message); end port = ARGV[0] || 7000 secure = ARGV[1] == 'tls' engine = ARGV[2] || 'thin' spec = File.expand_path(__dir__) Faye::WebSocket.load_adapter(engine) case engine when 'goliath' class WebSocketServer < Goliath::API def response(env) App.call(env) end end when 'puma' require 'puma/binder' require 'puma/events' events = Puma::Events.new($stdout, $stderr) binder = Puma::Binder.new(events) binder.parse(["tcp://0.0.0.0:#{port}"], App) server = Puma::Server.new(App, events) server.binder = binder server.run.join when 'rainbows' rackup = Unicorn::Configurator::RACKUP rackup[:port] = port rackup[:set_listener] = true options = rackup[:options] options[:config_file] = File.expand_path('rainbows.conf', __dir__) Rainbows::HttpServer.new(App, options).start.join when 'thin' thin = Rack::Handler.get('thin') thin.run(App, Host: '0.0.0.0', Port: port) do |server| if secure server.ssl_options = { private_key_file: spec + '/server.key', cert_chain_file: spec + '/server.crt' } server.ssl = true end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby-cqhttp-0.1.2 | tests/server.rb |