fixed, fuully bug free

This commit is contained in:
2026-06-17 14:29:02 -05:00
parent c84acc4564
commit 996f65fcab
3 changed files with 390 additions and 267 deletions

View File

@@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
import discord
from discord.ext import commands
@@ -35,25 +36,25 @@ class Help(commands.Cog):
async def show_main_help(self, ctx):
"""Show main help menu"""
embed = discord.Embed(
title='🎭 Original Character Bot',
title='OC Bot - Character Management',
description='Manage and roleplay as your original characters!',
color=discord.Color.blue()
)
embed.add_field(
name='📚 What are OCs?',
name='What are OCs?',
value='OCs (Original Characters) are fictional characters you create. This bot lets you manage them and send messages as them!',
inline=False
)
embed.add_field(
name='🚀 Getting Started',
name='Getting Started',
value='`,oc create` - Start creating your first character!\n`,oc list` - View all your characters',
inline=False
)
embed.add_field(
name='📖 Commands',
name='Commands',
value='**Character Management:**\n'
'`,oc create` - Create a new character\n'
'`,oc list` - List your characters\n'
@@ -68,7 +69,7 @@ class Help(commands.Cog):
)
embed.add_field(
name='💡 Quick Example',
name='Quick Example',
value='1. `,oc create` and follow the wizard\n'
'2. Use `,ba Hello everyone` to send as your character\n'
'3. `,oc list` to see all your characters',
@@ -76,7 +77,7 @@ class Help(commands.Cog):
)
embed.add_field(
name='📝 Help Topics',
name='Help Topics',
value='`,help create` - Character creation guide\n'
'`,help triggers` - How triggers work\n'
'`,help oc` - OC command overview\n'
@@ -85,7 +86,7 @@ class Help(commands.Cog):
inline=False
)
embed.set_footer(text='Coded by Ball Studios 🎨')
embed.set_footer(text='Coded by Ball Studios')
await ctx.send(embed=embed)
async def help_create(self, ctx):
@@ -110,9 +111,9 @@ class Help(commands.Cog):
embed.add_field(
name='Step-by-step',
value='1. Run `,oc create`\n'
'2. Enter your character\'s name\n'
'2. Enter your character name\n'
'3. Provide an avatar URL (image link)\n'
'4. Choose a unique trigger (e.g., `ba`, `sa`)\n'
'4. Choose a unique trigger (e.g., ba, sa)\n'
'5. Add an optional description\n'
'6. Confirm!',
inline=False
@@ -120,31 +121,31 @@ class Help(commands.Cog):
embed.add_field(
name='Avatar URL',
value='This should be a direct link to an image:\n'
'✅ `https://example.com/avatar.png`\n'
' Discord user profile link\n'
' Local file path',
value='This should be a direct link to an image.\n'
'OK: https://example.com/avatar.png\n'
'NOT OK: Discord user profile link\n'
'NOT OK: Local file path',
inline=False
)
embed.add_field(
name='Trigger',
value='A short code (2-5 chars) that activates your character.\n'
'You\'ll use it like: `,ba Hello!`\n'
'You will use it like: `,ba Hello!`\n'
'Must be unique to you (others can have `,ba` too)',
inline=False
)
embed.add_field(
name='Example',
value='* Name: **Barny**\n'
'* Avatar: `https://example.com/barny.png`\n'
'* Trigger: `ba`\n'
'* Final command: `,ba Hello everyone!`',
value='Name: Barny\n'
'Avatar: https://example.com/barny.png\n'
'Trigger: ba\n'
'Final command: `,ba Hello everyone!`',
inline=False
)
embed.set_footer(text='Coded by Ball Studios 🎨')
embed.set_footer(text='Coded by Ball Studios')
await ctx.send(embed=embed)
async def help_triggers(self, ctx):
@@ -162,19 +163,19 @@ class Help(commands.Cog):
embed.add_field(
name='How to use triggers',
value='If your character has trigger `ba`:\n'
'`,ba Hello!` Message sent as your character\n'
'`,ba I\'m excited!` Another message as them',
value='If your character has trigger ba:\n'
'`,ba Hello!` - Message sent as your character\n'
'`,ba I am excited!` - Another message as them',
inline=False
)
embed.add_field(
name='Trigger Rules',
value=' 1-10 characters\n'
' Lowercase letters (a-z)\n'
' Numbers (0-9)\n'
'❌ Cannot be reserved words (help, oc, ping, etc.)\n'
' Must be unique to YOU (no duplicates per user)',
value='OK: 1-10 characters\n'
'OK: Lowercase letters (a-z)\n'
'OK: Numbers (0-9)\n'
'NOT OK: Reserved words (help, oc, ping, etc.)\n'
'NOT OK: Must be unique to YOU (no duplicates per user)',
inline=False
)
@@ -195,6 +196,7 @@ class Help(commands.Cog):
inline=False
)
embed.set_footer(text='Coded by Ball Studios')
await ctx.send(embed=embed)
async def help_oc(self, ctx):
@@ -236,10 +238,11 @@ class Help(commands.Cog):
embed.add_field(
name='`,oc preview <name>`',
value='See how a character\'s message will look',
value='See how a character message will look',
inline=False
)
embed.set_footer(text='Coded by Ball Studios')
await ctx.send(embed=embed)
async def help_edit(self, ctx):
@@ -257,10 +260,10 @@ class Help(commands.Cog):
embed.add_field(
name='What can you edit?',
value='• **Name** - Your character\'s name\n'
'• **Avatar** - Their profile picture URL\n'
'• **Trigger** - Their command code\n'
'• **Description** - Background info',
value='- Name: Your character name\n'
'- Avatar: Their profile picture URL\n'
'- Trigger: Their command code\n'
'- Description: Background info',
inline=False
)
@@ -276,13 +279,13 @@ class Help(commands.Cog):
embed.add_field(
name='Trigger Change Tips',
value='When changing a trigger:\n'
' Old trigger becomes unusable\n'
' New trigger must be unique\n'
'• Use new trigger immediately\n'
'• E.g., if `,ba` → `,bn`, use `,bn` now',
'- Old trigger becomes unusable\n'
'- New trigger must be unique\n'
'- You will need to use new command immediately',
inline=False
)
embed.set_footer(text='Coded by Ball Studios')
await ctx.send(embed=embed)
async def help_delete(self, ctx):
@@ -299,37 +302,28 @@ class Help(commands.Cog):
)
embed.add_field(
name='What happens?',
value='1. Bot asks for confirmation\n'
'2. Type `YES` within 30 seconds\n'
'3. Character is permanently deleted\n'
'4. Trigger becomes available again',
name='Warning',
value='This action cannot be undone!',
inline=False
)
embed.add_field(
name='⚠️ Warning',
value='Deletion is **permanent**! You cannot undo this.\n'
'Create a backup/description if needed.',
inline=False
)
embed.add_field(
name='Example',
value='User: `,oc delete Barny`\n'
'Bot: Are you sure? Type YES to confirm.\n'
'User: `YES`\n'
'Bot: Character Barny deleted.',
name='How to delete',
value='1. `,oc delete Barny`\n'
'2. Bot asks for confirmation\n'
'3. Type YES (within 30 seconds)\n'
'4. Character is permanently deleted',
inline=False
)
embed.set_footer(text='Coded by Ball Studios')
await ctx.send(embed=embed)
async def help_list(self, ctx):
"""Help for listing characters"""
"""Help for list command"""
embed = discord.Embed(
title='Listing Your Characters',
color=discord.Color.blue()
title='List Your Characters',
color=discord.Color.blurple()
)
embed.add_field(
@@ -339,30 +333,27 @@ class Help(commands.Cog):
)
embed.add_field(
name='What does it show?',
value='A list of all your characters with their triggers',
name='What it shows',
value='All your characters with their triggers',
inline=False
)
embed.add_field(
name='Example Output',
value='**Your Characters**\n'
'Barny\n'
'Trigger: `,ba`\n\n'
'Sarah\n'
'Trigger: `,sa`\n\n'
'Knight\n'
'Trigger: `,kn`',
name='Example output',
value='Character 1: Barny (trigger: ba)\n'
'Character 2: Dragon (trigger: dr)\n'
'Character 3: Shy (trigger: sh)',
inline=False
)
embed.set_footer(text='Coded by Ball Studios')
await ctx.send(embed=embed)
async def help_info(self, ctx):
"""Help for info command"""
embed = discord.Embed(
title='Character Information',
color=discord.Color.blurple()
title='Character Info',
color=discord.Color.dark_blue()
)
embed.add_field(
@@ -372,30 +363,26 @@ class Help(commands.Cog):
)
embed.add_field(
name='What does it show?',
value='Detailed information about a character:\n'
'• Name\n'
'• Trigger code\n'
'• Avatar image\n'
'• Description\n'
'• Creation date\n'
'• Last time used',
name='What it shows',
value='Name, trigger, avatar URL, and description',
inline=False
)
embed.add_field(
name='Example',
value='`,oc info Barny`',
value='`,oc info Barny`\n\n'
'Shows all details about your Barny character',
inline=False
)
embed.set_footer(text='Coded by Ball Studios')
await ctx.send(embed=embed)
async def help_preview(self, ctx):
"""Help for preview command"""
embed = discord.Embed(
title='Character Preview',
color=discord.Color.green()
title='Preview Character',
color=discord.Color.teal()
)
embed.add_field(
@@ -405,22 +392,19 @@ class Help(commands.Cog):
)
embed.add_field(
name='What does it do?',
value='Shows you exactly how your character will appear when sending messages.\n'
'Useful to check:\n'
'• Avatar displays correctly\n'
'• Name looks good\n'
'• Everything works as expected',
name='What it does',
value='Shows how a character message will appear',
inline=False
)
embed.add_field(
name='Example',
value='`,oc preview Barny`\n\n'
'Bot sends a sample message with Barny\'s avatar and name',
'Bot sends a sample message with Barny avatar and name',
inline=False
)
embed.set_footer(text='Coded by Ball Studios')
await ctx.send(embed=embed)
async def setup(bot):