Discord AbbyBot, October 2024 Changelog

Version Updates

Discord AbbyBot, October 2024 Changelog

October 26, 2024

Welcome Back to Our News Sector

On this occasion, we present a list of all the advancements made so far for our platform, "Discord AbbyBot". But first, let’s share the origin of our story, the origin of this project.

The Origin of "AbbyBot":

The AbbyBot project was born exactly on October 7, 2022, with the purpose of creating a tool based on "Abigail", the blonde girl with the cheek patch, the project's mascot, and the protagonist of a future work to be created.

At that time, I was just a guy learning how to program. I knew a bit of Python and Oracle SQL, nothing about frameworks, APIs, or anything like that.

For this reason, I decided to cancel the project at that time. I didn’t have the resources or the capacity to develop this tool, so it was put on the back burner for almost two years.

Much later… We're back.

Discord AbbyBot, October 26, 2024.

List of Existing Features:

General Bot Functions

  • MySQL Integration: Connection to the database to store and manage server and user information.
  • Auto-Restart: The bot automatically restarts every 2 hours to ensure stability.
  • Server Registration: Registers or updates servers and their members in the database.
  • User Role Management: Registers and updates user roles in each server.
  • User Status Tracking: Updates users' active or inactive status based on their server membership.
  • Disconnected Server Cleanup: Deletes data of servers that are no longer active.
  • API Status Notification: Notifies the bot’s status (online/offline) to an external API.
  • Dynamic Server Icon Updates: Detects and updates changes in server icons.
  • Graceful Shutdown: Controlled shutdown handling when a close signal is received (Ctrl+C).

Image Commands

  • Cat Image Command (/image cat): Displays a random cat image or gif. It can include custom text on the image using the cataas.com API.
  • Dog Image Command (/image dog): Displays a random dog image using the random.dog API.
  • Neko Image Command (/image neko): Displays a random "nekomimi" style character image using the nekos.best API.
  • Waifu Image Command (/image waifu): Displays an image of a "waifu" in various categories (neko, hug, kiss, etc.) using the waifu.pics API.
  • Account Status Check: Verifies if the user is active in the database before displaying the image. If inactive, they are notified via direct message (DM).

Channel Events

  • Channel Creation Logging: Logs the creation of new channels in a server and notifies it in a log channel if activated.
  • Channel Deletion Logging: Logs the deletion of channels in a server and notifies it in a log channel if activated.
  • Channel Update Logging: Logs updates to channels like name changes, category changes, slow mode, and topics, and notifies them in a log channel if activated.
  • User Tracking: Identifies and displays the user who created, deleted, or updated the channel using Discord’s audit logs.
  • Multilingual Support: Supports two languages (English and Spanish) in log messages based on server settings.
  • Dynamic Server Icon: Uses the server icon in log messages with a default value if not available.
  • Log Activation: Logs are only registered and sent if logging is activated (activated_logs = 1) for that server.
  • Efficient Change Detection (for channel updates only): No action is taken if no changes are detected in the channel, optimizing bot performance.

Birthday Events

  • Birthday Verification Loop: Checks every 20 minutes if any user has a birthday today and sends a personalized birthday message.
  • Database Integration: Queries the database to verify birthdays and check if a birthday message has already been sent that day.
  • Multilingual Support: Supports two languages (English and Spanish) in birthday messages based on server settings.
  • Age Calculation: Calculates the user’s age based on their birth date.
  • Dynamic Channel Detection: Sends the birthday message to the configured channel in the database if valid.
  • User-Specific Birthday Message: Creates a birthday message with the user’s avatar and mentions them in the message.
  • Permissions Handling: Handles permission errors, like not being able to send messages if the bot lacks sufficient permissions.
  • Efficient Birthday Check: Only sends a birthday message if it hasn’t been sent that day for the user on that server.

Message Deletion Events

  • Message Deletion Event Logging: Detects when a message is deleted on the server and responds with a random message if the event is activated for the server.
  • Randomized Responses: Has a 20% chance (1 in 5) of sending a message after a message is deleted, adding a touch of randomness.
  • Multilingual Support: Supports responses in English and Spanish based on server settings.
  • Database Integration: Fetches predefined messages from the database for message deletion events based on the server's language.
  • Event Activation Check: Only sends a response if message deletion events are activated (activated_events = 1) for the server.
  • Efficient Handling: Avoids reacting to the bot’s own messages or quoted responses, optimizing behavior.

Music Commands:

  • /music play: Basic version of the player, supports MP3 with a maximum duration of 2 minutes or a file size of up to 5 MB.
  • /music premium: Premium version of the player, supports MP3 up to 10 minutes and file sizes of up to 40 MB.