资讯动态

5 分钟用 SlackKit 开发你的第一个 Slack Bot:RTM 机器人完全教程

发布时间:2026/10/16 18:34:10 来源:尧图企业网站定制
【免费下载链接】SlackKitBuild Slack apps, in Swift项目地址https://gitcode.com/gh_mirrors/sl/SlackKit点击查看免费下载SlackKit是一个用 Swift 编写的开源工具包让你几行代码就能构建 Slack 应用通过 RTMReal Time Messaging实时消息API 实时监听频道消息、发送回复、添加表情回应甚至部署 Slash Command 和 OAuth 授权服务。本教程带你在 5 分钟内跑通第一个 RTM 机器人 一、SlackKit 模块结构一览SlackKit 采用「分层架构」核心入口是SlackKit类底层由 5 个模块组成按需取用即可模块作用源码位置SlackKit总入口聚合 RTM 客户端 Web API 服务器SlackKit.swiftSKClient客户端连接管理维护用户/团队/频道状态Client.swiftSKCore数据模型Message、Channel、User 等SKCore/Sources/SKRTMAPI连接 Slack RTM APIWebSocket 实时通信SKRTMAPI.swiftSKServer内置 HTTP 服务器支持 OAuth、Slash Command、消息按钮SKServer.swiftSKWebAPI调用 Slack Web API发消息、加表情等WebAPI.swift 新手只需 importSlackKit一个模块其他模块会自动导出无需单独引入。二、第一步获取 Slack Bot 的 API Token打开 Slack 开发者控制台api.slack.com/apps选择Create New App在OAuth Permissions中为 Bot 添加chat:write等所需权限点击Generate Bot Token得到形如xoxb-xxxx的 Bot Token在 Slack 工作区中把 Bot 邀请进目标频道否则收不到消息。Token 建议写入环境变量或配置文件不要硬编码提交到仓库。三、第二步三种方式安装 SlackKit方式 1Swift Package Manager推荐let package Package( dependencies: [ .package(url: https://github.com/pvzig/SlackKit.git, .upToNextMinor(from: 4.6.0)) ] )方式 2Carthage—— 在 Cartfile 中加入github pvzig/SlackKit并执行carthage bootstrap --use-xcframeworks --platform macos。方式 3CocoaPods—— 在 Podfile 中加入pod SlackKit详见 SlackKit.podspec。⚠️ 使用 SPM 构建时依赖 vapor websocketLinux 上需先brew install libressl。如想获取源码研究内部实现git clone https://gitcode.com/gh_mirrors/sl/SlackKit四、第三步5 行代码跑通第一个 RTM Botimport SlackKit let bot SlackKit() bot.addRTMBotWithAPIToken(xoxb-SLACK-BOT-TOKEN) bot.notificationForEvent(.message) { (event, _) in print(event.message?.text ?? ) }就这么简单。背后发生了什么addRTMBotWithAPIToken 创建SKRTMAPI实例并立即调用connect()SKRTMAPI.connect 先请求 RTM 连接 URL再通过 WebSocket 建立长连接macOS/iOS 上使用 StarscreamLinux 上使用 Vapor WebSocketKit连接成功收到hello事件后进入就绪状态之后频道里每来一条消息都会触发你注册的.message回调连接会自动保活默认每 30 秒发一次ping超过 300 秒无响应则断开并重连。事件类型定义在 Event.swift 中除message外还支持message_changed、message_deleted、member_joined_channel等按需订阅即可。五、第四步让机器人开口说话RTM 负责「听」发消息则交给 Web API。加一行注册bot.addWebAPIAccessWithToken(xoxb-SLACK-BOT-TOKEN)之后即可在回调中回复消息bot.webAPI?.sendMessage(channel: event.message?.channel, text: Hello, I am your first Slack Bot! , success: nil, failure: nil)sendMessage的完整实现见 WebAPI.swift。除了发文本还可以用 Web API 添加表情回应addReactionToMessage、修改频道 Topic 等接口一目了然。六、进阶自定义 RTM 连接选项addRTMBotWithAPIToken支持传入 RTMOptions控制连接行为参数默认值说明pingInterval30 秒心跳间隔防止连接被闲置断开timeout300 秒超时未收到 pong 即判定断线reconnecttrue断线后自动重连mpimAwaretrue是否接收群私聊MPIM消息noUnreads / noLatestfalse连接时是否跳过未读/最新消息信息七、参考两个官方示例工程仓库自带两个可直接运行的完整示例建议通读一遍Robot or Not Bot监听消息关键词自动给消息添加表情回应见 main.swiftLeaderboard用/--记积分、输入leaderboard用卡片Attachment渲染排行榜是消息解析 富文本回复的好样板见 Leaderbot.swift。两个示例都同时演示了「API Token 直连」与「OAuth 授权」两种接入方式。八、新手避坑清单收不到消息检查 Bot 是否被邀请进频道以及 Token 是否具备chat:write、channels:history等权限连接闪断确认网络可达 WebSocket 端口断线时 SlackKit 默认会自动重连无需手动处理本地调试 OAuth / Slash CommandRTM 不需要公网地址但 OAuth 回调和消息按钮回调需要 HTTPS 公网地址可搭配 ngrok 一类的内网穿透工具技术选型提醒SlackKit 目前已停止活跃开发见 README.md 顶部说明RTM 方案适合学习原理与小工具生产环境的新项目建议评估 Slack 官方推荐的 Events API 方向。下一步把回调里的print换成业务逻辑——自动回复、积分统计、日报推送……你的第一个 Slack Bot 已经就位 ⚡️赞分享【免费下载链接】SlackKitBuild Slack apps, in Swift项目地址https://gitcode.com/gh_mirrors/sl/SlackKit点击查看免费下载相关推荐PasteMD终极指南跨平台格式粘贴的完整解决方案PasteMD终极指南跨平台格式粘贴的完整解决方案 在学术写作、技术文档和数据分析的日常工作中你是否曾为跨平台粘贴格式错乱而烦恼从AI对话中复制代码到Wo桌面应用使用Python构建你的第一个Slack机器人FullstackPython教程使用Python构建你的第一个Slack机器人FullstackPython教程 Slack作为一款流行的团队协作工具其机器人功能可以极大提升工作效率。本文Wechaty Puppet WeChat完整入门教程5分钟搭建你的第一个微信机器人Wechaty Puppet WeChat完整入门教程5分钟搭建你的第一个微信机器人 想要快速搭建一个智能微信机器人吗Wechaty Puppet WeCh创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑