コンテンツにスキップ

通知

セットアップ

通知は、何かが起きたときに Discord またはメールでメッセージを送ります。たとえば、リクエストが承認待ちになった、映画が届いた、ヘルスチェックに問題が出た、といったときです。Change settings(設定を変更)の権限が必要です。

  1. Settings > Alerts(設定 > 通知)を開き、Add an Alert(通知を追加)を選択します。
  2. Name(名前)を付け、Kind(種類)として Discord またはメールを選びます。
  3. その種類の項目を入力します (種類を参照)。
  4. When to send(送るタイミング)で、不要なタイミングのチェックを外します。最初はすべてにチェックが入っています。All of these(すべて選択)と None of these(すべて解除)は、グループ全体に働きます。
  5. Send messages(メッセージを送る)をオンのままにして、Save(保存)を選択します。
  6. カードの Send a test(テストを送る)を選択します。メッセージが届き、カードに Last sent(最終送信)が表示されます。

Discord でチャンネルの設定を開き、Integrations > Webhooks(連携サービス > ウェブフック)からリンクをコピーします。それを Discord link(Discord のリンク)に貼り付けます。リンクは https://discord.com/ で始まります。自分のアカウントに Discord のユーザー ID を追加している人は、自分のリクエストについてのメッセージでメンションされます。

項目 入力する内容
Mail server(メールサーバー)、Port(ポート) お使いのメールサーバー
Security(セキュリティ) STARTTLS (ポート 587)、TLS (ポート 465)、または None。None は、自分のネットワーク内にあるメールサーバーにだけ使います
From address(差出人アドレス) 送信元のアドレス
Mail username(メールのユーザー名)、Mail password(メールのパスワード) メールアカウント
Staff addresses(スタッフのアドレス) 1 つ以上。カンマで区切ります

リクエストについてのメッセージは、リクエストした人のアカウントのアドレスに届きます。それ以外はすべて、スタッフのアドレスに届きます。

Telegram、ntfy、Gotify、Pushover、Webhook は、このリリースでは既定でオフです。既定でオフの機能を参照してください。

タイミング 送り先 送られるとき
New request(新しいリクエスト) スタッフ 映画、番組、アーティストが承認待ちになった
Approved(承認済み) リクエストした人 リクエストが承認された
Declined(却下) リクエストした人 却下された。入力したメモが付きます
Ready(準備完了) リクエストした人 ファイルがライブラリに入った
New episodes(新しいエピソード) リクエストした人とフォローしている人 1 番組につき 1 時間に最大 1 件。各自でオフにできます
New albums(新しいアルバム) アーティストをフォローしている人 1 アーティストにつき 1 時間に最大 1 件
Problem reported(問題の報告) スタッフ だれかがタイトルの問題を報告した。報告は /requests/reports にあります
Problem fixed(問題の解決) 報告した人 入力した返信が付きます
Sent to download(ダウンロードに送信) スタッフ リリースがダウンローダーに送られた
In the Library(ライブラリに追加) スタッフ ファイルが配置された。より良い品質のファイルへの置き換えも含みます
Renamed(名前を変更) スタッフ ファイルに新しい名前が付いた
Added(追加) スタッフ タイトルが手動、リスト、またはリクエストから追加された
Deleted(削除) スタッフ 映画、番組、シーズン、エピソードがライブラリからなくなった
Health(稼働状態) スタッフ ヘルスチェックに問題が出た、または解決した
Needs a decision(判断待ち) スタッフ ダウンロードまたはインポートに判断が必要

一覧の下の Season packs(シーズンパック)で、多くのエピソードを含む 1 つのダウンロードが何を送るかを決めます。エピソードごとに 1 行が入る One Alert for the pack(パック全体で通知 1 件)か、One Alert per episode(エピソードごとに通知 1 件)です。

ローカルネットワークへのアクセス

ローカルネットワークへのアクセス へのリンク

既定ではオフです。オフの間、Discord の通知は discord.com にだけ、ほかの種類はインターネット上のサーバーにだけ送られます。このマシンや自宅のネットワークを指すリンクは、名前を引いたあとでも拒否されます。自宅にあるメールサーバーや受信先に送る場合はオンにします。リダイレクトには決して従いません。

Send messages のチェックを外します。カードに Off(オフ)と表示され、通知は残ります。

暗号化して保存され、そのあとは Stored(保存済み)と表示されます。そのまま使う場合は、項目を空のままにします。通知の送り先を別のサーバーに変えると、秘密の値をもう一度入力することになります。保存済みの値が新しい送り先に送られることはありません。

症状:

Paste the Discord link(Discord のリンクを貼り付けてください)

原因: リンクが https://discord.com/ で始まっていません。 対処: Webhook のリンクをもう一度コピーします。自宅にある Discord 互換のサーバーの場合は、Reach the local network(ローカルネットワークへのアクセス)をオンにします。

症状:

Points to the local network, which this Alert may not reach(ローカルネットワークを指しています。この通知からはアクセスできません)

原因: サーバーがこのマシン、または自宅のネットワークにあります。 対処: Reach the local network をオンにします。

症状: Last try failed(前回の送信に失敗)と、401 または 404 の応答が表示されます。 原因: リンクまたはトークンが間違っています。この場合、再試行はされません。 対処: 修正して Send a test を選択します。

症状: リクエストした人に何も届きませんでした。 原因: その人のアカウントにメールアドレスも Discord のユーザー ID もない、そのタイミングのチェックが外れている、またはその人が新しいエピソードの通知をオフにしています。 対処: この 3 つを確認します。

再試行

タイムアウト、速度制限の応答、サーバーエラーの場合は、5 秒後、30 秒後、2 分後に再試行します。サーバーがもっと長い待ち時間を求めた場合は、最大 5 分までそれに従います。リンクの間違いなどで拒否された場合は、再試行しません。失敗するたびに、履歴に “Alert could not be sent”(通知を送れませんでした)の行が追加されます。

既定でオフの種類とその項目

alert_channels_more スイッチがオンのときだけ表示されます。

種類 項目
Telegram @BotFather で取得した Bot token(ボットのトークン)、Chat ID(チャット ID。ユーザー、グループ、チャンネルの ID、または @channel)。先にボットにメッセージを送るか、ボットをグループに追加しておきます
ntfy Server address(サーバーのアドレス。空の場合は ntfy.sh)、Topic(トピック)、任意で Access token(アクセストークン)。トピックを知っている人はだれでも読めます
Gotify Server address、App token(アプリのトークン)
Pushover User key(ユーザーキー。グループキーも使えます)、App token
Webhook (JSON) Webhook link(Webhook のリンク)、任意で Secret(シークレット)、What the secret does(シークレットの使い方)
Webhook が受け取る内容

メッセージ 1 件につき POST が 1 回、Content-Type: application/json で、次のヘッダーが付きます。

ヘッダー 値
X-HolyArrs-Event タイミング。import や test など
X-HolyArrs-Delivery このメッセージのランダムな ID
X-HolyArrs-Timestamp Signs each message(メッセージごとに署名する)の場合: 1970 年からの秒数
X-HolyArrs-Signature Signs each message の場合: sha256= に続けて、自分のシークレットをキーにした <timestamp>.<delivery>.<body> の HMAC-SHA256 (16 進数)
Authorization Is sent as a bearer token(ベアラートークンとして送る)の場合: Bearer <secret>

Nothing(何もしない)の場合、シークレットは送られません。署名を使うときは、古いタイムスタンプと、すでに受け取った配信 ID を拒否してください。こうすると、コピーされたメッセージを再送されても受け付けずに済みます。

{
"moment": "import",
"event_kind": "import_done",
"subject": "In the Library: Arrival (2016)",
"text": "Import done: 1 placed by hardlink",
"at": "2025-01-01T18:04:11Z",
"movie": { "id": 12, "name": "Arrival", "year": 2016, "tmdb": "329865", "imdb": "tt2543164" },
"data": { "from": "/downloads/Arrival.2016.1080p" }
}

ほかのフィールドは、該当するときに付きます: test、show と episodes、artist と tracks、report、people。people に入るのはリクエストした人の名前で、アドレスは決して入りません。data には、メッセージのもとになった履歴の行にある理由とパスが入ります。2xx の応答はどれも、配信済みとして扱います。

HolyArrs は無料です。時間の節約になったら、GitHub でスターを付ける、スポンサーになる、コーヒーをおごるのいずれかで応援してください。