Class: CQHttp::Bot::WebSocket
- Inherits:
-
Object
- Object
- CQHttp::Bot::WebSocket
- Includes:
- EventEmitter
- Defined in:
- lib/Bot/Bot.rb
Instance Attribute Summary collapse
-
#debugmode ⇒ Object
Returns the value of attribute debugmode.
-
#selfID ⇒ Object
Returns the value of attribute selfID.
-
#url ⇒ Object
Returns the value of attribute url.
Instance Method Summary collapse
- #connect ⇒ Object
-
#initialize(url, debugmode) ⇒ WebSocket
constructor
A new instance of WebSocket.
- #sendGroupMessage(msg, group_id) ⇒ Object
- #sendPrivateMessage(msg, user_id) ⇒ Object
Constructor Details
#initialize(url, debugmode) ⇒ WebSocket
Returns a new instance of WebSocket.
20 21 22 23 |
# File 'lib/Bot/Bot.rb', line 20 def initialize(url, debugmode) @url = url @debugmode = debugmode end |
Instance Attribute Details
#debugmode ⇒ Object
Returns the value of attribute debugmode.
15 16 17 |
# File 'lib/Bot/Bot.rb', line 15 def debugmode @debugmode end |
#selfID ⇒ Object
Returns the value of attribute selfID.
16 17 18 |
# File 'lib/Bot/Bot.rb', line 16 def selfID @selfID end |
#url ⇒ Object
Returns the value of attribute url.
14 15 16 |
# File 'lib/Bot/Bot.rb', line 14 def url @url end |
Instance Method Details
#connect ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/Bot/Bot.rb', line 25 def connect EM.run do @ws = Faye::WebSocket::Client.new(@url) @ws.on :open do end @ws.on :message do |event| Thread.new { dataParse(event.data)} end @ws.on :close do emit :close Utils.log Time.new, '!', '已断开连接' @ws = nil exit end @ws.on :error do |event| emit :error, event @ws = nil end end end |
#sendGroupMessage(msg, group_id) ⇒ Object
57 58 59 60 61 |
# File 'lib/Bot/Bot.rb', line 57 def sendGroupMessage(msg, group_id) ret = { action: 'send_group_msg', params: { group_id: group_id, message: msg }, echo: 'BotGroupMessage' }.to_json Utils.log Time.new, '↑', "发送至群 #{group_id} 的消息: #{msg}" @ws.send ret end |
#sendPrivateMessage(msg, user_id) ⇒ Object
51 52 53 54 55 |
# File 'lib/Bot/Bot.rb', line 51 def sendPrivateMessage(msg, user_id) ret = { action: 'send_private_msg', params: { user_id: user_id, message: msg }, echo: 'BotPrivateMessage' }.to_json Utils.log Time.new, '↑', "发送至私聊 #{user_id} 的消息: #{msg}" @ws.send ret end |