Skip to content

Commit

Permalink
feat: 添加分离部署gocq的账号时,支持指定access token (#137)
Browse files Browse the repository at this point in the history
  • Loading branch information
JustAnotherID authored Jul 24, 2023
1 parent 4364573 commit 4a1d41a
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
9 changes: 6 additions & 3 deletions api/conn.go
Original file line number Diff line number Diff line change
Expand Up @@ -551,9 +551,10 @@ func ImConnectionsAddGocqSeparate(c echo.Context) error {
}

v := struct {
Account string `yaml:"account" json:"account"`
ConnectUrl string `yaml:"connectUrl" json:"connectUrl"` // 连接地址
RelWorkDir string `yaml:"relWorkDir" json:"relWorkDir"` //
Account string `yaml:"account" json:"account"`
ConnectUrl string `yaml:"connectUrl" json:"connectUrl"` // 连接地址
AccessToken string `yaml:"accessToken" json:"accessToken"` // 访问令牌
RelWorkDir string `yaml:"relWorkDir" json:"relWorkDir"` //
}{}

err := c.Bind(&v)
Expand All @@ -578,6 +579,8 @@ func ImConnectionsAddGocqSeparate(c echo.Context) error {
// 三项设置
conn.RelWorkDir = v.RelWorkDir
pa.ConnectUrl = v.ConnectUrl
pa.AccessToken = v.AccessToken

pa.UseInPackGoCqhttp = false

myDice.ImSession.EndPoints = append(myDice.ImSession.EndPoints, conn)
Expand Down
8 changes: 6 additions & 2 deletions dice/platform_adapter_qq.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,9 @@ type PlatformAdapterGocq struct {
EndPoint *EndPointInfo `yaml:"-" json:"-"`
Session *IMSession `yaml:"-" json:"-"`

Socket *gowebsocket.Socket `yaml:"-" json:"-"`
ConnectUrl string `yaml:"connectUrl" json:"connectUrl"` // 连接地址
Socket *gowebsocket.Socket `yaml:"-" json:"-"`
ConnectUrl string `yaml:"connectUrl" json:"connectUrl"` // 连接地址
AccessToken string `yaml:"accessToken" json:"accessToken"` // 访问令牌

UseInPackGoCqhttp bool `yaml:"useInPackGoCqhttp" json:"useInPackGoCqhttp"` // 是否使用内置的gocqhttp
GoCqHttpState int `yaml:"-" json:"loginState"` // 当前状态
Expand Down Expand Up @@ -209,6 +210,9 @@ func (pa *PlatformAdapterGocq) Serve() int {
session := s

socket := gowebsocket.New(pa.ConnectUrl)
if pa.AccessToken != "" {
socket.RequestHeader.Add("Authorization", "Bearer "+pa.AccessToken)
}
pa.Socket = &socket

socket.OnConnected = func(socket gowebsocket.Socket) {
Expand Down

0 comments on commit 4a1d41a

Please sign in to comment.