ntfy 如何配置 Twilio 实现电话呼叫通知并设置呼叫次数上限

发布时间:2026/11/3 1:00:44

ntfy 如何配置 Twilio 实现电话呼叫通知并设置呼叫次数上限 ntfy 如何配置 Twilio 实现电话呼叫通知并设置呼叫次数上限【免费下载链接】ntfySend push notifications to your phone or desktop using PUT/POST项目地址: https://gitcode.com/GitHub_Trending/nt/ntfy如果你的自托管 ntfy 服务器需要在发布消息时直接拨打用户的电话、用语音把消息内容读出来而不是仅发推送或邮件就需要为服务器接入 Twilio 作为呼叫供应商。本文的任务有两条主线在server.yml中启用 Twilio 电话呼叫再通过 tier 的--call-limit参数限制每个用户每天可触发的呼叫次数。适用环境你自己运行、可以修改server.yml的 ntfy 服务器并且已经拥有 Twilio 账号。准备条件注册 Twilio 并购买号码按 docs/config.md Phone calls 一节的说明启用 Twilio 集成前需要注册 Twilio 账号购买一个用于外呼的电话号码。文档建议 Toll free 号码最简单Toll free numbers are the easiest。购买完成后你会拿到四样东西正好对应 ntfy 的四个配置项twilio-accountTwilio 账号 SID示例格式AC12345beefbeef67890beefbeef122586twilio-auth-tokenTwilio auth token示例格式affebeef258625862586258625862586twilio-phone-number你购买的 outbound 号码示例格式18775132586twilio-verify-serviceTwilio Verify service SID示例格式VA12345beefbeef67890beefbeef122586号码验证用这些配置也可以通过环境变量NTFY_TWILIO_ACCOUNT、NTFY_TWILIO_AUTH_TOKEN、NTFY_TWILIO_PHONE_NUMBER、NTFY_TWILIO_VERIFY_SERVICE提供见 docs/config.md 的配置选项表。在 server.yml 中启用电话呼叫在server.yml中加入上述四项配置。以下是文档给出的示例其中 SID、token、号码均为 Twilio 文档中的示例值需替换为你自己账号下的真实值twilio-account: AC12345beefbeef67890beefbeef122586 twilio-auth-token: affebeef258625862586258625862586 twilio-phone-number: 18775132586 twilio-verify-service: VA12345beefbeef67890beefbeef122586配置完成后重启服务器使配置生效。此时服务器已具备拨打电话的能力但默认不允许任何用户发起呼叫——这是 docs/publish.md 中的明确说明By default, the server does not allow any phone calls, except for users with a tier that has a call limit. 所以下一步必须创建带呼叫上限的 tier。设置呼叫次数上限创建 tier 并分配给用户呼叫上限不在server.yml里配置而是挂在 tier 上docs/config.md Tiers 一节。ntfy 中没有预定义 tier用ntfy tier命令管理。文档给出的完整建 tier 示例如下ntfy tier add \ --namePro \ --message-limit10000 \ --message-expiry-duration24h \ --email-limit50 \ --call-limit10 \ --reservation-limit10 \ --attachment-file-size-limit100M \ --attachment-total-size-limit1G \ --attachment-expiry-duration12h \ --attachment-bandwidth-limit5G \ --stripe-price-idprice_123456 \ pro其中与本文任务直接相关的是--call-limit10即该 tier 用户每天最多 10 次呼叫。其余参数是文档示例中一并给出的完整配置可按需删减--stripe-price-id只在启用了 Stripe 付费时才有意义。建好 tier 后把用户切换到该 tierntfy user change-tier phil prophil是文档示例中的用户名替换为目标用户pro是上面创建 tier 时用的 code。注意文档说明如果未启用支付ntfy user change-tier是切换 tier 的唯一方式。用户验证手机号然后触发电话呼叫电话呼叫只对已认证且事先验证过手机号的用户开放匿名呼叫不支持。流程是用户先登录 web app 完成手机号验证验证依赖上面配置的twilio-verify-service再在发布消息时用X-Call头别名Call指定要拨打的号码。规则来自 docs/publish.md Phone calls 一节号码必须带前缀和国家区号例如12223334444也可以直接传yesntfy 会取用户验证过的第一个号码。文档给出的 curl 示例如下其中ntfy.sh、topicalerts和 tokentk_AgQdq7mVBoFD37zQVN29RhuMzNIz2均为文档示例值自托管时应替换为你自己的服务器地址、topic 和用户 tokencurl \ -u :tk_AgQdq7mVBoFD37zQVN29RhuMzNIz2 \ -H Call: 12223334444 \ -d Your garage seems to be on fire. You should probably check that out. \ ntfy.sh/alerts同样的请求也可以用 ntfy CLI 发出ntfy publish \ --tokentk_AgQdq7mVBoFD37zQVN29RhuMzNIz2 \ --call12223334444 \ alerts Your garage seems to be on fire. You should probably check that out.如何判断呼叫成功被叫手机会收到一个来电语音内容是用 TTS 朗读的消息。文档中附有一段示例录音及逐字稿示例结果实际内容随你的 topic、消息体变化You have a notification from ntfy on topic alerts. Message: Your garage seems to be on fire. You should probably check that out. End message. This message was sent by user phil. It will be repeated up to three times.手机响铃并读到消息内容即说明 Twilio 集成、号码验证、tier 呼叫上限这条链路全部打通。可选自定义通话语音内容如果不想用默认朗读格式可以用twilio-call-format配置项提供自定义 TwiMLdocs/config.md。该值会作为 Go template 渲染可用字段有{{.Topic}}topic 名、{{.Message}}消息体、{{.Title}}标题、{{.Tags}}标签列表、{{.Priority}}优先级、{{.Sender}}发送者 IP 或用户名。文档示例英文节选twilio-call-format: | Response Pause length1/ Say loop3 Yo yo yo, you should totally check out this message for {{.Topic}}. {{ if eq .Priority 5 }} Its really really important, dude. So listen up! {{ end }} break time1s/ {{.Message}} break time1s/ That is all. break time1s/ You know who this message is from? It is from {{.Sender}}. break time3s/ /Say SaySee ya!/Say /Response这是可选分支不设置twilio-call-format时服务器使用默认朗读格式。限制与注意事项语言TTS 语音目前只支持英文docs/publish.md 原文说明。匿名呼叫不可用手机号必须事先在 web app 中验证该功能仅对已认证用户开放。默认零上限未分配带call-limit的 tier 时所有用户都不能打电话上限只由 tier 决定。合规文档明确要求遵守 Twilio Acceptable Use Policy不得用此功能发送未经请求的消息违规可能导致账号被停用。历史故障docs/releases.md 记录过一个问题——Twilio 拒绝请求时电话呼叫和号码验证会静默失败该问题已修复且 Twilio 集成被移入独立的twilio包。如果你的服务器版本较旧且呼叫无任何反应先考虑升级。下一步如果你还想控制用户可发布的消息量或附件大小继续参考 docs/config.md 的 Tiers 与 Message limits 一节。【免费下载链接】ntfySend push notifications to your phone or desktop using PUT/POST项目地址: https://gitcode.com/GitHub_Trending/nt/ntfy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/3 16:02:15

从流量逻辑到任务逻辑,AI Agent正在终结互联网的免费午餐

【编者按】 2026 年 4 月 29 日,Andrej Karpathy 在红杉 AI Ascent 的炉边对谈中提出一个判断:一个面向原生智能体(agent-native)的新经济正在长出来,今天所有为人类写的软件、文档和流程,都要被重写为“为…

2026/11/3 20:42:53

AgentScope多智能体框架实战:从踩坑到跑通工程化系统

1. 从一堆散装脚本到工程化系统:我为什么盯上了 AgentScope前阵子我在做一个多智能体协作的验证项目,需求说起来不复杂:让几个不同角色的 Agent 分工完成一份行业调研,一个负责检索资料,一个负责交叉验证,一…

2026/11/3 20:42:53

Fledge Alpha匿名免费模型:1M上下文接入与避坑

1. 先把这个模型说清楚:Fledge Alpha 能干什么、不能干什么第一次看到"Fledge Alpha:匿名免费模型,1M 上下文 129B Token 零花费"这个说法,我第一反应不是兴奋,而是三个问号:匿名到什么程度&…

2026/11/3 20:42:53

零基础PCB设计入门:从原理图、封装到DRC的完整流程

简介:这份PDF面向零基础想自学PCB设计的读者,也适合已有基础的设计师查漏补缺,内容围绕嘉立创EDA的使用习惯与入门路径展开。它把工程创建、元件库管理、元件与封装关联、原理图绘制中的网络标签和模块整理、DRC检查、PCB间距规范&#xff0c…

2026/11/3 20:42:53

2026年装修管理软件测评:AI与云端协同成主流

1. 2026年装修管理软件行业现状与测评背景 装修行业数字化转型已经进入深水区,2026年的装修管理软件市场呈现出三个显著特征:首先是SaaS化程度达到87%,云端协同成为标配功能;其次是移动端使用时长首次超过PC端,占比达到…

2026/11/3 20:42:53

USRP X410+相控阵实现毫米波通感一体化实测

1. 项目概述:这不是实验室Demo,是实打实跑在空旷场地里的毫米波通感一体化系统“基于USRP和相控阵的毫米波通感一体化原型:从同步到定位的实测之旅”——这个标题里藏着三个硬核关键词:USRP、相控阵、通感一体化。我第一次看到它时…

2026/11/3 20:37:52

Dynamics 365 MB-365配置因果链识别与三阶映射能力解析

简介:本资源为MB-300认证考试《Microsoft Dynamics 365: Core Finance and Operations》的完整题库PDF,面向备考微软Dynamics 365财务与运营方向的开发人员、实施顾问及系统管理员,助力高效掌握核心考点与实操逻辑。资料严格依据2021年3月更新…

2026/11/3 7:47:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/3 14:24:53

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/3 1:04:48

STM32实战:基于MAX14431数字隔离器的SPI隔离通信方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/3 1:04:48

工业SPI隔离通信设计:MAX14431BAEE+与STM32L4A6RG实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/3 1:04:48

STM32+NRF24L01无线抢答器:硬件设计、通信协议与低功耗实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/3 7:47:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/3 14:24:53

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑