Skip to content

codebyant/EveryoneShouldKnow

Repository files navigation

Everyone Should Know Logo

Everyone Should Know

Discord bot that notifies a text channel when someone joins monitored voice channels and keeps a lightweight SQLite history of voice activity.

What changed in this refresh

  • Migrated from the legacy discord-py-slash-command stack to modern discord.py application commands
  • Fixed monitored-channel filtering so CHANNEL_X is actually respected
  • Added /stats for per-member activity lookup
  • Cleaned locale files and setup docs
  • Simplified dependencies and modernized the Docker image

Features

  • Sends a notification when someone joins a monitored voice channel
  • Optionally pings @everyone when the first person enters an empty monitored channel
  • Tracks monitored voice joins in SQLite
  • Persists the /toggle state across restarts
  • Exposes /leaders, /stats, /toggle, and /help
  • Supports English and Brazilian Portuguese locales

Commands

  • /leaders: shows the top members by monitored voice joins
  • /stats [member]: shows stats for you or another member
  • /toggle: enables or disables notifications
  • /help: shows the command list

/toggle requires the Manage Server permission. Moving between monitored voice channels does not increase the leaderboard.

Setup

  1. Create a Discord application and bot in the Discord Developer Portal.
  2. Enable the Server Members Intent in the bot settings.
  3. Invite the bot to your server with the applications.commands, Send Messages, and View Channels permissions.
  4. Copy .env.example to .env.
  5. Fill in at least these values:
    • DISCORD_BOT_TOKEN
    • NOTIFICATION_CHANNEL
    • CHANNEL_1 or MONITORED_CHANNEL_IDS
  6. Install dependencies:
pip install -r requirements.txt
  1. Run the bot:
python bot.py

Environment variables

Variable Required Description
DISCORD_BOT_TOKEN Yes Bot token from Discord
NOTIFICATION_CHANNEL Yes Text channel that receives notifications
CHANNEL_1 ... CHANNEL_10 Yes* Backward-compatible monitored voice channel IDs
MONITORED_CHANNEL_IDS No Comma-separated alternative to CHANNEL_X
RICH_PRESENCE No Presence text shown on the bot profile
ACTIVITY No playing, listening, watching, streaming, or competing
BOT_LOCALE No Locale file name, for example en_US or pt_BR
SHOW_LOG No Enables info logging when true
MENTION_EVERYONE_ON_EMPTY_CHANNEL No Controls @everyone when the first user joins
DATABASE_PATH No SQLite file path, defaults to bot_database.db

* You must define at least one monitored voice channel either through CHANNEL_X or MONITORED_CHANNEL_IDS.

Docker

Build and run:

docker compose up -d --build

The compose file mounts bot_database.db so voice statistics survive container recreation.

Notes

  • Slash commands can take a minute to appear globally after the first startup.
  • Existing databases continue to work. User names are refreshed automatically as members interact again.
  • Notification on/off state is stored in SQLite.
  • CI and release now use only standard GitHub-hosted runners and GHCR publishing.

Portugues

Bot para Discord que avisa em um canal de texto quando alguem entra em canais de voz monitorados e salva um historico simples em SQLite.

Funcionalidades

  • Envia notificacoes quando alguem entra em um canal de voz monitorado
  • Pode marcar @everyone quando a primeira pessoa entra em uma call vazia
  • Registra entradas em canais monitorados
  • Mantem o estado do /toggle mesmo apos reiniciar
  • Possui comandos /leaders, /stats, /toggle e /help

Configuracao rapida

  1. Copie .env.example para .env.
  2. Preencha DISCORD_BOT_TOKEN, NOTIFICATION_CHANNEL e pelo menos um CHANNEL_X.
  3. Rode pip install -r requirements.txt.
  4. Rode python bot.py.

About

Everyone Should Know is a Discord bot designed to notify users when someone enters a voice channel. It also keeps a record of how many times each user has entered calls.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors