Fun
Guess
The `guess` command generates a visual representation of the relationship between two users in a Discord server using a "ship" image. It can be triggered using the slash command `/` or prefix commands.
Command Details
- Name: guess
- Aliases: None
- Category: Fun
- Description: Creates a "ship" image to guess the relationship between two users.
- Usage:
P guess <user1> <user2>,p guess <user1> <user2>, or/guess [target] [partner] - Examples:
P guess @User1 @User2p guess @User1 @User2/guess @User1 @User2
- Cooldown: 5 seconds
- Arguments: Required (two user mentions or IDs)
- Slash Command: Enabled
- Permissions:
- Bot: SendMessages, ViewChannel, EmbedLinks
- User: None
- Player Requirements: None (no voice, DJ, or active player required)
Functionality
- The command accepts two users as input (via mentions, IDs, or slash command options).
- If invoked via slash command, users are selected from
targetandpartneroptions; for prefix commands, it uses mentions or defaults to the invoker as the second user if only one is provided. - Validates that:
- Both users are valid (sends error: "Please mention two valid users." if not).
- The two users are not the same (sends error: "You cannot guess a relationship with the same user.").
- Generates a "ship" image using the
canvafy.Shiplibrary, combining:- Avatars of both users (PNG, static format).
- A background image (
https://i.imgur.com/WRQ9JgJ.jpg). - A border color (
#FFCFCF) and overlay opacity (0.7).
- Sends the generated image as an attachment named
ship-[user1]-[user2].png. - Displays an initial "Thinking..." message for better UX during image generation.
- Handles errors gracefully, sending a user-friendly error message and logging the issue.
Code Overview
The command is built using a Command class structure and handles both message-based and interaction-based (slash command) inputs. It uses:
canvafy.Shipto generate the relationship image with user avatars.client.embed()to create error embeds with a danger color.- User fetching via mentions, IDs, or slash command options.
- Error handling for invalid users, same-user inputs, or image generation failures.
- Language localization support (via the
languageparameter, though not fully utilized in the provided code).
Shy
The `shy` command allows users to express a shy emotion with a random shy emoji in a Discord server. It can be triggered using the prefixes `P`, `p`, or the slash command `/`.
Guess Number
The `guessnumber` command allows users to play a number-guessing game in a Discord server, attempting to guess a number between 1 and 100. It can be triggered using the slash command `/` or prefix commands.