跳到主要内容

通知

面板可以主动提醒管理员重要事项:用户接近 流量限制、始终没有连接、订阅即将到期。通知会发送到 Telegram 和 Webhook——这两个通道相互独立,可以分别启用。

Telegram​

Telegram 通知默认关闭。启用它们并设置机器人:

变量默认值说明
IS_TELEGRAM_NOTIFICATIONS_ENABLEDfalse启用 Telegram 通知
TELEGRAM_BOT_TOKEN—机器人令牌,启用时必填
TELEGRAM_BOT_API_ROOThttps://api.telegram.orgBot API 地址;本地服务器请修改
TELEGRAM_BOT_PROXY—代理,例如 socks5://proxy:1080

具体发到哪里由单独的变量决定:

变量哪些事件
TELEGRAM_NOTIFY_USERS用户和订阅
TELEGRAM_NOTIFY_NODES节点状态
TELEGRAM_NOTIFY_CRM基础设施费用
TELEGRAM_NOTIFY_SERVICE面板登录、API 令牌、启动
TELEGRAM_NOTIFY_TBLOCKERtorrent-blocker 报告
IS_TELEGRAM_NOTIFICATIONS_ENABLED=true
TELEGRAM_BOT_TOKEN=123456789:AA...change_me
TELEGRAM_NOTIFY_USERS=-1001234567890:80
TELEGRAM_NOTIFY_NODES=-1001234567890:81

chat_id:thread_id 格式​

每个变量的值是 chat_id,或者是用于超级群组话题的 chat_id:thread_id。每个分区只能指定一个聊天。

示例含义
-100123聊天或频道,不使用话题
-100123:80聊天 -100123,话题(thread)80

群组或频道的 chat_id 始终为负数;私聊为正数。 thread_id 是机器人应当写入的话题编号。

注意

请把机器人加入所需的聊天并授予它发送消息的权限。对于话题, 机器人必须在该群组中并能访问话题——否则 Telegram 会返回 错误,通知就会丢失。配置完成后请立即检查投递。

流量阈值​

当用户消耗了指定比例的限额时,事件就会触发。

变量默认值说明
BANDWIDTH_USAGE_NOTIFICATIONS_ENABLEDfalse启用阈值通知
BANDWIDTH_USAGE_NOTIFICATIONS_THRESHOLD[60, 80]以百分比表示的阈值,按升序

阈值最多五个,每个都是 25 到 95 之间的整数。事件 对每个阈值只触发一次:面板会记住已通过的最大阈值,不会 重复通知。只统计设置了流量限制的活跃用户。检查每 5 分钟 执行一次。

如果通知过多,会收到单独的事件 errors.bandwidth_usage_threshold_reached_max_notifications——这是信号,表示 一次处理中涉及的用户数超过了允许值。

未连接的用户​

当访问权限已发放但用户始终没有配置客户端时,这很有用。

变量默认值说明
NOT_CONNECTED_USERS_NOTIFICATIONS_ENABLEDfalse启用通知
NOT_CONNECTED_USERS_NOTIFICATIONS_AFTER_HOURS[6, 24, 48]用户创建后的小时数

最多三个值,每个都是 1 到 168 之间的整数,按升序。计时 从用户创建时开始,而不是从发放订阅时开始。检查每 10 分钟 执行一次。事件中会带上 meta.notConnectedAfterHours 以及实际阈值。

说明

出于性能考虑,这类事件中的 activeInternalSquads 和 lastConnectedNode 字段为空。处理时请勿使用它们。

订阅到期​

提醒会在 expireAt 前后到达,取决于值的符号。

变量默认值说明
EXPIRATION_NOTIFICATIONS_ENABLEDfalse启用提醒
EXPIRATION_NOTIFICATIONS[-72, -48, -24, 24]相对于 expireAt 的小时数
符号含义示例
负订阅将在这么多小时后到期-24 —— 到期前一天
正订阅已在这么多小时前到期24 —— 到期后一天

不允许零。值为 −168 到 168 之间的整数,按升序,不重复; 负值和正值各不超过五个。事件包含 meta.expiration,数值相同。检查每分钟执行一次。

通道的精细设置​

除了全局开关之外,容器内还有 /var/lib/remnawave/configs/notifications/notifications-config.yml 文件。其中为每个事件 指定是否发送到 Telegram 和 Webhook,还可以添加单独的 Webhook 地址。

events:
user.expired:
telegram: true
webhook: true
service.login_attempt_failed:
telegram: true
webhook: false
additionalWebhookUrls:
- https://example.com/xlada/security
提示

该文件中不存在的事件视为已关闭。如果通知 没有到达,请先检查事件是否在配置中描述,以及所需的 通道是否已启用。

通知任务只在至少启用一个通道时才会运行—— Telegram 或 Webhook。CRM 基础设施费用每天检查一次, 在 17:00。面板登录失败会记录为 service.login_attempt_failed, 而密码本身不会包含在通知中。

接下来​