1
0
mirror of https://github.com/Mrs4s/go-cqhttp.git synced 2025-05-06 03:53:50 +08:00

merge master

This commit is contained in:
Mrs4s 2021-11-23 23:55:32 +08:00
commit b4d797a7b3
No known key found for this signature in database
GPG Key ID: 3186E98FA19CE3A7
4 changed files with 101 additions and 3 deletions

View File

@ -154,6 +154,77 @@ func (bot *CQBot) CQGetGuildMembers(guildID uint64) global.MSG {
}) })
} }
// CQGetGuildRoles 获取频道角色列表
// @route(get_guild_roles)
func (bot *CQBot) CQGetGuildRoles(guildID uint64) global.MSG {
roles, err := bot.Client.GuildService.GetGuildRoles(guildID)
if err != nil {
log.Errorf("获取频道 %v 角色列表时出现错误: %v", guildID, err)
return Failed(100, "API_ERROR", err.Error())
}
return OK(global.MSG{
"roles": roles,
})
}
// CQCreateGuildRole 创建频道角色
// @route(create_guild_role)
func (bot *CQBot) CQCreateGuildRole(guildID uint64, name string, color uint32, independent bool, initialUsers gjson.Result) global.MSG {
userSlice := []uint64{}
if initialUsers.IsArray() {
for _, user := range initialUsers.Array() {
userSlice = append(userSlice, user.Uint())
}
}
role, err := bot.Client.GuildService.CreateGuildRole(guildID, name, color, independent, userSlice)
if err != nil {
log.Errorf("创建频道 %v 角色时出现错误: %v", guildID, err)
return Failed(100, "API_ERROR", err.Error())
}
return OK(global.MSG{
"role": role,
})
}
// CQDeleteGuildRole 删除频道角色
// @route(delete_guild_role)
func (bot *CQBot) CQDeleteGuildRole(guildID uint64, roleID uint64) global.MSG {
err := bot.Client.GuildService.DeleteGuildRole(guildID, roleID)
if err != nil {
log.Errorf("删除频道 %v 角色时出现错误: %v", guildID, err)
return Failed(100, "API_ERROR", err.Error())
}
return OK(nil)
}
// CQSetGuildMemberRole 设置用户在频道中的角色
// @route(set_guild_member_role)
func (bot *CQBot) CQSetGuildMemberRole(guildID uint64, set bool, roleID uint64, users gjson.Result) global.MSG {
userSlice := []uint64{}
if users.IsArray() {
for _, user := range users.Array() {
userSlice = append(userSlice, user.Uint())
}
}
err := bot.Client.GuildService.SetUserRoleInGuild(guildID, set, roleID, userSlice)
if err != nil {
log.Errorf("设置用户在频道 %v 中的角色时出现错误: %v", guildID, err)
return Failed(100, "API_ERROR", err.Error())
}
return OK(nil)
}
// CQModifyRoleInGuild 修改频道角色
// @route(modify_role_in_guild)
func (bot *CQBot) CQModifyRoleInGuild(guildID uint64, roleID uint64, name string, color uint32, indepedent bool) global.MSG {
err := bot.Client.GuildService.ModifyRoleInGuild(guildID, roleID, name, color, indepedent)
if err != nil {
log.Errorf("修改频道 %v 角色时出现错误: %v", guildID, err)
return Failed(100, "API_ERROR", err.Error())
}
return OK(nil)
}
// CQGetFriendList 获取好友列表 // CQGetFriendList 获取好友列表
// //
// https://git.io/Jtz1L // https://git.io/Jtz1L

2
go.mod
View File

@ -5,7 +5,7 @@ go 1.17
require ( require (
github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f
github.com/Microsoft/go-winio v0.5.1 github.com/Microsoft/go-winio v0.5.1
github.com/Mrs4s/MiraiGo v0.0.0-20211119150245-3216c69d469d github.com/Mrs4s/MiraiGo v0.0.0-20211122140519-ec4cd4a6f3fe
github.com/dustin/go-humanize v1.0.0 github.com/dustin/go-humanize v1.0.0
github.com/fumiama/go-hide-param v0.1.4 github.com/fumiama/go-hide-param v0.1.4
github.com/gabriel-vasile/mimetype v1.4.0 github.com/gabriel-vasile/mimetype v1.4.0

4
go.sum
View File

@ -3,8 +3,8 @@ github.com/Baozisoftware/qrcode-terminal-go v0.0.0-20170407111555-c0650d8dff0f/g
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY= github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY=
github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
github.com/Mrs4s/MiraiGo v0.0.0-20211119150245-3216c69d469d h1:H0XKbw4aZMBxZAb8InemvoDPtOeWrIESwTg4ReVlC5o= github.com/Mrs4s/MiraiGo v0.0.0-20211122140519-ec4cd4a6f3fe h1:ydfvvxZsVwbqzyfmQ5ExOhQhiZr/5IyjauBIBnupkFA=
github.com/Mrs4s/MiraiGo v0.0.0-20211119150245-3216c69d469d/go.mod h1:imVKbfKqqeit+C/eaWGb4MKQ3z3gN6pRpBU5RMtp5so= github.com/Mrs4s/MiraiGo v0.0.0-20211122140519-ec4cd4a6f3fe/go.mod h1:imVKbfKqqeit+C/eaWGb4MKQ3z3gN6pRpBU5RMtp5so=
github.com/bits-and-blooms/bitset v1.2.1 h1:M+/hrU9xlMp7t4TyTDQW97d3tRPVuKFC6zBEK16QnXY= github.com/bits-and-blooms/bitset v1.2.1 h1:M+/hrU9xlMp7t4TyTDQW97d3tRPVuKFC6zBEK16QnXY=
github.com/bits-and-blooms/bitset v1.2.1/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/bits-and-blooms/bitset v1.2.1/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=

View File

@ -45,6 +45,13 @@ func (c *Caller) call(action string, p Getter) global.MSG {
p1 := p.Get("parent_id").String() p1 := p.Get("parent_id").String()
p2 := p.Get("name").String() p2 := p.Get("name").String()
return c.bot.CQGroupFileCreateFolder(p0, p1, p2) return c.bot.CQGroupFileCreateFolder(p0, p1, p2)
case "create_guild_role":
p0 := p.Get("guild_id").Uint()
p1 := p.Get("name").String()
p2 := uint32(p.Get("color").Int())
p3 := p.Get("independent").Bool()
p4 := p.Get("initial_users")
return c.bot.CQCreateGuildRole(p0, p1, p2, p3, p4)
case "delete_essence_msg": case "delete_essence_msg":
p0 := int32(p.Get("message_id").Int()) p0 := int32(p.Get("message_id").Int())
return c.bot.CQDeleteEssenceMessage(p0) return c.bot.CQDeleteEssenceMessage(p0)
@ -60,6 +67,10 @@ func (c *Caller) call(action string, p Getter) global.MSG {
p0 := p.Get("group_id").Int() p0 := p.Get("group_id").Int()
p1 := p.Get("folder_id").String() p1 := p.Get("folder_id").String()
return c.bot.CQGroupFileDeleteFolder(p0, p1) return c.bot.CQGroupFileDeleteFolder(p0, p1)
case "delete_guild_role":
p0 := p.Get("guild_id").Uint()
p1 := p.Get("role_id").Uint()
return c.bot.CQDeleteGuildRole(p0, p1)
case "delete_msg": case "delete_msg":
p0 := int32(p.Get("message_id").Int()) p0 := int32(p.Get("message_id").Int())
return c.bot.CQDeleteMessage(p0) return c.bot.CQDeleteMessage(p0)
@ -135,6 +146,9 @@ func (c *Caller) call(action string, p Getter) global.MSG {
case "get_guild_meta_by_guest": case "get_guild_meta_by_guest":
p0 := p.Get("guild_id").Uint() p0 := p.Get("guild_id").Uint()
return c.bot.CQGetGuildMetaByGuest(p0) return c.bot.CQGetGuildMetaByGuest(p0)
case "get_guild_roles":
p0 := p.Get("guild_id").Uint()
return c.bot.CQGetGuildRoles(p0)
case "get_guild_service_profile": case "get_guild_service_profile":
return c.bot.CQGetGuildServiceProfile() return c.bot.CQGetGuildServiceProfile()
case "get_image": case "get_image":
@ -160,6 +174,13 @@ func (c *Caller) call(action string, p Getter) global.MSG {
case "mark_msg_as_read": case "mark_msg_as_read":
p0 := int32(p.Get("message_id").Int()) p0 := int32(p.Get("message_id").Int())
return c.bot.CQMarkMessageAsRead(p0) return c.bot.CQMarkMessageAsRead(p0)
case "modify_role_in_guild":
p0 := p.Get("guild_id").Uint()
p1 := p.Get("role_id").Uint()
p2 := p.Get("name").String()
p3 := uint32(p.Get("color").Int())
p4 := p.Get("indepedent").Bool()
return c.bot.CQModifyRoleInGuild(p0, p1, p2, p3, p4)
case "ocr_image", ".ocr_image": case "ocr_image", ".ocr_image":
p0 := p.Get("image").String() p0 := p.Get("image").String()
return c.bot.CQOcrImage(p0) return c.bot.CQOcrImage(p0)
@ -271,6 +292,12 @@ func (c *Caller) call(action string, p Getter) global.MSG {
p1 = pt.Bool() p1 = pt.Bool()
} }
return c.bot.CQSetGroupWholeBan(p0, p1) return c.bot.CQSetGroupWholeBan(p0, p1)
case "set_guild_member_role":
p0 := p.Get("guild_id").Uint()
p1 := p.Get("set").Bool()
p2 := p.Get("role_id").Uint()
p3 := p.Get("users")
return c.bot.CQSetGuildMemberRole(p0, p1, p2, p3)
case "upload_group_file": case "upload_group_file":
p0 := p.Get("group_id").Int() p0 := p.Get("group_id").Int()
p1 := p.Get("file").String() p1 := p.Get("file").String()