{% extends "base.html" %} {% block title %}{{ _('Notifications') }} — AniWorld Downloader{% endblock %} {% block content %}
{% if is_admin %}
{{ _('Admin — Service') }}
{{ _('Enable Web Push globally') }}
{{ _('Disable to block browser push notifications for all users.') }}
{% endif %}

Web Push

{{ _('Receive browser notifications directly in the browser — even when AniWorld is running in a background tab. The browser must be open. Works on desktop and mobile devices supporting Chrome/Firefox.') }}
⚠️ {{ _('Web Push only works via HTTPS or localhost.') }}
{{ _('Notify on') }}
{{ _('Successful download') }}
{{ _('When all episodes of a queue entry completed without errors.') }}
{{ _('Partially successful') }}
{{ _('When at least one episode succeeded but errors also occurred.') }}
{{ _('Download with errors') }}
{{ _('When individual episodes of a queue entry failed.') }}
{{ _('Cancelled download') }}
{{ _('When a running download is manually cancelled.') }}
{{ _('Auto-sync: new episodes') }}
{{ _('When auto-sync has found new episodes of a subscribed series.') }}
{{ _('Auto-sync: errors') }}
{{ _('When an auto-sync job crashes or fails.') }}
{% if is_admin %}
{{ _('↳ Only error notifications when all retries have failed') }}
{{ _('When enabled, a notification is sent for failed auto-syncs only after all retries are exhausted.') }}
{% endif %}
{{ _('Auto-sync: hold & resume') }}
{{ _('When a sync is paused due to an unreachable custom path — or resumes.') }}
{{ _('Low disk space') }}
{{ _('When free disk space drops below the configured threshold.') }}
{% if is_admin %}
{{ _('Admin — Bot configuration') }}
{{ _('Create a bot via') }} @BotFather. {{ _('The bot then sends messages to users who have saved their chat ID.') }}
{{ _('Bot token') }}
{{ _('Obtained from @BotFather after') }} /newbot. {{ _('Format:') }} 1234567890:ABC-DEF...
{{ _('Enable Telegram globally') }}
{{ _('Disable to block Telegram messages for all users.') }}
{% endif %}
{{ _('My settings') }}
{{ _('Send the bot a message first (e.g.') }} /start{{ _('), then click Detect. Or enter your chat ID manually — find it via') }} @userinfobot.
{{ _('Enable Telegram') }}
{{ _('Turn Telegram notifications for your account on or off.') }}
Chat-ID
{{ _('Notify on') }}
{{ _('Successful download') }}
{{ _('Message when all episodes of a job completed without errors.') }}
{{ _('Partially successful') }}
{{ _('Message when at least one episode succeeded but errors also occurred.') }}
{{ _('Download with errors') }}
{{ _('Message when individual episodes failed.') }}
{{ _('Cancelled download') }}
{{ _('Message when a running download was manually cancelled.') }}
{{ _('Auto-sync: new episodes') }}
{{ _('Message when auto-sync finds new episodes of a subscribed series.') }}
{{ _('Auto-sync: errors') }}
{{ _('When an auto-sync job crashes or fails.') }}
{% if is_admin %}
{{ _('↳ Only error notifications when all retries have failed') }}
{{ _('When enabled, a notification is sent for failed auto-syncs only after all retries are exhausted.') }}
{% endif %}
{{ _('Auto-sync: hold & resume') }}
{{ _('When a sync is paused due to an unreachable custom path — or resumes.') }}
{{ _('Low disk space') }}
{{ _('When free disk space drops below the configured threshold.') }}
{% if is_admin %}
{{ _('Admin — App configuration') }}
{{ _('Create an app at') }} pushover.net/apps/build. {{ _('Each user then enters their own user key.') }}
{{ _('App token') }}
{{ _('Found on the app page after creation under') }} API Token/Key.
{{ _('Enable Pushover globally') }}
{{ _('Disable to block Pushover messages for all users.') }}
{% endif %}
{{ _('My settings') }}
{{ _('Download the') }} {{ _('Pushover app') }} {{ _('to your device. After login, find your user key on the home page.') }}
{{ _('Enable Pushover') }}
{{ _('Turn Pushover notifications for your account on or off.') }}
{{ _('User key') }}
{{ _('Your personal Pushover key — not the app API key.') }}
{{ _('Notify on') }}
{{ _('Successful download') }}
{{ _('Message when all episodes completed without errors.') }}
{{ _('Partially successful') }}
{{ _('Message when at least one episode succeeded but errors also occurred.') }}
{{ _('Download with errors') }}
{{ _('Message when individual episodes failed.') }}
{{ _('Cancelled download') }}
{{ _('Message when a running download was cancelled.') }}
{{ _('Auto-sync: new episodes') }}
{{ _('Message when auto-sync finds new episodes.') }}
{{ _('Auto-sync: errors') }}
{{ _('When an auto-sync job crashes or fails.') }}
{% if is_admin %}
{{ _('↳ Only error notifications when all retries have failed') }}
{{ _('When enabled, a notification is sent for failed auto-syncs only after all retries are exhausted.') }}
{% endif %}
{{ _('Auto-sync: hold & resume') }}
{{ _('When a sync is paused due to an unreachable custom path — or resumes.') }}
{{ _('Low disk space') }}
{{ _('When free disk space drops below the configured threshold.') }}
{% if is_admin %}
{{ _('Admin — NTFY configuration') }}
{{ _('NTFY sends messages to a topic. Enter the server URL and topic here.') }}
{{ _('NTFY server') }}
{{ _('Base URL of the ntfy server. Required.') }}
{{ _('NTFY topic') }}
{{ _('Topic name. Required. Messages are sent to <server>/<topic>.') }}
Auth Token (Bearer)
{{ _('Optional: enter a bearer token if your ntfy server requires authentication.') }}
{{ _('Basic Auth (optional)') }}
{{ _('Alternatively enter username/password for basic auth.') }}
{{ _('Enable NTFY globally') }}
{{ _('Disable to block NTFY messages for all users.') }}
{% endif %}
{{ _('My settings') }}
{{ _('Enable NTFY for your account and receive messages to the configured topic.') }}
{{ _('Enable NTFY') }}
{{ _('Turn NTFY notifications for your account on or off.') }}
{{ _('Notify on') }}
{{ _('Successful download') }}
{{ _('Message when all episodes of a job completed without errors.') }}
{{ _('Partially successful') }}
{{ _('Message when at least one episode succeeded but errors also occurred.') }}
{{ _('Download with errors') }}
{{ _('Message when individual episodes failed.') }}
{{ _('Cancelled download') }}
{{ _('Message when a running download was cancelled.') }}
{{ _('Auto-sync: new episodes') }}
{{ _('Message when auto-sync finds new episodes of a subscribed series.') }}
{{ _('Auto-sync: errors') }}
{{ _('Message when an auto-sync job crashes or fails.') }}
{% if is_admin %}
{{ _('↳ Only error notifications when all retries have failed') }}
{{ _('When enabled, a notification is sent for failed auto-syncs only after all retries are exhausted.') }}
{% endif %}
{{ _('Auto-sync: hold & resume') }}
{{ _('When a sync is paused due to an unreachable custom path — or resumes.') }}
{{ _('Low disk space') }}
{{ _('When free disk space drops below the configured threshold.') }}
{% if is_admin %}
{{ _('Admin — Webhook configuration') }}
{{ _('Discord sends to a shared channel. Channel → Settings → Integrations → Webhooks → Create new webhook → copy URL.') }}
{{ _('Webhook URL') }}
{{ _('Must start with') }} https://discord.com/api/webhooks/.
{{ _('Enable Discord globally') }}
{{ _('Disable to block Discord messages entirely.') }}
{{ _('Notify on (global — applies to all)') }}
{{ _('Successful download') }}
{{ _('Green embed message when all episodes completed without errors.') }}
{{ _('Partially successful') }}
{{ _('Orange embed message when at least one episode succeeded but errors occurred.') }}
{{ _('Download with errors') }}
{{ _('Yellow embed message when individual episodes failed.') }}
{{ _('Cancelled download') }}
{{ _('Grey embed message when a download was cancelled.') }}
{{ _('Auto-sync: new episodes') }}
{{ _('Blue embed message when auto-sync finds new episodes.') }}
{{ _('Auto-sync: errors') }}
{{ _('Red embed message when an auto-sync job crashes.') }}
{% if is_admin %}
{{ _('↳ Only error notifications when all retries have failed') }}
{{ _('When enabled, a notification is sent for failed auto-syncs only after all retries are exhausted.') }}
{% endif %}
{{ _('Auto-sync: hold & resume') }}
{{ _('Embed message when a sync is paused or resumed.') }}
{{ _('Low disk space') }}
{{ _('Yellow embed message when free storage drops below the threshold.') }}
{% else %}

Discord Webhook

{{ _('Configured by an administrator. Once an admin sets up the webhook, AniWorld sends messages to the configured channel.') }}

{{ _('Not configured') }}
{% endif %}
{% if is_admin %}
{{ _('Admin — Twilio configuration') }}
{{ _('WhatsApp delivery runs via') }} Twilio. {{ _('You need a Twilio account with WhatsApp Sandbox enabled. Users must activate the sandbox once with') }} join <code>.
Account SID
{{ _('Found on the Twilio console home page under') }} Account Info.
{{ _('Auth token') }}
{{ _('Next to the account SID in the Twilio console.') }}
{{ _('Sender number') }}
{{ _('The Twilio WhatsApp sandbox number, e.g.') }} +14155238886.
{{ _('Enable WhatsApp globally') }}
{{ _('Disable to block WhatsApp messages for all users.') }}
{% endif %}
{{ _('My settings') }}
{{ _('Enter your mobile number in international format (e.g.') }} +4917612345678). {{ _('You must first activate the sandbox once by sending') }} join <code> {{ _('to the Twilio number.') }}
{{ _('Enable WhatsApp') }}
{{ _('Turn WhatsApp notifications for your account on or off.') }}
{{ _('My number') }}
{{ _('Notify on') }}
{{ _('Successful download') }}
{{ _('Message when all episodes completed without errors.') }}
{{ _('Partially successful') }}
{{ _('Message when at least one episode succeeded but errors also occurred.') }}
{{ _('Download with errors') }}
{{ _('Message when individual episodes failed.') }}
{{ _('Cancelled download') }}
{{ _('Message when a running download was cancelled.') }}
{{ _('Auto-sync: new episodes') }}
{{ _('Message when auto-sync finds new episodes.') }}
{{ _('Auto-sync: errors') }}
{{ _('When an auto-sync job crashes or fails.') }}
{% if is_admin %}
{{ _('↳ Only error notifications when all retries have failed') }}
{{ _('When enabled, a notification is sent for failed auto-syncs only after all retries are exhausted.') }}
{% endif %}
{{ _('Auto-sync: hold & resume') }}
{{ _('When a sync is paused due to an unreachable custom path — or resumes.') }}
{{ _('Low disk space') }}
{{ _('When free disk space drops below the configured threshold.') }}
{{ _('Disk space warning') }}
{{ _('AniWorld checks free disk space before every download. If it drops below the threshold, a notification is sent (max. once per hour). The download continues anyway.') }}
{{ _('Minimum disk space') }}
{{ _('Notification when less than this value (in GB) is free. 0 = disabled.') }}
GB
{% endblock %} {% block scripts %} {% endblock %}