Fixed !help not processing certain help sections correctly if example details were missing.

kami_dev
Kami 2025-02-03 22:37:20 +01:00
parent 5730840209
commit 87d05d961a
3 changed files with 13 additions and 4 deletions

View File

@ -35,7 +35,7 @@ except json.JSONDecodeError as e:
# Simple Logging System
###############################
def log(message, level="INFO"):
def log(message, level="INFO", exec_info=False):
"""
A simple logging function with adjustable log levels.
Logs messages in a structured format.
@ -56,6 +56,10 @@ def log(message, level="INFO"):
timestamp = time.strftime('%Y-%m-%d %H:%M:%S')
log_message = f"[{timestamp} - {uptime_str}] [{level}] {message}"
# If traceback is requested (e.g., for errors)
if exec_info or level == "CRITICAL" or level == "FATAL":
log_message += f"\n{traceback.format_exc()}"
try:
print(log_message) # Print to terminal
if level == "FATAL":

View File

@ -10,6 +10,7 @@ def setup(bot, db_conn=None, log=None):
"""
Attach commands to the Discord bot, store references to db/log.
"""
@bot.command(name="greet")
@monitor_cmds(bot.log)
async def cmd_greet(ctx):

View File

@ -383,9 +383,13 @@ def build_discord_help_message(cmd_name, cmd_help_dict):
if examples:
lines.append("\nExample usage:")
for ex in examples:
ex_cmd = ex.split(" : ")[0]
ex_note = ex.split(" : ")[1]
lines.append(f"- `{ex_cmd}`\n {ex_note}")
ex_arr = ex.split(" : ", 1) # Split into max 2 parts
# Handle missing description case
ex_cmd = ex_arr[0]
ex_note = str(f"\n {ex_arr[1]}") if len(ex_arr) > 1 else ""
lines.append(f"- `{ex_cmd}`{ex_note}")
return "\n".join(lines)