05-01-2026, 01:07 AM
samp-kook-connector 插件 Wiki
将 Kook 机器人集成到你的 SA-MP / open.mp 服务器游戏模式中。
目录
1. 安装
1.1 创建 Kook 机器人
1.2 配置令牌
SA-MP(server.cfg):
open.mp(config.json):
也可以使用环境变量代替:
2. 重要说明
3. Natives(原生函数)
3.1 频道
KOOK_FindChannelById
通过 Kook ID 查找频道,返回带 KCC_Channel 标签的内部 ID。
KCC_GetChannelId
获取频道的 Kook ID,以文本形式存入 dest。
KCC_GetChannelType
获取频道类型,存入 type。
KCC_GetChannelGuild
获取频道所属服务器,存入 guild。
KCC_GetChannelName
获取频道名称,存入 dest。
KCC_GetChannelTopic
获取频道主题,存入 dest。
KCC_GetChannelPosition
获取频道排列位置,存入 position。
KCC_SendChannelMessage
向指定频道发送消息。callback(可选)为消息发送确认后调用的公共函数,format 及后续参数为回调参数。
KCC_SetChannelName
修改频道名称。
KCC_SetChannelTopic
修改频道主题。
KCC_DeleteChannel
删除指定频道。
3.2 消息
KCC_GetMessageId
获取消息的 Kook ID,存入 dest。
KCC_GetMessageChannel
获取消息所在频道,存入 channel。
KCC_GetMessageAuthor
获取消息发送者,存入 author。
KCC_GetMessageContent
获取消息文本内容,存入 dest。
KCC_IsMessageMentioningEveryone
检查消息是否 @全体成员。
KCC_GetMessageUserMentionCount
获取消息中提及的用户数量。
KCC_GetMessageUserMention
按索引获取消息中提及的某个用户。
KCC_GetMessageRoleMentionCount
获取消息中提及的身份组数量。
KCC_GetMessageRoleMention
按索引获取消息中提及的某个身份组。
KCC_DeleteMessage
在 Kook 上删除该消息。
KCC_GetCreatedMessage
在 KCC_SendChannelMessage 的回调中使用,返回刚发送的消息的内部 ID(带 KCC_Message 标签)。
KCC_DeleteInternalMessage
从插件内部存储中移除该消息(不会在 Kook 上删除消息),用于持久化消息的清理。
KCC_EditMessage
编辑消息内容,可选附带嵌入消息。
KCC_SetMessagePersistent
设置消息是否持久保存在插件内部存储中。
KCC_CacheChannelMessage
通过 Kook ID 将指定消息缓存到插件中,缓存完成后调用 callback。
3.3 用户
KCC_FindUserByName
通过用户名 + discriminator 查找用户,返回带 KCC_User 标签的内部 ID。
KCC_FindUserById
通过 Kook ID 查找用户,返回带 KCC_User 标签的内部 ID。
KCC_GetUserId
获取用户的 Kook ID,存入 dest。
KCC_GetUserName
获取用户名,存入 dest。
KCC_GetUserDiscriminator
获取用户的 discriminator,存入 dest。
KCC_IsUserBot
检查用户是否为机器人。
KCC_IsUserVerified
检查用户是否已完成验证。
3.4 身份组
KCC_FindRoleByName
在指定服务器中按名称查找身份组,返回带 KCC_Role 标签的内部 ID。
KCC_FindRoleById
通过 Kook ID 查找身份组,返回带 KCC_Role 标签的内部 ID。
KCC_GetRoleId
获取身份组的 Kook ID,存入 dest。
KCC_GetRoleName
获取身份组名称,存入 dest。
KCC_GetRoleColor
获取身份组颜色值,存入 color。
KCC_GetRolePermissions
获取身份组权限(64 位整数分为高低两个 32 位部分)。
KCC_IsRoleHoist
检查身份组是否在成员列表中单独显示(提升显示)。
KCC_GetRolePosition
获取身份组的排列位置,存入 position。
KCC_IsRoleMentionable
检查身份组是否可被 @ 提及。
3.5 服务器
— 查询 —
KCC_FindGuildByName
按名称查找服务器,返回带 KCC_Guild 标签的内部 ID。
KCC_FindGuildById
通过 Kook ID 查找服务器,返回带 KCC_Guild 标签的内部 ID。
KCC_GetGuildId
获取服务器的 Kook ID,存入 dest。
KCC_GetGuildName
获取服务器名称,存入 dest。
KCC_GetGuildOwnerId
获取服务器所有者的 Kook 用户 ID,存入 dest。
KCC_GetAllGuilds
获取所有服务器的内部 ID,存入 dest 数组。
— 频道 —
KCC_GetGuildChannel
按索引获取服务器中的某个频道。
KCC_GetGuildChannelCount
获取服务器的频道总数。
KCC_CreateGuildChannel
在服务器中创建新频道,完成后调用 callback。
KCC_GetCreatedGuildChannel
在 KCC_CreateGuildChannel 的回调中使用,返回新创建频道的内部 ID。
— 成员 —
KCC_GetGuildMember
按索引获取服务器中的某个成员。
KCC_GetGuildMemberCount
获取服务器成员总数。
KCC_GetGuildMemberVoiceChannel
获取成员当前所在的语音频道。
KCC_GetGuildMemberNickname
获取成员在服务器中的昵称。
KCC_GetGuildMemberRole
按索引获取成员拥有的某个身份组。
KCC_GetGuildMemberRoleCount
获取成员拥有的身份组数量。
KCC_HasGuildMemberRole
检查成员是否拥有指定身份组。
KCC_SetGuildMemberNickname
修改成员昵称。
KCC_AddGuildMemberRole
为成员添加身份组。
KCC_RemoveGuildMemberRole
移除成员的某个身份组。
KCC_RemoveGuildMember
踢出服务器成员。
KCC_CreateGuildMemberBan
封禁成员,可附带原因。
KCC_RemoveGuildMemberBan
解封成员。
— 身份组管理 —
KCC_GetGuildRole
按索引获取服务器中的某个身份组。
KCC_GetGuildRoleCount
获取服务器的身份组总数。
KCC_CreateGuildRole
在服务器中创建新身份组,完成后调用 callback。
KCC_GetCreatedGuildRole
在 KCC_CreateGuildRole 的回调中使用,返回新创建身份组的内部 ID。
KCC_DeleteGuildRole
删除服务器中的身份组。
KCC_SetGuildRoleName
修改身份组名称。
KCC_SetGuildRolePermissions
修改身份组权限(64 位整数分为高低两个 32 位部分)。
KCC_SetGuildRoleColor
修改身份组颜色。
KCC_SetGuildRoleHoist
设置身份组是否在成员列表中单独显示。
KCC_SetGuildRoleMentionable
设置身份组是否可被 @ 提及。
3.6 机器人
KCC_CreatePrivateChannel
向指定用户打开私信频道,完成后调用 callback。
KCC_GetCreatedPrivateChannel
在 KCC_CreatePrivateChannel 的回调中使用,返回私信频道的内部 ID(可直接用于 KCC_SendChannelMessage 等函数)。
3.7 嵌入消息
嵌入消息(Embed)允许向 Kook 频道发送富文本内容消息。
KCC_CreateEmbed
创建一个嵌入消息,所有参数均为可选,返回带 KCC_Embed 标签的内部 ID。
KCC_DeleteEmbed
删除嵌入消息。
KCC_SendChannelEmbedMessage
向频道发送带嵌入消息的内容,可附带普通文字。
KCC_AddEmbedField
为嵌入消息添加字段,inline 为 true 时字段并排显示。
KCC_SetEmbedTitle
设置嵌入消息标题。
KCC_SetEmbedDescription
设置嵌入消息描述。
KCC_SetEmbedUrl
设置嵌入消息链接。
KCC_SetEmbedTimestamp
设置嵌入消息时间戳。
KCC_SetEmbedColor
设置嵌入消息左侧色条颜色。
KCC_SetEmbedFooter
设置嵌入消息页脚文本,可附带图标 URL。
KCC_SetEmbedThumbnail
设置嵌入消息缩略图。
KCC_SetEmbedImage
设置嵌入消息主图片。
3.8 表情
KCC_CreateEmoji
创建一个表情对象,snowflake 为可选的 Kook 雪花 ID,返回带 KCC_Emoji 标签的内部 ID。
KCC_DeleteEmoji
删除表情对象。
KCC_GetEmojiName
获取表情名称,存入 dest。
3.9 反应
KCC_CreateReaction
对指定消息添加表情反应。
KCC_DeleteMessageReaction
移除消息上的表情反应。reaction_emoji 为 0(默认)时删除该消息上的所有反应。
3.10 其他
KCC_EscapeMarkdown
对字符串中的 Markdown 特殊字符进行转义,使文本在 Kook 消息中原样显示,不被格式化。
4. Callbacks(回调函数)
4.1 频道回调
KCC_OnChannelCreate
触发时机:服务器中有新频道创建时。
KCC_OnChannelUpdate
触发时机:频道信息更新时(名称、权限等)。
KCC_OnChannelDelete
触发时机:频道被删除时。
4.2 消息回调
KCC_OnMessageCreate
触发时机:频道中有新消息发送时。
KCC_OnMessageDelete
触发时机:消息被删除时。
KCC_OnMessageReaction
触发时机:消息添加或移除表情反应时。
4.3 用户回调
KCC_OnUserUpdate
触发时机:用户资料更新时(用户名、头像等)。
4.4 服务器回调
KCC_OnGuildCreate
触发时机:服务器创建,或机器人加入新服务器时。
KCC_OnGuildUpdate
触发时机:服务器信息更新时(名称、图标等)。
KCC_OnGuildDelete
触发时机:服务器删除,或机器人离开服务器时。
KCC_OnGuildMemberAdd
触发时机:用户加入服务器时。
KCC_OnGuildMemberUpdate
触发时机:成员信息更新时(昵称、身份组等)。
KCC_OnGuildMemberVoiceUpdate
触发时机:成员语音状态变化时(加入 / 离开语音频道)。
KCC_OnGuildMemberRemove
触发时机:用户离开或被踢出服务器时。
KCC_OnGuildRoleCreate
触发时机:服务器中创建新身份组时。
KCC_OnGuildRoleUpdate
触发时机:服务器身份组更新时(名称、颜色、权限等)。
KCC_OnGuildRoleDelete
触发时机:服务器身份组被删除时。
将 Kook 机器人集成到你的 SA-MP / open.mp 服务器游戏模式中。
目录
1. 安装
1.1 创建 Kook 机器人
- 访问 https://developer.kookapp.cn/
- 创建一个新的应用 / 机器人
- 输入机器人名称并完成创建
- 从机器人设置页面获取你的 机器人令牌(Bot Token)
- 通过开发者门户或邀请链接,将机器人邀请到你的服务器
1.2 配置令牌
SA-MP(server.cfg):
代码:
kook_bot_token YOUR_BOT_TOKEN_HEREopen.mp(config.json):
代码:
kook.bot_token YOUR_BOT_TOKEN_HERE也可以使用环境变量代替:
代码:
SAMP_KOOK_BOT_TOKEN=YOUR_BOT_TOKEN_HERE引用:注意事项:
- 永远不要将机器人令牌分享给任何人
- 确保服务器时钟定期同步,否则速率限制器将无法正常工作,机器人可能会被封禁
- 此插件专为 open.mp (OMP) 服务器设计
2. 重要说明
引用:关于 Kook ID 与内部 ID:
Kook ID 是一个很大的数字,无法放入 PAWN 的 32 位整数中。因此插件采用两套 ID 体系:
- Kook ID:Kook 平台使用的真实 ID,必须以字符串形式传递
- 内部 ID:插件内部使用的整数索引,通过 KCC_Find* / KCC_Get* 系列函数获取
你的脚本只需持有内部 ID(索引),插件会在内部维护与真实 ID 的映射关系。
引用:关于发送私信:
向用户发送私信需要两步:
- 调用 KCC_CreatePrivateChannel(user, "回调函数名") 打开私信频道
- 在回调函数中调用 KCC_GetCreatedPrivateChannel() 获取频道 ID
- 使用该频道 ID 调用 KCC_SendChannelMessage 等频道函数发送消息
3. Natives(原生函数)
3.1 频道
KOOK_FindChannelById
代码:
KOOK_FindChannelById(const channel_id[])KCC_GetChannelId
代码:
KCC_GetChannelId(KCC_Channel:channel, dest[DCC_ID_SIZE], max_size = sizeof dest)KCC_GetChannelType
代码:
KCC_GetChannelType(KCC_Channel:channel, &KCC_ChannelType:type)KCC_GetChannelGuild
代码:
KCC_GetChannelGuild(KCC_Channel:channel, &KCC_Guild:guild)KCC_GetChannelName
代码:
KCC_GetChannelName(KCC_Channel:channel, dest[], max_size = sizeof dest)KCC_GetChannelTopic
代码:
KCC_GetChannelTopic(KCC_Channel:channel, dest[], max_size = sizeof dest)KCC_GetChannelPosition
代码:
KCC_GetChannelPosition(KCC_Channel:channel, &position)KCC_SendChannelMessage
代码:
KCC_SendChannelMessage(KCC_Channel:channel, const message[], const callback[] = "", const format[] = "", {Float, _}:...)KCC_SetChannelName
代码:
KCC_SetChannelName(KCC_Channel:channel, const name[])KCC_SetChannelTopic
代码:
KCC_SetChannelTopic(KCC_Channel:channel, const topic[])KCC_DeleteChannel
代码:
KCC_DeleteChannel(KCC_Channel:channel)3.2 消息
KCC_GetMessageId
代码:
KCC_GetMessageId(KCC_Message:message, dest[KCC_ID_SIZE], max_size = KCC_ID_SIZE)KCC_GetMessageChannel
代码:
KCC_GetMessageChannel(KCC_Message:message, &KCC_Channel:channel)KCC_GetMessageAuthor
代码:
KCC_GetMessageAuthor(KCC_Message:message, &KCC_User:author)KCC_GetMessageContent
代码:
KCC_GetMessageContent(KCC_Message:message, dest[], max_size = sizeof dest)KCC_IsMessageMentioningEveryone
代码:
KCC_IsMessageMentioningEveryone(KCC_Message:message, &bool:mentions_everyone)KCC_GetMessageUserMentionCount
代码:
KCC_GetMessageUserMentionCount(KCC_Message:message, &mentioned_user_count)KCC_GetMessageUserMention
代码:
KCC_GetMessageUserMention(KCC_Message:message, offset, &KCC_User:mentioned_user)KCC_GetMessageRoleMentionCount
代码:
KCC_GetMessageRoleMentionCount(KCC_Message:message, &mentioned_role_count)KCC_GetMessageRoleMention
代码:
KCC_GetMessageRoleMention(KCC_Message:message, offset, &KCC_Role:mentioned_role)KCC_DeleteMessage
代码:
KCC_DeleteMessage(KCC_Message:message)KCC_GetCreatedMessage
代码:
KCC_GetCreatedMessage()KCC_DeleteInternalMessage
代码:
KCC_DeleteInternalMessage(KCC_Message:message)KCC_EditMessage
代码:
KCC_EditMessage(KCC_Message:message, const content[], KCC_Embed:embed = KCC_Embed:0)KCC_SetMessagePersistent
代码:
KCC_SetMessagePersistent(KCC_Message:message, bool:persistent)KCC_CacheChannelMessage
代码:
KCC_CacheChannelMessage(const channel_id[DCC_ID_SIZE], const message_id[DCC_ID_SIZE], const callback[] = "", const format[] = "", {Float, _}:...)3.3 用户
引用:用户的 discriminator 是附加在 Kook 用户名后的 4 位数字标识。
KCC_FindUserByName
代码:
KCC_FindUserByName(const user_name[], const user_discriminator[])KCC_FindUserById
代码:
KCC_FindUserById(const user_id[])KCC_GetUserId
代码:
KCC_GetUserId(KCC_User:user, dest[DCC_ID_SIZE], max_size = DCC_ID_SIZE)KCC_GetUserName
代码:
KCC_GetUserName(KCC_User:user, dest[DCC_USERNAME_SIZE], max_size = sizeof dest)KCC_GetUserDiscriminator
代码:
KCC_GetUserDiscriminator(KCC_User:user, dest[], max_size = DCC_ID_SIZE)KCC_IsUserBot
代码:
KCC_IsUserBot(KCC_User:user, &bool:is_bot)KCC_IsUserVerified
代码:
KCC_IsUserVerified(KCC_User:user, &bool:is_verified)3.4 身份组
引用:dest 字符串大小必须为 DCC_ID_SIZE。
KCC_FindRoleByName
代码:
KCC_FindRoleByName(KCC_Guild:guild, const role_name[])KCC_FindRoleById
代码:
KCC_FindRoleById(const role_id[])KCC_GetRoleId
代码:
KCC_GetRoleId(KCC_Role:role, dest[DCC_ID_SIZE], max_size = sizeof dest)KCC_GetRoleName
代码:
KCC_GetRoleName(KCC_Role:role, dest[], max_size = sizeof dest)KCC_GetRoleColor
代码:
KCC_GetRoleColor(KCC_Role:role, &color)KCC_GetRolePermissions
代码:
KCC_GetRolePermissions(KCC_Role:role, &perm_high, &perm_low)KCC_IsRoleHoist
代码:
KCC_IsRoleHoist(KCC_Role:role, &bool:is_hoist)KCC_GetRolePosition
代码:
KCC_GetRolePosition(KCC_Role:role, &position)KCC_IsRoleMentionable
代码:
KCC_IsRoleMentionable(KCC_Role:role, &bool:is_mentionable)3.5 服务器
引用:dest 字符串大小必须为 DCC_ID_SIZE。
— 查询 —
KCC_FindGuildByName
代码:
KCC_FindGuildByName(const guild_name[])KCC_FindGuildById
代码:
KCC_FindGuildById(const guild_id[])KCC_GetGuildId
代码:
KCC_GetGuildId(KCC_Guild:guild, dest[DCC_ID_SIZE], max_size = sizeof dest)KCC_GetGuildName
代码:
KCC_GetGuildName(KCC_Guild:guild, dest[], max_size = sizeof dest)KCC_GetGuildOwnerId
代码:
KCC_GetGuildOwnerId(KCC_Guild:guild, dest[DCC_ID_SIZE], max_size = sizeof dest)KCC_GetAllGuilds
代码:
KCC_GetAllGuilds(KCC_Guild:dest[], max_size = sizeof dest)— 频道 —
KCC_GetGuildChannel
代码:
KCC_GetGuildChannel(KCC_Guild:guild, offset, &KCC_Channel:channel)KCC_GetGuildChannelCount
代码:
KCC_GetGuildChannelCount(KCC_Guild:guild, &count)KCC_CreateGuildChannel
代码:
KCC_CreateGuildChannel(KCC_Guild:guild, const name[], DCC_ChannelType:type, const callback[] = "", const format[] = "", {Float, _}:...)KCC_GetCreatedGuildChannel
代码:
KCC_GetCreatedGuildChannel()— 成员 —
KCC_GetGuildMember
代码:
KCC_GetGuildMember(KCC_Guild:guild, offset, &KCC_User:user)KCC_GetGuildMemberCount
代码:
KCC_GetGuildMemberCount(KCC_Guild:guild, &count)KCC_GetGuildMemberVoiceChannel
代码:
KCC_GetGuildMemberVoiceChannel(KCC_Guild:guild, KCC_User:user, &KCC_Channel:channel)KCC_GetGuildMemberNickname
代码:
KCC_GetGuildMemberNickname(KCC_Guild:guild, KCC_User:user, dest[DCC_NICKNAME_SIZE], max_size = sizeof dest)KCC_GetGuildMemberRole
代码:
KCC_GetGuildMemberRole(KCC_Guild:guild, KCC_User:user, offset, &KCC_Role:role)KCC_GetGuildMemberRoleCount
代码:
KCC_GetGuildMemberRoleCount(KCC_Guild:guild, KCC_User:user, &count)KCC_HasGuildMemberRole
代码:
KCC_HasGuildMemberRole(KCC_Guild:guild, KCC_User:user, KCC_Role:role, &bool:has_role)KCC_SetGuildMemberNickname
代码:
KCC_SetGuildMemberNickname(KCC_Guild:guild, KCC_User:user, const nickname[])KCC_AddGuildMemberRole
代码:
KCC_AddGuildMemberRole(KCC_Guild:guild, KCC_User:user, KCC_Role:role)KCC_RemoveGuildMemberRole
代码:
KCC_RemoveGuildMemberRole(KCC_Guild:guild, KCC_User:user, KCC_Role:role)KCC_RemoveGuildMember
代码:
KCC_RemoveGuildMember(KCC_Guild:guild, KCC_User:user)KCC_CreateGuildMemberBan
代码:
KCC_CreateGuildMemberBan(KCC_Guild:guild, KCC_User:user, const reason[] = "")KCC_RemoveGuildMemberBan
代码:
KCC_RemoveGuildMemberBan(KCC_Guild:guild, KCC_User:user)— 身份组管理 —
KCC_GetGuildRole
代码:
KCC_GetGuildRole(KCC_Guild:guild, offset, &KCC_Role:role)KCC_GetGuildRoleCount
代码:
KCC_GetGuildRoleCount(KCC_Guild:guild, &count)KCC_CreateGuildRole
代码:
KCC_CreateGuildRole(KCC_Guild:guild, const name[], const callback[] = "", const format[] = "", {Float, _}:...)KCC_GetCreatedGuildRole
代码:
KCC_GetCreatedGuildRole()KCC_DeleteGuildRole
代码:
KCC_DeleteGuildRole(KCC_Guild:guild, KCC_Role:role)KCC_SetGuildRoleName
代码:
KCC_SetGuildRoleName(KCC_Guild:guild, KCC_Role:role, const name[])KCC_SetGuildRolePermissions
代码:
KCC_SetGuildRolePermissions(KCC_Guild:guild, KCC_Role:role, perm_high, perm_low)KCC_SetGuildRoleColor
代码:
KCC_SetGuildRoleColor(KCC_Guild:guild, KCC_Role:role, color)KCC_SetGuildRoleHoist
代码:
KCC_SetGuildRoleHoist(KCC_Guild:guild, KCC_Role:role, bool:hoist)KCC_SetGuildRoleMentionable
代码:
KCC_SetGuildRoleMentionable(KCC_Guild:guild, KCC_Role:role, bool:mentionable)3.6 机器人
KCC_CreatePrivateChannel
代码:
KCC_CreatePrivateChannel(KCC_User:user, const callback[], const format[] = "", {Float, _}:...)KCC_GetCreatedPrivateChannel
代码:
KCC_GetCreatedPrivateChannel()3.7 嵌入消息
嵌入消息(Embed)允许向 Kook 频道发送富文本内容消息。
KCC_CreateEmbed
代码:
KCC_CreateEmbed(const title[] = "", const description[] = "", const url[] = "", const timestamp[] = "", color = 0, const footer_text[] = "", const footer_icon_url[] = "", const thumbnail_url[] = "", const image_url[] = "")KCC_DeleteEmbed
代码:
KCC_DeleteEmbed(KCC_Embed:embed)KCC_SendChannelEmbedMessage
代码:
KCC_SendChannelEmbedMessage(KCC_Channel:channel, KCC_Embed:embed, const message[] = "", const callback[] = "", const format[] = "", {Float, _}:...)KCC_AddEmbedField
代码:
KCC_AddEmbedField(KCC_Embed:embed, const name[], const value[], bool:inline = false)KCC_SetEmbedTitle
代码:
KCC_SetEmbedTitle(KCC_Embed:embed, const title[])KCC_SetEmbedDescription
代码:
KCC_SetEmbedDescription(KCC_Embed:embed, const description[])KCC_SetEmbedUrl
代码:
KCC_SetEmbedUrl(KCC_Embed:embed, const url[])KCC_SetEmbedTimestamp
代码:
KCC_SetEmbedTimestamp(KCC_Embed:embed, const timestamp[])KCC_SetEmbedColor
代码:
KCC_SetEmbedColor(KCC_Embed:embed, color)KCC_SetEmbedFooter
代码:
KCC_SetEmbedFooter(KCC_Embed:embed, const footer_text[], const footer_icon_url[] = "")KCC_SetEmbedThumbnail
代码:
KCC_SetEmbedThumbnail(KCC_Embed:embed, const thumbnail_url[])KCC_SetEmbedImage
代码:
KCC_SetEmbedImage(KCC_Embed:embed, const image_url[])3.8 表情
引用:dest 字符串大小必须为 DCC_EMOJI_NAME_SIZE。
KCC_CreateEmoji
代码:
KCC_CreateEmoji(const name[DCC_EMOJI_NAME_SIZE], const snowflake[DCC_ID_SIZE] = "")KCC_DeleteEmoji
代码:
KCC_DeleteEmoji(KCC_Emoji:emoji)KCC_GetEmojiName
代码:
KCC_GetEmojiName(KCC_Emoji:emoji, dest[DCC_EMOJI_NAME_SIZE], maxlen = DCC_EMOJI_NAME_SIZE)3.9 反应
KCC_CreateReaction
代码:
KCC_CreateReaction(KCC_Message:message, KCC_Emoji:reaction_emoji)KCC_DeleteMessageReaction
代码:
KCC_DeleteMessageReaction(KCC_Message:message, KCC_Emoji:reaction_emoji = KCC_Emoji:0)3.10 其他
KCC_EscapeMarkdown
代码:
KCC_EscapeMarkdown(const src[], dest[], max_size = sizeof dest)4. Callbacks(回调函数)
4.1 频道回调
KCC_OnChannelCreate
代码:
public KCC_OnChannelCreate(KCC_Channel:channel)KCC_OnChannelUpdate
代码:
public KCC_OnChannelUpdate(KCC_Channel:channel)KCC_OnChannelDelete
代码:
public KCC_OnChannelDelete(KCC_Channel:channel)4.2 消息回调
KCC_OnMessageCreate
代码:
public KCC_OnMessageCreate(KCC_Message:message)KCC_OnMessageDelete
代码:
public KCC_OnMessageDelete(KCC_Message:message)KCC_OnMessageReaction
代码:
public KCC_OnMessageReaction(KCC_Message:message, KCC_User:reaction_user, KCC_Emoji:emoji, DCC_MessageReactionType:reaction_type)- message:消息内部 ID
- reaction_user:操作反应的用户内部 ID
- emoji:使用的表情内部 ID
- reaction_type:反应事件类型(添加 / 移除等)
4.3 用户回调
KCC_OnUserUpdate
代码:
public KCC_OnUserUpdate(KCC_User:user)4.4 服务器回调
KCC_OnGuildCreate
代码:
public KCC_OnGuildCreate(KCC_Guild:guild)KCC_OnGuildUpdate
代码:
public KCC_OnGuildUpdate(KCC_Guild:guild)KCC_OnGuildDelete
代码:
public KCC_OnGuildDelete(KCC_Guild:guild)KCC_OnGuildMemberAdd
代码:
public KCC_OnGuildMemberAdd(KCC_Guild:guild, KCC_User:user)KCC_OnGuildMemberUpdate
代码:
public KCC_OnGuildMemberUpdate(KCC_Guild:guild, KCC_User:user)KCC_OnGuildMemberVoiceUpdate
代码:
public KCC_OnGuildMemberVoiceUpdate(KCC_Guild:guild, KCC_User:user, KCC_Channel:channel)- channel:语音频道内部 ID,用户离开语音时该值可能无效
KCC_OnGuildMemberRemove
代码:
public KCC_OnGuildMemberRemove(KCC_Guild:guild, KCC_User:user)KCC_OnGuildRoleCreate
代码:
public KCC_OnGuildRoleCreate(KCC_Guild:guild, KCC_Role:role)KCC_OnGuildRoleUpdate
代码:
public KCC_OnGuildRoleUpdate(KCC_Guild:guild, KCC_Role:role)KCC_OnGuildRoleDelete
代码:
public KCC_OnGuildRoleDelete(KCC_Guild:guild, KCC_Role:role)
