Skip to content

License

GPL-3.0, Unknown licenses found

Licenses found

GPL-3.0
LICENSE
Unknown
LICENSE.md
Notifications You must be signed in to change notification settings

wickedyoda/Glinet_discord_bot

Discord Invite + Utility Bot

GL.iNet Bot Logo (Round) GL.iNet Bot Logo (Full)

Discord bot for GL.iNet community operations with invite/code role access, moderation tools, search helpers, firmware monitoring, and a secured web admin GUI.

Documentation

Detailed feature behavior, deployment options, environment variables, proxy variations, and security guidance are maintained in the wiki.

Quick Start (Docker)

  1. Copy env template:
cp .env.example .env
  1. Set required values in .env:
  • DISCORD_TOKEN
  • GUILD_ID
  • WEB_ADMIN_DEFAULT_PASSWORD (required when no web users exist yet)
  1. Start:
docker compose up -d --build
  1. Open web admin:
http://localhost:8080

Architecture Support

  • Native local builds (docker compose up -d --build) run on the host architecture (Apple Silicon arm64 or Intel/AMD amd64).
  • Published GHCR images are built as a multi-arch manifest for:
    • linux/amd64
    • linux/arm64
  • Optional multi-arch publish command:
docker buildx build \
  --platform linux/amd64,linux/arm64 \
  -t ghcr.io/<owner>/discord_invite_bot:multiarch-test \
  --push \
  .
  • Optional host-native local test image command:
docker compose build

What It Includes

  • Role access via invite links and 6-digit access codes
  • Bulk CSV role assignment
  • Dynamic tag responses (!tag + slash variants)
  • GL.iNet forum/docs search commands
  • Country nickname suffix commands
  • Extended moderation commands and event logging
  • Firmware monitor (baseline + delta notifications)
  • Web admin GUI (admin/read-only users, command permissions, bot profile, settings)
  • SQLite persistence with legacy merge import on startup

Where To Find Details

Runtime Data and Logs

  • Primary DB: ${DATA_DIR}/bot_data.db
  • App log: ${LOG_DIR}/bot.log
  • Bot channel mirror log: ${LOG_DIR}/bot_log.log
  • Error log used by /logs: ${LOG_DIR}/container_errors.log
  • Web GUI interaction audit log: ${LOG_DIR}/web_gui_audit.log

Defaults:

  • DATA_DIR=data
  • LOG_DIR=/logs
  • LOG_HARDEN_FILE_PERMISSIONS=true (enforces 0700 on log dir and 0600 on log files when possible)
  • LOG_RETENTION_DAYS=90
  • LOG_ROTATION_INTERVAL_DAYS=1

Security

Contributing

Use complete commit and PR descriptions for all changes.

License

Maintainer

Created and maintained by WickedYoda

Support Discord: https://discord.gg/m6UjX6UhKe

About

No description, website, or topics provided.

Resources

License

GPL-3.0, Unknown licenses found

Licenses found

GPL-3.0
LICENSE
Unknown
LICENSE.md

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •