1
0
mirror of https://github.com/fumiama/NanoBot.git synced 2026-06-09 12:40:24 +08:00

fix delete

This commit is contained in:
源文雨
2023-10-10 23:25:48 +09:00
parent e8fd4c0c54
commit 5ec622d77f
6 changed files with 110 additions and 7 deletions

65
openapi_member.go Normal file
View File

@@ -0,0 +1,65 @@
package nano
import "time"
// Member 成员对象 Member and MemberWithGuildID
//
// https://bot.q.qq.com/wiki/develop/api/openapi/member/model.html
type Member struct {
GuildID string `json:"guild_id"` // MemberWithGuildID only
User User `json:"user"`
Nick string `json:"nick"`
Roles []string `json:"roles"`
JoinedAt time.Time `json:"joined_at"`
Deaf bool `json:"deaf"`
Mute bool `json:"mute"`
Pending bool `json:"pending"`
}
// GetGuildMembers 获取 guild_id 指定的频道中所有成员的详情列表,支持分页
//
// https://bot.q.qq.com/wiki/develop/api/openapi/member/get_members.html
func (bot *Bot) GetGuildMembers(id, after string, limit int) (members []Member, err error) {
err = bot.GetOpenAPI(WriteHTTPQueryIfNotNil("/guilds/"+id+"/members",
"after", after,
"limit", limit,
), &members)
return
}
// RoleMembers 频道身份组成员列表
//
// https://bot.q.qq.com/wiki/develop/api/openapi/member/get_role_members.html#%E8%BF%94%E5%9B%9E
type RoleMembers struct {
Data []Member `json:"data"`
Next string `json:"next"`
}
// GetRoleMembers 获取 guild_id 频道中指定role_id身份组下所有成员的详情列表支持分页
//
// https://bot.q.qq.com/wiki/develop/api/openapi/member/get_role_members.html
func (bot *Bot) GetRoleMembers(guildid, roleid, startindex string, limit int) (*RoleMembers, error) {
return bot.getOpenAPIofRoleMembers(WriteHTTPQueryIfNotNil("/guilds/"+guildid+"/roles/"+roleid+"/members",
"start_index", startindex,
"limit", limit,
))
}
// GetGuildMember 获取 guild_id 指定的频道中 user_id 对应成员的详细信息
//
// https://bot.q.qq.com/wiki/develop/api/openapi/member/get_member.html
func (bot *Bot) GetGuildMember(guildid, userid string) (*Member, error) {
return bot.getOpenAPIofMember("/guilds/" + guildid + "/members/" + userid)
}
// DeleteGuildMember 删除 guild_id 指定的频道下的成员 user_id
//
// https://bot.q.qq.com/wiki/develop/api/openapi/member/delete_member.html
//
// - delhistmsgdays: 消息撤回时间范围仅支持固定的天数371530。 特殊的时间范围:-1: 撤回全部消息。默认值为0不撤回任何消息。
func (bot *Bot) DeleteGuildMember(guildid, userid string, addblklst bool, delhistmsgdays int) error {
return bot.DeleteOpenAPI("/guilds/"+guildid+"/members/"+userid, WriteBodyFromJSON(&struct {
A bool `json:"add_blacklist"`
D int `json:"delete_history_msg_days"`
}{addblklst, delhistmsgdays}))
}