用途:该技能为使用 Go SDK 操作 Slack Web API 提供指导,覆盖发送消息、向频道发帖、创建与管理频道、获取用户信息、文件上传以及 Block Kit 富交互消息等常见场景,适合在 Go 项目中集成 Slack 的开发者参考。
主要能力:其核心调用模式为 result, err := api.MethodName(params...),并在出错时统一处理限流、权限等问题。消息方面支持纯文本发送与 Block Kit 结构化消息,可组合 Section、Divider 等区块;频道方面支持创建公开或私有频道、列出频道并配合游标分页;用户方面支持按 ID 查询资料与列出全部用户;文件方面支持上传并分享到指定频道。
使用方式:发送文本可调用 api.PostMessage(channelID, slack.MsgOptionText(text, false));发送 Block Kit 消息使用 slack.MsgOptionBlocks(...);创建频道调用 api.CreateConversation(channelName, isPrivate);列出频道使用 api.GetConversations(params) 配合 nextCursor 循环分页;查询用户调用 api.GetUserInfo("U1234567890");上传文件构造 slack.FileUploadParameters 后调用 api.UploadFile(params)。
限制与注意事项:需处理速率限制,可识别 slack.RateLimitedError 并按 RetryAfter 等待重试,建议使用指数退避;避免硬编码频道或用户 ID,应通过查询或环境变量获取;需对消息中的用户输入做转义;须确认 Bot Token 的权限范围与所需权限一致;高吞吐场景避免使用阻塞操作。资料还提示了 channel_not_found、invalid_auth 等常见错误类型。更详细的线程、更新、临时消息、频道管理与分页策略分别见相关文档。安装或收费信息暂未提供。