poi-plugin-mobile-notify
v0.1.0
Published
Push POI notifications to mobile devices via ntfy.
Maintainers
Readme
poi-plugin-mobile-notify
通过 ntfy 将 POI 的通知推送到手机。
Push POI notifications to mobile devices via ntfy.
中文说明
功能
这个插件会桥接 POI 自带的通知中心。POI 产生通知时,插件会按配置将同一类通知推送到 ntfy 主题。
插件也会复用 POI 概览页提督计时器的刷新时间,提供演习、任务、季常任务、战果和 EO 的刷新提醒。
插件不会修改游戏封包,也不会影响 POI 的游戏通信。
支持的通知类型
- 建造
- 远征回港
- 入渠
- 疲劳回复
- 战斗结束
- 其他
支持的刷新提醒
- 距下次演习刷新
- 距下次任务刷新
- 距下次季常任务刷新
- 距下次战果刷新
- 距下次 EO 刷新
插件主页可以分别开关每一种通知类型。POI 自己的通知总开关和分类开关仍然生效,只有 POI 允许的通知才会被推送到手机。
刷新提醒由插件独立计时,可以在插件主页分别开关并设置提前时间。默认提前时间为 0天 0小时 0分钟 0秒。
刷新提醒推送的是预警文案,例如 距下次演习刷新: 2小时、距下次季常任务刷新: 1天3小时。
每日类刷新不提供“天”的设置:
- 演习刷新:最多提前
11小时 59分钟 59秒 - 任务刷新:最多提前
23小时 59分钟 59秒
月度和季度类刷新可以设置“天”:
- 战果刷新、EO 刷新:最多提前 31 天
- 季常任务刷新:最多提前 92 天
使用方法
- 在手机上安装 ntfy App。
- 在 ntfy App 中订阅一个私有主题,例如
poi-mobile-notify-<随机字符串>。 - 在 POI 中启用本插件。
- 打开插件主页,填写:
ntfy 服务器:例如https://ntfy.sh主题:与手机 ntfy App 中订阅的主题一致认证方式:公开主题选择无认证;自建 ntfy 开启访问控制时选择账号密码或Token
- 点击
发送测试通知,确认手机能收到推送。
自建 ntfy
如果所在网络无法稳定访问 https://ntfy.sh,可以使用自建 ntfy 服务。
插件中的 ntfy 服务器 支持填写完整服务器地址,例如:
http://your-server-ip:2586
https://your-domain.example如果没有域名,可以直接使用 http://IP:端口。这时通常不需要 nginx 反代,但需要确保手机和 POI 所在环境都能访问这个地址。
如果自建 ntfy 开启了访问控制,可以在插件主页选择:
账号密码:使用 ntfy 用户名和密码发送 Basic Auth。Token:使用 ntfy access token 发送 Bearer Auth。
密码和 Token 会优先通过 Electron 的安全存储加密后保存。若当前环境不支持安全存储,插件不会把密钥明文写入配置;本次输入仍可用于测试发送,但重启后需要重新输入。
注意事项
- 不要使用公开或容易猜到的主题名。
- 手机 ntfy App 中订阅的主题必须和插件里填写的主题完全一致。
- 入渠通知会跟随 POI 的通知事件;如果 POI 提前触发入渠通知,插件会延后到实际完成时间再推送到手机。
- 刷新提醒会按照插件主页中设置的提前时间推送。
- 如果 POI 没有产生某类通知,插件也不会单独生成这类通知。
English
Features
This plugin bridges POI's built-in notification center. When POI creates a notification, the plugin forwards the same notification type to your configured ntfy topic.
The plugin also reuses the refresh times from POI's overview teitoku timer and provides reminders for practice, quest, quarterly quest, ranking point, and EO refreshes.
The plugin does not modify game packets or interfere with POI's game traffic.
Supported Notification Types
- Construction
- Expedition return
- Docking
- Morale recovery
- Battle end
- Others
Supported Refresh Reminders
- Next practice refresh
- Next quest refresh
- Next quarterly quest refresh
- Next ranking point refresh
- Next EO refresh
Each notification type can be enabled or disabled on the plugin page. POI's own global notification switch and per-type switches still apply. Only notifications allowed by POI will be pushed to your phone.
Refresh reminders are timed by this plugin and can be enabled or disabled separately on the plugin page. Each reminder also has a preempt time setting. The default preempt time is 0d 0h 0m 0s.
Refresh reminder messages are warnings, for example Next practice refresh: 2h or Next quarterly quest refresh: 1d 3h.
Daily refreshes do not expose a day field:
- Practice refresh: up to
11h 59m 59searly - Quest refresh: up to
23h 59m 59searly
Monthly and quarterly refreshes allow days:
- Ranking point refresh and EO refresh: up to 31 days early
- Quarterly quest refresh: up to 92 days early
Usage
- Install the ntfy app on your phone.
- Subscribe to a private topic in the ntfy app, for example
poi-mobile-notify-<random-string>. - Enable this plugin in POI.
- Open the plugin page and set:
ntfy server: for examplehttps://ntfy.shTopic: the same topic subscribed on your phoneAuthentication: chooseNonefor public topics, orUsername/password/Tokenwhen access control is enabled on a self-hosted ntfy server
- Click
Send test notificationand confirm that your phone receives the push.
Self-hosted ntfy
If https://ntfy.sh is not reliably reachable from your network, you can use a self-hosted ntfy server.
The ntfy server field accepts a full server URL, for example:
http://your-server-ip:2586
https://your-domain.exampleIf you do not have a domain name, using http://IP:port is fine. In that case, nginx reverse proxy is usually not required, but both your phone and POI must be able to access the address.
If access control is enabled on your self-hosted ntfy server, choose one of these authentication modes on the plugin page:
Username/password: sends ntfy Basic Auth with the configured username and password.Token: sends ntfy Bearer Auth with the configured access token.
Passwords and tokens are saved through Electron secure storage when available. If secure storage is unavailable, the plugin will not write secrets to config in plain text; the current input can still be used for the test notification, but it must be entered again after restart.
Notes
- Do not use a public or easily guessable topic.
- The topic subscribed in the ntfy app must exactly match the topic configured in this plugin.
- Docking notifications follow POI's notification event. If POI triggers the docking notification early, this plugin delays the mobile push until the actual completion time.
- Refresh reminders are pushed according to the preempt time configured on the plugin page.
- If POI does not create a notification, this plugin will not create that notification by itself.
