Class: Onebot::Http::API
- Inherits:
-
Object
- Object
- Onebot::Http::API
- Defined in:
- lib/Core/Http/API.rb
Instance Attribute Summary collapse
-
#url ⇒ URI
HTTP API链接.
Instance Method Summary collapse
-
#acceptFriendRequest(flag, reason = nil) ⇒ Boolean
接受好友邀请.
-
#acceptGroupRequest(flag, sub_type) ⇒ Boolean
接受加群请求.
-
#get_msg(message_id) ⇒ Hash
获取消息.
-
#getImage(file) ⇒ Hash
获取图片信息.
-
#initialize(host: '127.0.0.1', port: 5700) ⇒ URI
constructor
(初始化) 设置API地址.
-
#refuseFriendRequest(flag) ⇒ Boolean
拒绝好友邀请.
-
#refuseGroupRequest(flag, sub_type, reason = nil) ⇒ Boolean
拒绝加群请求.
-
#sendGroupMessage(msg, group_id) ⇒ Hash
发送群聊消息.
-
#sendPrivateMessage(msg, user_id) ⇒ Hash
发送私聊消息.
-
#setGroupName(group_id, group_name) ⇒ Hash
设置群名.
- #setLogger(logger) ⇒ Object
Constructor Details
#initialize(host: '127.0.0.1', port: 5700) ⇒ URI
(初始化) 设置API地址
17 18 19 20 |
# File 'lib/Core/Http/API.rb', line 17 def initialize(host: '127.0.0.1', port: 5700) @url = URI::HTTP.build(host: host, port: port) @logger = Logging::EventLogger.new end |
Instance Attribute Details
#url ⇒ URI
Returns HTTP API链接.
10 11 12 |
# File 'lib/Core/Http/API.rb', line 10 def url @url end |
Instance Method Details
#acceptFriendRequest(flag, reason = nil) ⇒ Boolean
接受好友邀请
107 108 109 110 111 112 113 114 115 116 |
# File 'lib/Core/Http/API.rb', line 107 def acceptFriendRequest(flag, reason = nil) data = sendReq('set_friend_add_request', { flag:, approve: true, remark: reason }) if data['status'] == 'ok' @logger.log '已通过好友请求' true else @logger.log '请求通过失败', Logger::WARN false end end |
#acceptGroupRequest(flag, sub_type) ⇒ Boolean
接受加群请求
138 139 140 141 142 143 144 145 146 147 |
# File 'lib/Core/Http/API.rb', line 138 def acceptGroupRequest(flag, sub_type) data = sendReq('set_group_add_request', { flag:, sub_type:, approve: true }) if data['status'] == 'ok' @logger.log '已通过加群请求' true else @logger.log '请求通过失败', Logger::WARN false end end |
#get_msg(message_id) ⇒ Hash
获取消息
60 61 62 63 64 65 66 67 68 |
# File 'lib/Core/Http/API.rb', line 60 def get_msg() data = sendReq('get_msg', { message_id: }) if data['status'] == 'ok' @logger.log '消息获取成功' else @logger.log '消息获取失败', Logger::WARN end data['data'] end |
#getImage(file) ⇒ Hash
获取图片信息
46 47 48 49 50 51 52 53 54 |
# File 'lib/Core/Http/API.rb', line 46 def getImage(file) data = sendReq('get_image', { file: }) if data['status'] == 'ok' @logger.log '下载图片成功' else @logger.log '下载图片失败', Logger::WARN end data['data'] end |
#refuseFriendRequest(flag) ⇒ Boolean
拒绝好友邀请
122 123 124 125 126 127 128 129 130 131 |
# File 'lib/Core/Http/API.rb', line 122 def refuseFriendRequest(flag) data = sendReq('set_friend_add_request', { flag:, approve: false }) if data['status'] == 'ok' @logger.log '已拒绝好友请求' true else @logger.log '请求拒绝失败', Logger::WARN false end end |
#refuseGroupRequest(flag, sub_type, reason = nil) ⇒ Boolean
拒绝加群请求
155 156 157 158 159 160 161 162 163 164 |
# File 'lib/Core/Http/API.rb', line 155 def refuseGroupRequest(flag, sub_type, reason = nil) data = sendReq('set_group_add_request', { flag:, sub_type:, approve: false, reason: }) if data['status'] == 'ok' @logger.log '已拒绝加群请求' true else @logger.log '请求拒绝失败', Logger::WARN false end end |
#sendGroupMessage(msg, group_id) ⇒ Hash
发送群聊消息
91 92 93 94 95 96 97 98 99 100 |
# File 'lib/Core/Http/API.rb', line 91 def sendGroupMessage(msg, group_id) data = sendReq('send_group_msg', { group_id:, message: msg }) if data['status'] == 'ok' = data['data']['message_id'] @logger.log "发送至群 #{group_id} 的消息: #{msg} (#{})" else @logger.log '发送消息失败', Logger::WARN end data['data'] end |
#sendPrivateMessage(msg, user_id) ⇒ Hash
发送私聊消息
75 76 77 78 79 80 81 82 83 84 |
# File 'lib/Core/Http/API.rb', line 75 def sendPrivateMessage(msg, user_id) data = sendReq('send_private_msg', { user_id:, message: msg }) if data['status'] == 'ok' = data['data']['message_id'] @logger.log "发送至私聊 #{user_id} 的消息: #{msg} (#{})" else @logger.log '发送消息失败', Logger::WARN end data['data'] end |
#setGroupName(group_id, group_name) ⇒ Hash
设置群名
32 33 34 35 36 37 38 39 40 |
# File 'lib/Core/Http/API.rb', line 32 def setGroupName(group_id, group_name) data = sendReq('set_group_name', { group_id: group_id.to_i, group_name: }) if data['status'] == 'ok' @logger.log '设置群头像成功' else @logger.log '设置群头像失败', Logger::WARN end data['data'] end |
#setLogger(logger) ⇒ Object
22 23 24 25 |
# File 'lib/Core/Http/API.rb', line 22 def setLogger(logger) @logger = Logging::EventLogger.new(logger) self end |