黑频道扩展
通过代理OS的双向黑消息 @slack/bolt。 。 。 .
它提供什么
slackChannelSendMessageslackChannelSendMediaslackChannel
运行时间状态
- 这是全程频道节目.
- 频道保持选入,因为它们可以连接,民意调查,或接收网络呼声.
- 打开它
createCuratedManifest({ channels: ['slack'] })或自定义扩展列表.
需要的密钥
slack.botTokenslack.signingSecretslack.appToken
张贴给一个人自己的Slack链接(./outbound(中文(简体) )
只发布消息的主机,例如一个人选择发送到频道的便笺,会带走 ./outbound 输入。 这个
装入无 Bolt 应用程序, 打开无端口, 不需要上面的任何秘密 : 个人在自己的 Slack 中创建链接
工作空间和主机保持它作为它的秘密.
import { parseSlackLink, postToSlackLink } from '@framers/agentos-ext-channel-slack/outbound';
const link = parseSlackLink(pasted); // null for anything that is not a Slack link
if (link === null) throw new Error('not a Slack incoming webhook or workflow link');
const outcome = await postToSlackLink(link, 'Decisions: ship on Friday.');
if (!outcome.ok && outcome.reason === 'link_gone') {
// The link was removed, its channel archived or its workspace closed: ask the person for a new link.
}
parseSlackLink 需要两种联系,没有别的了:
- 进入个人工作空间的应用软件网游,
https://hooks.slack.com/services/<workspace>/<B...>/<secret>(单位:千美元)斯莱克的向导(三); - 一个工作流程的网钩触发器,
https://hooks.slack.com/triggers/<workspace>/<number>/<secret>在工作流程中制作 根据Slack的付费计划建造者(Slack的帮助) (中文(简体) ). 工作流程需要一个 文本变量名称text,其信息步骤显示.
任何其他方案,主机,端口(包含已写入的默认),用户名,查询,片段,回击或路径是
拒绝,它返回的链接重建于
hooks.slack.com 从选中路径中 kind页:1 workspace id和它的后四个字符(ending(中文(简体) )
让一个人分辨他们的关联.
postToSlackLink(link, text, { fetch, timeoutMs, signal }) 员额 { "text": ... } 作为JSON, 随着文本逃脱
(单位:千美元)&, (中文(简体) ), < 财务报告和审定财务报表 > 作为 &, (中文(简体) ), < 财务报告和审定财务报表 >无论是哪种联系。 Slack读到一个即将到来的 Webhook 的文本作为它的
消息格式化( e)Slack 格式化指南页:1
由 webhook 启动的工作流程在其变量中采用相同的格式
(单位:千美元)斯拉克的平台博客),所以一个
未回避 <!channel>, (中文(简体) ), <!here>, (中文(简体) ), <@U...> 或者说 <#C...> 会通知人们或显示作者从未写过的链接.
escapeSlackText 独自逃跑也是一样 10秒后放弃,除非
timeoutMs 拒绝文本,只保留空格或超过 SLACK_TEXT_LIMIT (40 000美元)
当链接获得时, 字符的长度会缩短信件的长度
(单位:千美元)聊天. postMessage 中标) (中文(简体) ). slackTextLength(kind, text) 这是
长度,隐藏的文本是,一个主机要在文章前显示或检查.
它决定 { ok: true },或 { ok: false, reason, retryAfterSeconds?, slackError? }数字 :
reason | 斯莱克说的话 | 宿主会做什么 |
|---|---|---|
link_gone | 该链接不再使用员额: no_service, (中文(简体) ), no_active_hooks, (中文(简体) ), invalid_token, (中文(简体) ), channel_is_archived, (中文(简体) ), team_disabled 类似,或404或410 | 询问新链接 |
refused | 工作空间拒绝该帖: action_prohibited, (中文(简体) ), posting_to_general_channel_denied,或 403 键 | 告诉当事人; 可能发布到另一个频道的新链接 |
invalid | Slack拒绝留言: invalid_payload, (中文(简体) ), no_text, (中文(简体) ), parameter_validation_failed (一个工作流程的JSON Slack不能接受),或者另一个4xx | 检查文本,工作流程的一个变量被命名 text |
rate_limited | A. 429; retryAfterSeconds 这是它的 Retry-After, 1至3600) (中文(简体) ) | 等待那么长时间;Slack大约每秒一个接通一个连线(费率限额(中文(简体) ) |
unavailable | 没有及时回答,一个5xx,一个方向 | 以后再试 |
slackError 是Slack的出错代码, 当答案带有一个; 没有Slack的答案被返回。 2xx (韩语)
答案是Slack的后缀 除非是JSON对象的顶级 ok 错误的,所以一个帖子从来没有被报告为
失败并两次发送 。 Slack的答案是从它的体流读到最多8,192个字符,然后流就是了
放开我 一个答案 a fetch 仅按其状态阅读: text() 从不叫,因为
无论时间有多长 答案都一成不变 暂停和 signal 结束帖子本身,所以
取出一个答案的身体 等待答案 unavailable 准时.
真相来源
manifest.json定义导出的工具和消息通道描述符.src/包含适配器和工具执行.
释放
新版本发表于 架设层/剂-外延 由 GitHub Actions 通过 npm 信任的出版, 并附有出处声明 .