Skip to content

Releases: hackletloose/Squadlead-Bot

1.0.0

21 Dec 23:05

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

[1.0.0] - 2024-12-21

Added

  • Multilingual Support:

    • Added support for multiple languages, including:
      • English (en)
      • German (de)
      • French (fr)
      • Spanish (es)
    • All embedded messages and text responses are now displayed based on the guild's selected language.
  • Language Setting Command:

    • /set_language: A slash command allowing server administrators to set the bot's preferred language.
  • Database Enhancements:

    • Language Column Addition: Added a language column to the settings table to store each guild's preferred language.
    • Automated Migration: Enhanced the setup_database function to automatically add the language column if it doesn't exist.
  • Squad Management Commands:

    • /set_text_channel: Sets the text channel for squad commands.
    • /set_api_domain: Sets the API domain for the server.
    • /add_channel: Adds a voice channel as a squad channel.
    • /remove_channel: Removes a voice channel from squad channels.
    • /list_channels: Lists all registered squad voice channels.
  • Permissions:

    • Language Change Permissions: The /set_language command is now restricted to server administrators to prevent misuse.
  • Private Messaging (Optional):

    • Ability to send private messages to squad members when the SEND_PRIVATE_MESSAGE option is enabled.

Changed

  • Error Handling Improvements:

    • Enhanced error handling for missing database columns and invalid user inputs.
  • Database Setup Adjustments:

    • Updated the setup_database function to automatically verify and add missing columns, ensuring compatibility with existing databases.

Fixed

  • Database Schema Issue:
    • Fixed the sqlite3.OperationalError: no such column: language error by ensuring the language column is added to the settings table if it was missing.

Documentation

  • README Update:

    • Updated the README file with instructions on setting up multilingual support, available commands, and usage examples.
  • Environment Variables Documentation:

    • Added information about required environment variables, such as DISCORD_BOT_TOKEN.

Miscellaneous

  • Code Refactoring:

    • Improved code structure for better maintainability and scalability.
  • Logging Enhancements:

    • Enhanced logging functionalities for better error troubleshooting and monitoring of bot activities.

Änderungsverlauf

Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentiert.

Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), und dieses Projekt hält sich an [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

[1.0.0] - 2024-12-21

Hinzugefügt

  • Mehrsprachige Unterstützung:

    • Unterstützung für mehrere Sprachen, einschließlich:
      • Englisch (en)
      • Deutsch (de)
      • Französisch (fr)
      • Spanisch (es)
    • Alle eingebetteten Nachrichten und Textantworten werden nun basierend auf der gewählten Sprache der Guild angezeigt.
  • Sprach-Einstellungsbefehl:

    • /set_language: Ein Slash-Befehl, der Serveradministratoren ermöglicht, die bevorzugte Sprache des Bots festzulegen.
  • Datenbankverbesserungen:

    • Hinzufügen der Sprachspalte: Hinzufügen einer language-Spalte zur settings-Tabelle, um die bevorzugte Sprache jeder Guild zu speichern.
    • Automatisierte Migration: Erweiterung der setup_database-Funktion, um sicherzustellen, dass die language-Spalte vorhanden ist und sie bei Bedarf automatisch hinzuzufügen.
  • Squad-Verwaltungsbefehle:

    • /set_text_channel: Setzt den Textkanal für Squad-Befehle.
    • /set_api_domain: Setzt die API-Domain für den Server.
    • /add_channel: Fügt einen Voice-Kanal als Squad-Kanal hinzu.
    • /remove_channel: Entfernt einen Voice-Kanal aus den Squad-Kanälen.
    • /list_channels: Listet alle registrierten Squad-Voice-Kanäle auf.
  • Berechtigungen:

    • Berechtigungen zur Sprachänderung: Der Befehl /set_language ist nun auf Serveradministratoren beschränkt, um Missbrauch zu verhindern.
  • Private Nachrichten (Optional):

    • Möglichkeit, private Nachrichten an Squad-Mitglieder zu senden, wenn die Option SEND_PRIVATE_MESSAGE aktiviert ist.

Geändert

  • Verbesserungen der Fehlerbehandlung:

    • Verbesserte Fehlerbehandlung für fehlende Datenbankspalten und ungültige Benutzereingaben.
  • Anpassungen des Datenbank-Setups:

    • Angepasste Funktion setup_database, um fehlende Spalten automatisch zu überprüfen und hinzuzufügen, um die Kompatibilität mit bestehenden Datenbanken sicherzustellen.

Behoben

  • Datenbankschema-Problem:
    • Behebung des Fehlers sqlite3.OperationalError: no such column: language durch Sicherstellung, dass die language-Spalte zur settings-Tabelle hinzugefügt wird, falls sie fehlt.

Dokumentation

  • README-Aktualisierung:

    • Aktualisierung der README-Datei mit Anweisungen zur Einrichtung der Mehrsprachigkeit, verfügbaren Befehlen und Anwendungsbeispielen.
  • Dokumentation der Umgebungsvariablen:

    • Ergänzung der Dokumentation über erforderliche Umgebungsvariablen, wie z.B. DISCORD_BOT_TOKEN.

Sonstiges

  • Code-Refactoring:

    • Verbesserung der Code-Struktur für bessere Wartbarkeit und Skalierbarkeit.
  • Logging-Verbesserungen:

    • Erweiterte Logging-Funktionalitäten zur besseren Fehlerbehebung und Überwachung der Bot-Aktivitäten.

Usage Instructions / Gebrauchsanweisungen

  1. Installation / Installation:

    • Ensure all required dependencies are installed by using the requirements.txt file:
      pip install -r requirements.txt
    • Stelle sicher, dass alle erforderlichen Abhängigkeiten installiert sind, indem du die requirements.txt Datei verwendest:
      pip install -r requirements.txt
  2. Database Setup / Datenbank-Setup:

    • Run the script to create or update the database and necessary tables:
      python bot.py
    • Führe das Skript aus, um die Datenbank und die notwendigen Tabellen zu erstellen oder zu aktualisieren:
      python bot.py
  3. Bot Configuration / Bot-Konfiguration:

    • Configure environment variables in the .env file, especially DISCORD_BOT_TOKEN.
    • Konfiguriere die Umgebungsvariablen in der .env-Datei, insbesondere DISCORD_BOT_TOKEN.
  4. Adding Languages / Hinzufügen von Sprachen:

    • To support additional languages, simply add new entries to the translations dictionary and extend the corresponding keys with translations.
    • Um weitere Sprachen zu unterstützen, füge einfach neue Einträge im translations-Dictionary hinzu und erweitere die entsprechenden Schlüssel mit den Übersetzungen.
  5. Testing / Testen:

    • Thoroughly test all commands and functionalities in all supported languages to ensure translations are correct and placeholders are functioning properly.
    • Teste alle Befehle und Funktionen gründlich in allen unterstützten Sprachen, um sicherzustellen, dass die Übersetzungen korrekt sind und die Platzhalter ordnungsgemäß funktionieren.

Additional Recommendations / Zusätzliche Empfehlungen

  • Migration Management / Migrationsmanagement:

  • External Translation Files / Externe Übersetzungsdateien:

    • To enhance scalability and maintainability, consider outsourcing translations to external files (e.g., JSON, YAML) and loading them at bot startup.
    • Zur besseren Skalierbarkeit und Wartbarkeit kann die Verwendung externer Dateien (z.B. JSON, YAML) für Übersetzungen erwogen werden.
  • Refining Permissions / Berechtigungen weiter verfeinern:

    • Review and adjust permissions for various commands to ensure the security and proper usage of the bot.
    • Überprüfe und passe die Berechtigungen für verschiedene Befehle an, um die Sicherheit und den ordnungsgemäßen Gebrauch des Bots zu gewährleisten.

Conclusion / Fazit

With this Release 1.0.0, your Squadlead-Bot offers robust and flexible multilingual support, enhancing the user experience for a broader audience. Users can set their server's preferred language using the /set_language command, and all interactions with the bot will be displayed accordingly.

Durch dieses Release 1.0.0 bietet dein Squadlead-Bot eine robuste und flexible Mehrsprachigkeit, die die Benutzererfahrung für eine breitere Zielgruppe verbessert. Benutzer können die bevorzugte Sprache ihres Servers mit dem /set_language Befehl einstellen, und alle Interaktionen mit dem Bot werden entsprechend angepasst.


Thank you for using and contributing to this project!

Vielen Dank für die Nutzung und Weiterentwicklung dieses Projekts!

If you have any questions or feedback, feel free ...

Read more