🔐

Welcome to Textarr

Create your admin account to get started

📱

Textarr

Sign in to your account

📱

Textarr

Loading...
⚠️

📱 Messaging Platforms

Configure how users can interact with Textarr

📞

Twilio SMS/MMS

1. Create a Twilio account
Sign up at twilio.com/try-twilio

2. Get a phone number
In Console → Phone Numbers → Buy a number (or use trial number)

3. Find your credentials
Account SID and Auth Token are on your Console dashboard

4. Configure webhook
Go to Phone Numbers → Active Numbers → Click your number
Under "Messaging", set "A message comes in" to:

Method: HTTP POST

Include movie/TV poster images in confirmation messages. MMS messages cost ~2.5x more than SMS.

📌 Your webhook URL:
💬

Telegram

1. Create a Telegram Bot
Message @BotFather on Telegram and use /newbot

2. Get your Bot Token
BotFather will give you a token like: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz

3. Disable Group Privacy (optional)
Use /setprivacy with BotFather if you want the bot to work in groups

4. Find your Chat ID
Start a chat with your bot, then visit:
https://api.telegram.org/bot<TOKEN>/getUpdates

Comma-separated list of chat IDs. Leave empty to allow all.

Polling is easier to set up. Disable for webhook mode in production.

Send unregistered users a message with their ID so they can request access.

🎮

Discord

1. Create a Discord Application
Go to Discord Developer Portal and create a new application

2. Create a Bot
In your app, go to "Bot" section and click "Add Bot"

3. Get your Bot Token
Click "Reset Token" to get your bot token. Enable "Message Content Intent" under Privileged Gateway Intents.

4. Invite the Bot
In OAuth2 → URL Generator, select "bot" scope with "Send Messages", "Read Message History" permissions.
Use the generated URL to invite to your server.

Comma-separated list of server (guild) IDs. Leave empty to allow all.

Comma-separated list of channel IDs. Leave empty to allow all.

Send unregistered users a message with their ID so they can request access.

💼

Slack

1. Create a Slack App
Go to api.slack.com/apps and create a new app "From scratch"

2. Configure Bot Scopes
Go to OAuth & Permissions → Bot Token Scopes and add:
chat:write, im:history, im:read, im:write

3. Install to Workspace
Click "Install to Workspace" and copy the Bot User OAuth Token

4. Get Signing Secret
Go to Basic Information → App Credentials and copy the Signing Secret

5. Enable Socket Mode (recommended)
Go to Socket Mode, enable it, and create an App-Level Token with connections:write scope

Socket Mode is easier to set up (no public URL needed). Recommended for most users.

Required if Socket Mode is enabled.

Send unregistered users a message with their ID so they can request access.

🎬 Media Services

Connect to Sonarr, Radarr, and TMDB for media management

📺

Sonarr (TV Shows)

Tags to apply to anime series. Fetch options first to see available tags.

No tags available. Click "Fetch Options" above.
🎬

Radarr (Movies)

Tags to apply to anime movies. Fetch options first to see available tags.

No tags available. Click "Fetch Options" above.
🎬

TMDB (Metadata)

Get a free API key at themoviedb.org. Either "API Key" or "API Read Access Token" works.

🤖 AI Configuration

Natural language processing for user requests

🤖

AI Configuration

0.7

Lower = more focused, Higher = more creative (0.7 recommended)

Edit the AI system prompt. Leave empty to use default.

👥 User Management

Manage authorized users and permissions

👥

Users

Authorized Users

Name Identities Role Requests Actions
No users configured. Add a user to get started.

SMS
Use the phone number with country code (e.g., +15551234567). The +1 prefix is added automatically for US numbers.

Telegram
Message @RawDataBot on Telegram, tap Start, and find your ID in the "id" field of the response.

Discord
Enable Developer Mode in Settings → Advanced, then right-click your profile and select "Copy ID".

Slack
Click on a user's name → View full profile → Click the three dots (⋯) → Copy Member ID.

⚙️ System Settings

Application behavior and server configuration

⏱️

Session Settings

Controls SMS conversation flow. When a user searches for media, the bot presents options and waits for a selection. Sessions track this conversation state.

How long before a conversation resets. If a user doesn't respond within this time, they'll need to start over.

Number of search results to show in a single SMS. Keep low to fit within SMS character limits.

Message shown to unregistered users. Use {id} for their ID and {platform} for the platform name.

📊

Request Quotas

Limit how many requests users can make per period.

🔔

Admin Notifications

Notify admins when users add new media requests.

Send notifications via these platforms (admins must have matching identity).

🖥️

Server

Public URL for webhooks. Required for download notifications. Include port if not 80/443.

📥

Download Notifications

Notify users when their requested media finishes downloading.

Variables: {emoji}, {title}, {year}, {mediaType}

Download notifications require webhooks from Sonarr/Radarr. Click the buttons below to automatically configure them, or set them up manually.

Manual Setup:

Sonarr: Settings → Connect → Add → Webhook
URL:
Events: On Download, On Upgrade, On Import Complete

Radarr: Settings → Connect → Add → Webhook
URL:
Events: On Download, On Upgrade

Required Header:
Name: X-Webhook-Secret
Value: Loading...

💬 Message Customization

Customize all bot messages and responses

✍️

Bot Messages

Send an immediate response when a request is received (SMS only).

{query}

{count} {query}

{max}

{monitorType}

{title}

{title}

{title}

{title} {episodeFileCount} {episodeCount} {percentComplete}

{title}

Full help message shown to users.

Additional help text shown to admin users.

Changes require a restart to take effect

Textarr • GitHub

Change Password

✓