> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vetox.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 通知如何工作

> 在您的 Discord 服务器中直接公告来自八个外部平台的新直播、视频、帖子和剧集。

Vetox 监视八个外部平台，并在有新内容出现时在您的服务器中发布公告。

<CardGroup cols={4}>
  <Card title="Twitch" icon="twitch" href="/zh-CN/notifications/twitch" />

  <Card title="Kick" icon="tower-broadcast" href="/zh-CN/notifications/kick" />

  <Card title="YouTube" icon="youtube" href="/zh-CN/notifications/youtube" />

  <Card title="Reddit" icon="reddit" href="/zh-CN/notifications/reddit" />

  <Card title="Bluesky" icon="cloud" href="/zh-CN/notifications/bluesky" />

  <Card title="Steam" icon="steam" href="/zh-CN/notifications/steam" />

  <Card title="RSS" icon="rss" href="/zh-CN/notifications/rss" />

  <Card title="播客" icon="podcast" href="/zh-CN/notifications/podcasts" />
</CardGroup>

## 三件事必须同时成立

这是通知看起来不工作最常见的原因。三者全部必需，且只有第一项在通知页面本身可见。

<Steps>
  <Step title="Basic 或更高级别的高级会员">
    每个平台都至少需要 **Basic** 等级。在 Starter 上添加订阅会被拒绝，并显示提到该平台的消息。

    检查会运行两次 —— 一次是您添加项目时，另一次是即将发送公告的时刻。
  </Step>

  <Step title="服务器设置中该平台的开关">
    每个平台在 [服务器设置](/zh-CN/server-management/setup) 页面上有自己的开关，且 **默认关闭**。仅配置通知本身是不够的。

    <Warning>
      两个通知页面都不会显示此开关的状态。一个完全配置好且已付费的动态会静默地永远不触发，通知界面中任何地方都没有指示。**请先检查服务器设置。**
    </Warning>
  </Step>

  <Step title="频道权限">
    Vetox 在目标频道需要 **查看频道**、**发送消息** 和 **嵌入链接** 权限。请见下文。
  </Step>
</Steps>

## 限额

**每个平台每服务器 10 个项目** —— 10 个 Twitch 主播、10 个 YouTube 频道、10 个 subreddit，等等。

这是产品的固定限额。它 **不会** 随更高的高级会员等级增加，Basic、Max 和 Black 上都相同。

## 通知到达速度

Vetox 按固定时间表轮询每个平台。公告在内容出现后的下一次轮询到达。

| 平台      | 检查间隔 | 每源冷却  |
| ------- | ---- | ----- |
| Twitch  | 60 秒 | 10 分钟 |
| Kick    | 60 秒 | 10 分钟 |
| Bluesky | 60 秒 | 2 分钟  |
| Reddit  | 3 分钟 | 2 分钟  |
| Steam   | 3 分钟 | 2 分钟  |
| YouTube | 5 分钟 | 10 分钟 |
| RSS     | 5 分钟 | 5 分钟  |
| 播客      | 5 分钟 | 5 分钟  |

**冷却** 是同一来源两次公告之间的下限，与轮询间隔无关。一分钟内发帖三次的 subreddit 只产生一次公告，而非三次。

<Note>
  轮询由单个当选实例执行，因此忙碌的服务器绝不会从并行工作器收到重复。
</Note>

### 两种不同的跟踪模型

| 模型       | 平台          | 行为                           |
| -------- | ----------- | ---------------------------- |
| **直播状态** | Twitch、Kick | 跟踪流是直播中还是离线，并在该状态 *改变* 的瞬间公告 |
| **新内容**  | 其他六个        | 跟踪单个项目并一次公告每个新项目             |

<Warning>
  **添加一位已经在直播的主播不会产生任何公告。** 直播状态跟踪器仅在离线 → 在线的转变时触发。如果您在直播中途添加某人，您收到的第一条公告是他们的 *下一次* 直播。

  请用当前离线的人测试，或干脆等待。
</Warning>

<Note>
  直播/离线状态是 **按主播跟踪的，不是按服务器**。如果多个服务器关注同一主播，它们由一个共享状态驱动。
</Note>

## 不会公告什么

<AccordionGroup>
  <Accordion title="您添加之前发布的任何内容" icon="clock-rotate-left">
    添加订阅从不回补历史。只有您添加项目后发布的内容才会被公告，因此不会在设置期间淹没您的频道。
  </Accordion>

  <Accordion title="2 小时前的内容" icon="hourglass-end">
    对于六个基于内容的平台，超过 2 小时前发布的任何内容都会被忽略，即使 Vetox 从未见过。这防止在停机后倾泻积压。

    发布日期无法读取的项目会绕过此检查，无论多旧都可能被公告。这偶尔是旧的 RSS 项目出现的原因。
  </Accordion>

  <Accordion title="同一项目两次" icon="copy">
    每个已公告的项目按服务器记住 **7 天**，因此重启或缓慢轮询不会产生重复。两个关注同一动态的服务器各自获得一份副本 —— 一个服务器看到某项不会抑制另一个。
  </Accordion>

  <Accordion title="Bluesky 回复和转发" icon="reply">
    仅公告原创帖子。回复和转发被双重过滤。**引用帖子不被过滤** 会被公告。
  </Accordion>

  <Accordion title="高级会员失效期间到达的任何内容" icon="triangle-exclamation">
    高级会员非活跃时看到的项目会被标记为 7 天内已见，即使什么都没发布。升级不会追溯性地公告它。

    重新激活高级会员后，请预期一段安静期直到真正的新内容出现。
  </Accordion>
</AccordionGroup>

## Discord 权限

发送时检查机器人在目标频道的实时权限：

| 权限       | 原因                             |
| -------- | ------------------------------ |
| **查看频道** | Vetox 无法向它看不到的频道发送消息           |
| **发送消息** | 用于发布公告                         |
| **嵌入链接** | 每个通知都是嵌入。没有它消息会被直接拒绝，即使有发送消息权限 |

<Warning>
  **一次权限失败会永久丢失该项目。** 该项目在尝试发送前会被标记为已见，没有重试。请在您关心的内容 *发布之前* 修复权限 —— 而不是之后。
</Warning>

<Tip>
  如果一个频道有自定义权限覆写，请检查机器人在那里的 *有效* 权限而非它服务器范围的角色。嵌入链接是最常缺失的一项。
</Tip>

## 自定义公告

| 选项             | 作用                           |
| -------------- | ---------------------------- |
| **Discord 频道** | 公告发布的位置。按跟踪项设置，不同主播可发布到不同频道  |
| **提及角色**       | 随公告 ping 的角色                 |
| **自定义嵌入**      | 完全控制标题、描述、颜色、作者、页脚、缩略图、图片和字段 |
| **自定义消息**      | 用作嵌入正文的纯文本。**仅在 RSS 和播客上可用** |

<Note>
  自定义消息控件仅出现在 RSS 和 Podcast 页面上。其他六个平台改用自定义嵌入。
</Note>

### 嵌入大小限额

| 字段         | 限额                     |
| ---------- | ---------------------- |
| 标题         | 256 字符                 |
| 描述         | 4,096 字符               |
| 作者名        | 256 字符                 |
| 页脚文本       | 2,048 字符               |
| 字段         | 25 个，每个 256 / 1,024 字符 |
| 图片和缩略图 URL | 500 字符，不支持 SVG         |

### 变量

嵌入和消息字段支持花括号中的变量，如 `{streamer.name}`。每个平台都有自己的一套，列在该平台的页面上。

<Warning>
  **未知变量会变为空文本而非错误。** 而标题或值最终为空的嵌入字段会被整条消息完全丢弃。

  因此一直消失的字段几乎总是意味着拼写错误的变量，或该平台中不存在的变量。请对照该平台页面上的列表检查名字 —— 编辑器中的下拉菜单是权威的。
</Warning>

<Note>
  Twitch 和 Kick 的直播变量（`{stream.title}`、`{stream.viewers}` 等）仅在 **直播中** 公告存在。在下播嵌入中使用它们会解析为空，其字段会消失。
</Note>

## 提及

您配置的提及角色会被正常 ping。

<Warning>
  通知嵌入中的提及 **不** 限制为已配置的角色。键入自定义消息或嵌入正文中的角色或用户提及会 ping。请在自定义模板中小心 `@everyone`。
</Warning>

## 您无法更改的两个设置

<Note>
  每个平台的 **主启用开关** 和 **嵌入颜色** 已存储但在仪表盘中没有可用的控件。每个平台使用其品牌默认颜色，主开关无法切换。

  请使用 [服务器设置](/zh-CN/server-management/setup) 开关关闭平台，用自定义嵌入设置颜色。
</Note>

## 疑难解答

<AccordionGroup>
  <Accordion title="完全没有任何发布">
    按顺序：

    1. **服务器设置** 页面上该平台的开关已开 —— 默认关闭且从这里看不到
    2. 服务器有有效的 **Basic** 或更高级别高级会员
    3. 目标频道仍然存在
    4. Vetox 在那里有 **查看频道 + 发送消息 + 嵌入链接** 权限
    5. 对于 Twitch 和 Kick —— 主播在您添加后离线并回来了
  </Accordion>

  <Accordion title="我收到直播公告但没有收到下播公告">
    Twitch 和 Kick 的下播公告 **默认关闭**。请在被跟踪的主播上启用它们。
  </Accordion>

  <Accordion title="嵌入字段一直消失">
    它的标题或值解析为空，字段被丢弃。几乎总是拼写错误或平台错误的变量。
  </Accordion>

  <Accordion title="我无法添加第 11 个项目">
    每平台 10 个是上限，且不随等级扩展。请先移除一个。
  </Accordion>

  <Accordion title="它工作过，然后在我高级会员失效后停止">
    配置会保留而非删除，会自动恢复。但在失效期间发布的任何内容都已标记为已见，不会追溯公告。
  </Accordion>

  <Accordion title="清空 Twitch 或 Kick 主播的频道字段没有作用">
    清空的频道字段不会被发送，因此保留了之前的频道，也没有错误显示。请选择另一个频道，而不是清空它。
  </Accordion>
</AccordionGroup>
