fixed, fuully bug free
This commit is contained in:
156
cogs/help.py
156
cogs/help.py
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user