Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
G
go-cqhttp
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
go-cqhttp
Commits
196cffb0
Commit
196cffb0
authored
Aug 21, 2020
by
Mrs4s
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ws async supported. close #122
parent
cb959927
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
20 additions
and
17 deletions
+20
-17
global/config.go
global/config.go
+0
-1
main.go
main.go
+1
-1
server/websocket.go
server/websocket.go
+19
-15
No files found.
global/config.go
View file @
196cffb0
...
...
@@ -14,7 +14,6 @@ type JsonConfig struct {
AccessToken
string
`json:"access_token"`
ReLogin
bool
`json:"relogin"`
ReLoginDelay
int
`json:"relogin_delay"`
AsyncLoad
bool
`json:"async_load"`
HttpConfig
*
GoCQHttpConfig
`json:"http_config"`
WSConfig
*
GoCQWebsocketConfig
`json:"ws_config"`
ReverseServers
[]
*
GoCQReverseWebsocketConfig
`json:"ws_reverse_servers"`
...
...
main.go
View file @
196cffb0
...
...
@@ -200,7 +200,7 @@ func main() {
global
.
Check
(
cli
.
ReloadFriendList
())
log
.
Infof
(
"共加载 %v 个好友."
,
len
(
cli
.
FriendList
))
log
.
Infof
(
"开始加载群列表..."
)
global
.
Check
(
cli
.
ReloadGroupList
(
conf
.
AsyncLoad
))
global
.
Check
(
cli
.
ReloadGroupList
())
log
.
Infof
(
"共加载 %v 个群."
,
len
(
cli
.
GroupList
))
b
:=
coolq
.
NewQQBot
(
cli
,
conf
)
if
conf
.
PostMessageFormat
!=
"string"
&&
conf
.
PostMessageFormat
!=
"array"
{
...
...
server/websocket.go
View file @
196cffb0
...
...
@@ -157,14 +157,16 @@ func (c *websocketClient) listenApi(conn *websocket.Conn, u bool) {
t
:=
strings
.
ReplaceAll
(
j
.
Get
(
"action"
)
.
Str
,
"_async"
,
""
)
log
.
Debugf
(
"反向WS接收到API调用: %v 参数: %v"
,
t
,
j
.
Get
(
"params"
)
.
Raw
)
if
f
,
ok
:=
wsApi
[
t
];
ok
{
ret
:=
f
(
c
.
bot
,
j
.
Get
(
"params"
))
if
j
.
Get
(
"echo"
)
.
Exists
()
{
ret
[
"echo"
]
=
j
.
Get
(
"echo"
)
.
Value
()
}
c
.
pushLock
.
Lock
()
log
.
Debugf
(
"准备发送API %v 处理结果: %v"
,
t
,
ret
.
ToJson
())
_
=
conn
.
WriteJSON
(
ret
)
c
.
pushLock
.
Unlock
()
go
func
()
{
ret
:=
f
(
c
.
bot
,
j
.
Get
(
"params"
))
if
j
.
Get
(
"echo"
)
.
Exists
()
{
ret
[
"echo"
]
=
j
.
Get
(
"echo"
)
.
Value
()
}
c
.
pushLock
.
Lock
()
log
.
Debugf
(
"准备发送API %v 处理结果: %v"
,
t
,
ret
.
ToJson
())
_
=
conn
.
WriteJSON
(
ret
)
c
.
pushLock
.
Unlock
()
}()
}
}
if
c
.
conf
.
ReverseReconnectInterval
!=
0
{
...
...
@@ -276,13 +278,15 @@ func (s *websocketServer) listenApi(c *websocket.Conn) {
t
:=
strings
.
ReplaceAll
(
j
.
Get
(
"action"
)
.
Str
,
"_async"
,
""
)
//TODO: async support
log
.
Debugf
(
"WS接收到API调用: %v 参数: %v"
,
t
,
j
.
Get
(
"params"
)
.
Raw
)
if
f
,
ok
:=
wsApi
[
t
];
ok
{
ret
:=
f
(
s
.
bot
,
j
.
Get
(
"params"
))
if
j
.
Get
(
"echo"
)
.
Exists
()
{
ret
[
"echo"
]
=
j
.
Get
(
"echo"
)
.
Value
()
}
s
.
pushLock
.
Lock
()
_
=
c
.
WriteJSON
(
ret
)
s
.
pushLock
.
Unlock
()
go
func
()
{
ret
:=
f
(
s
.
bot
,
j
.
Get
(
"params"
))
if
j
.
Get
(
"echo"
)
.
Exists
()
{
ret
[
"echo"
]
=
j
.
Get
(
"echo"
)
.
Value
()
}
s
.
pushLock
.
Lock
()
_
=
c
.
WriteJSON
(
ret
)
s
.
pushLock
.
Unlock
()
}()
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment