创建子频道
创建一个子频道。
使用示例
token := token.BotToken("appid", "token")
api := botgo.NewOpenAPI(token).WithTimeout(3 * time.Second)
ctx := context.Background()
channel, channelError := api.PostChannel(ctx, guildId, &dto.ChannelValueObject{
Name: "子频道名",
Type: dto.ChannelTypeText,
SubType: dto.ChannelSubTypeChat,
})
if channelError != nil {
log.Fatalln("调用 PostChannel 接口失败, err = ", channelError)
}
::: warning 注意
- 要求操作人具有管理频道的权限,如果是机器人,则需要将机器人设置为管理员。
- 创建成功后,返回创建成功的子频道对象,同时会触发一个频道创建的事件通知。
- 目前不支持创建的子频道类型
:::
参数说明
ChannelValueObject
字段名 |
类型 |
必填 |
描述 |
Name |
string |
是 |
子频道名 |
Type |
int |
是 |
子频道类型 ChannelType |
SubType |
int |
是 |
子频道子类型 ChannelSubType |
Position |
int64 |
否 |
排序,必填,而且不能够和其他子频道的值重复 |
ParentID |
string |
否 |
分组 ID |
ChannelType
值 |
描述 |
0 |
文字子频道 |
1 |
保留,不可用 |
2 |
语音子频道 |
3 |
保留,不可用 |
4 |
子频道分组 |
10005 |
直播子频道 |
10006 |
应用子频道 |
10007 |
论坛子频道 |
注:由于 QQ 频道还在持续的迭代中,经常会有新的子频道类型增加,文档更新不一定及时,开发者识别 ChannelType
时,请注意相关的未知 ID 的处理。
ChannelSubType
返回说明
返回 Channel 对象。
Channel
字段名 |
类型 |
描述 |
ID |
string |
子频道id |
GuildID |
string |
频道id |
Name |
string |
子频道名 |
Type |
int |
子频道类型 ChannelType |
SubType |
int |
子频道子类型 ChannelSubType |
Position |
int64 |
排序,必填,而且不能够和其他子频道的值重复 |
ParentID |
string |
分组 id |
OwnerID |
string |
创建人 id |
PrivateType |
int |
子频道的可见类型 ChannelPrivateType |
SpeakPermission |
int |
子频道发言权限 SpeakPermissionType |
ApplicationID |
string |
应用子频道的应用ID,仅应用子频道有效 |
Permissions |
string |
用户拥有的子频道权限 |
SpeakPermissionType
ChannelPrivateType
值 |
描述 |
0 |
公开频道 |
1 |
群主管理员可见 |
2 |
群主管理员 + 指定成员 |
返回示例
data
:
{
"id": "channel_id",
"guild_id": "guild_id",
"name": "channel_test",
"type": 1,
"position": 1640240055,
"owner_id": "2854198244",
"sub_type": 0
}