[ PROMPT_NODE_25842 ]
slack-bot-builder
[ SKILL_DOCUMENTATION ]
# Slack Bot 构建器
## 模式
### Bolt 应用基础模式
Bolt 框架是 Slack 推荐的构建应用方式。
它处理身份验证、事件路由、请求验证和
HTTP 请求处理,让你专注于应用逻辑。
核心优势:
- 几行代码即可处理事件
- 内置安全检查和负载验证
- 组织有序、模式一致
- 适用于实验和生产环境
支持语言:Python, JavaScript (Node.js), Java
**使用场景**:['启动任何新的 Slack 应用', '从旧版 Slack API 迁移', '构建生产级 Slack 集成']
python
# Python Bolt 应用
from slack_bolt import App
from slack_bolt.adapter.socket_mode import SocketModeHandler
import os
# 使用环境变量中的令牌初始化
app = App(
token=os.environ["SLACK_BOT_TOKEN"],
signing_secret=os.environ["SLACK_SIGNING_SECRET"]
)
# 处理包含 "hello" 的消息
@app.message("hello")
def handle_hello(message, say):
"""响应包含 'hello' 的消息。"""
user = message["user"]
say(f"Hey there !")
# 处理斜杠命令
@app.command("/ticket")
def handle_ticket_command(ack, body, client):
"""处理 /ticket 斜杠命令。"""
# 立即确认(3秒内)
ack()
# 打开一个工单创建模态框
client.views_open(
trigger_id=body["trigger_id"],
view={
"type": "modal",
"callback_id": "ticket_modal",
"title": {"type": "plain_text", "text": "Create Ticket"},
"submit": {"type": "plain_text", "text": "Submit"},
"blocks": [
{
"type": "input",
"block_id": "title_block",
"element": {
"type": "plain_text_input",
"action_id": "title_input"
},
"label": {"type": "plain_text", "text": "Title"}
},
{
"type": "input",
"block_id": "desc_block",
"element": {
"type": "plain_text_input",
"multiline": True,
"action_id": "desc_input"
},
"label": {"type": "plain_text", "text": "Description"}
},
{
"type": "input",
"block_id": "priority_block",