Towns Protocol Skills

🤖 去中心化社区 Bot 开发官方指南

Towns Protocol 官方 Bot SDK 开发手册,涵盖消息处理、斜杠命令、区块链交互与部署流程,适合构建去中心化社区机器人。

收藏
5.3k
安装
2.2k
版本
2.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心功能与定位

Towns Protocol Bot SDK 是官方提供的 TypeScript 开发工具包,专为构建去中心化社交机器人设计。该 SDK 深度集成 Towns 协议的消息系统与 Base 网络区块链能力,支持开发者创建具备链上交互能力的社区管理机器人。

核心用法概览

SDK 采用 Bun 运行时 作为基础环境,通过 makeTownsBot() 工厂函数初始化机器人实例。核心架构包含双钱包设计bot.viem.account.address 作为 Gas 钱包负责支付交易费用(需充值 Base ETH),bot.appAddress 作为可选的国库钱包处理资金流转。

消息处理体系分为四大事件类型:

  • `onMessage`:监听普通消息流(斜杠命令不触发)
  • `onSlashCommand`:专用命令处理器,需在初始化时预定义命令列表
  • `onReaction`:emoji 反应事件监听
  • `onTip`:代币打赏事件(需开启"All Messages"模式)
  • `onInteractionResponse`:交互组件响应处理(表单、交易签名等)

交互能力方面,SDK 支持发送富文本消息(支持提及、线程回复、附件)、发送交互式表单、发起链上交易请求,以及执行基础的权限管理操作(ban/unban)。

显著优点

1. 链上原生集成:直接通过 Viem 客户端与 Base 网络交互,无需额外配置 Web3 Provider
2. 类型安全:完整 TypeScript 类型定义,包含 BotCommandBotHandler 等核心接口

3. 交互式组件:内置表单系统支持按钮、输入框等 UI 组件,降低前端开发负担

4. 权限抽象:封装 hasAdminPermission 等权限检查,简化 DAO 治理场景开发

5. 官方生态支持:与 Towns Developer Portal 深度集成,提供应用凭证管理与 Webhook 配置

潜在局限与风险

运行环境限制:强制依赖 Bun 运行时,Node.js 生态兼容性受限;bunx towns-bot init 脚手架工具链锁定技术选型。

资金安全风险:双钱包架构要求开发者正确区分 Gas 钱包与国库钱包,误操作可能导致资金损失;文档明确警示"永远不要仅凭 txHash 确认交易",必须验证 receipt.status === 'success'

身份系统特殊性:User ID 采用以太坊地址格式(0x...),与传统社交平台的用户名体系差异显著,增加用户认知成本。

调试复杂性:消息转发模式(Message Forwarding Mode)需在 Developer Portal 手动配置,配置错误会导致事件监听失效,且错误提示为静默失败。

适用人群

  • Web3 社区运营者:需要构建具有代币门控、打赏激励的 Discord/Telegram 替代方案
  • DAO 工具开发者:开发提案投票、成员管理、资金分配的自动化机器人
  • Base 生态建设者:熟悉 Viem/EVM 开发栈,希望快速接入 Towns 社交协议

安全等级评估

SDK 本身来自 Towns Protocol 官方(T1 可信度),但使用场景涉及区块链资金操作,需开发者自行管理私钥安全。建议生产环境采用硬件钱包或 KMS 方案托管 APP_PRIVATE_DATA

常规风险提示

  • 私钥泄露风险:APP_PRIVATE_DATA 包含完整凭证,泄露即导致机器人失控
  • Gas 耗尽风险:高频链上操作需监控 Gas 钱包余额
  • 交易回滚风险:未验证交易收据即执行业务逻辑可能导致状态不一致
  • 兼容性风险:SDK 版本 2.0.0 处于快速迭代期,API 可能变动

Towns Protocol Skills 内容

references文件夹
手动下载zip · 11.2 kB
BLOCKCHAIN.mdtext/markdown
请选择文件