Shani is a modern, feature-rich Discord bot built specifically for ARC Raiders communities. It simplifies squad creation, player matching, and stream notifications — all through a fully interactive Discord UI.
This project is open source, beginner-friendly, and designed to be easy to run on your own server.
Shani improves your ARC Raiders Discord server by providing:
- 🎧 Automatic Voice Squads (2-player, 3-player, or open)
- 🧾 Raider Setcards (player profiles & matchmaking)
- 🟣 Twitch Live Alerts (no Twitch API key required)
- 🔴 YouTube Live Alerts (scraping-based, no API key required)
- 🧭 Interactive UI using Slash Commands & Buttons
- 🔒 No administrator permissions required
This guide assumes basic Linux knowledge. Works on VPS, root servers, or local machines.
git clone https://github.com/Kasmodro/shani-arc-raiders-bot.git
cd shani-arc-raiders-botpython3 -m venv venv
source venv/bin/activatepip install -r requirements.txtCopy the example config:
cp .env.example .envEdit the file (e.g., using nano):
nano .envInsert your Discord bot token:
DISCORD_TOKEN=YOUR_DISCORD_BOT_TOKEN_HERE🔐 Important: The
.envfile is ignored by Git. Never commit your token. Never share it.
python3 bot.pyIf everything is correct, Shani will appear online in Discord.
Use the official invite link: Invite URL
- Administrator permission is NOT required.
- Shani only requests minimum necessary permissions.
- No hidden or dynamic permission escalation.
Shani needs these permissions to function correctly:
- Manage Channels
- Move Members
- Send Messages
- Embed Links
- Read Message History
- Manage Threads
- Manage Messages (bot-owned content only)
- Connect / Speak (voice features)
📌 Make sure the bot also has these permissions inside the target categories. For a detailed breakdown, see PERMISSIONS.md.
Separate join channels for 2-Player Squads, 3-Player Squads, and Open Squads.
- Button Support (Consoles): Squads can be created via buttons using
/squador the/shanimenu — perfect for console players who cannot easily use join-channels. - Smart Cleanup: Channels created but not joined are automatically deleted after 2 minutes to keep the server organized.
- Channels are created dynamically.
- Empty channels are removed automatically.
Players create personal profiles including playstyle, platform, and experience.
- Profiles are searchable via interactive menus.
- Setcards auto-update when edited.
- Squad leader’s setcard is posted automatically in the channel's text chat.
- Players instantly know who they’re joining.
- Users cannot manipulate squad limits.
- Leaders retain moderation controls.
- No Twitch API registration required.
- Setup via admin menu.
- Live messages auto-update when stream ends.
- Scraping-based detection (supports handles like
@nameor Channel IDs). - Setup via admin menu.
- Automatic live notification and offline status update.
- One command:
/shani - Buttons & menus only — no command spam.
- Customizable Bot Name: Server admins can change Shani's display name via the admin menu.
- Admin features are hidden from regular users.
- Run
/shani - Click Admin Setup
- Configure Roles, Channels, Twitch, YouTube, or Change Bot Name. Everything is guided — no memorizing commands.
If you want to rename the /shani command to match your bot's name (e.g., /menu or /raider):
- Open
bot.py. - Find the line starting with
@bot.tree.command(name="shani", ...)(around line 813). - Change
name="shani"to your preferred name (lowercase, no spaces). - Restart the bot.
- Reload Discord (CTRL + R).
- Run
/shani - Edit your Raider Setcard.
- Search for other players or join squads via voice channels.
If you ever see duplicate commands:
python3 cleanup_commands.pyThen:
- Restart the bot.
- Reload Discord (CTRL + R).
Recommended for VPS / 24-7 servers.
sudo nano /etc/systemd/system/shani.service[Unit]
Description=Shani Discord Bot
After=network.target
[Service]
Type=simple
User=YOUR_USER
WorkingDirectory=/home/YOUR_USER/shani-arc-raiders-bot
ExecStart=/usr/bin/python3 bot.py
Restart=always
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable shani
sudo systemctl start shaniThis project is intentionally open source. You are free to:
- Fork the repository.
- Modify the code.
- Run your own version.
- Adapt it for other communities.
✔ No permission required.
✔ Keep the MIT license & credits.
If you build something cool — share it 🚀
Shani ist ein moderner Discord-Bot, der speziell für ARC Raiders Communities entwickelt wurde. Er automatisiert die Erstellung von Squad-Channels, bietet Spieler-Profile (Setcards) und Twitch-Live-Benachrichtigungen.
- Button-Support (Konsolen): Squads können über Buttons in
/squadoder dem/shaniMenü erstellt werden – ideal für Konsolenspieler. - Smart Cleanup: Kanäle, die erstellt, aber nicht betreten wurden, werden nach 2 Minuten automatisch gelöscht.
- Dynamische Kanäle für 2er, 3er oder offene Squads.
- 🧾 Raider Setcards: Detaillierte Spielerprofile und Suche nach Mitspielern.
- 🟣 Twitch Live-Alerts: Benachrichtigungen ohne Twitch-API-Key.
- 🔴 YouTube Live-Alerts: Benachrichtigungen via Scraping (ohne API-Key).
- 🧭 Interaktive UI: Einfache Bedienung über Buttons und Menüs.
- 🏷️ Anpassbarer Name: Der Bot-Name kann über das Admin-Menü geändert werden.
- 🔒 Sicherheit: Keine Administrator-Rechte erforderlich.
- Repository klonen:
git clone https://github.com/Kasmodro/shani-arc-raiders-bot.git - Virtuelle Umgebung erstellen:
python3 -m venv venv && source venv/bin/activate - Abhängigkeiten installieren:
pip install -r requirements.txt .envDatei erstellen (siehe.env.example) und Bot-Token eintragen.- Bot starten:
python3 bot.py
Wenn du den /shani Befehl umbenennen möchtest (z.B. in /menu oder /start):
- Öffne die Datei
bot.py. - Suche die Zeile
@bot.tree.command(name="shani", ...)(ca. Zeile 813). - Ändere
name="shani"in deinen Wunschnamen (nur Kleinbuchstaben, keine Leerzeichen). - Starte den Bot neu.
- Starte Discord neu oder drücke STRG + R.
Bei Fragen oder Problemen besuche uns auf unserem Discord Server.
This software is provided "as is", without warranty. Server owners are responsible for bot configuration, assigned permissions, and usage within their server. The author is not liable for moderation issues, data loss, Discord ToS violations, or misconfiguration.
Licensed under the MIT License. Free to use, modify, and distribute with attribution.
- 🐞 Bug reports & feature requests → GitHub Issues
- 💬 Questions & discussion → Discord Server