some cleanup etc
All checks were successful
Garfbot CI/CD Deployment / Deploy (push) Successful in 15s

This commit is contained in:
2025-06-04 02:55:49 -05:00
parent d707398c26
commit d9ac0cc36e
2 changed files with 25 additions and 33 deletions

View File

@ -1,5 +1,3 @@
import os
import json
import config import config
import asyncio import asyncio
import discord import discord
@ -39,8 +37,8 @@ async def on_ready():
@garfbot.event @garfbot.event
async def on_message(message): async def on_message(message):
content = message.content content = message.content.strip()
content_lower = content.lower() lower = content.lower()
user = message.author.name user = message.author.name
guild = message.guild.name if message.guild else "Direct Message" guild = message.guild.name if message.guild else "Direct Message"
guild_id = message.guild.id guild_id = message.guild.id
@ -49,26 +47,26 @@ async def on_message(message):
if message.author == garfbot.user: if message.author == garfbot.user:
return return
if content_lower.startswith("hey garfield") or isinstance(message.channel, discord.DMChannel): if lower.startswith("hey garfield") or isinstance(message.channel, discord.DMChannel):
question = content[12:] if content_lower.startswith("hey garfield") else message.content question = content[12:] if lower.startswith("hey garfield") else message.content
answer = await generate_chat(question) answer = await generate_chat(question)
logger.info(f"Chat Request - User: {user}, Server: {guild}, Prompt: {question}") logger.info(f"Chat Request - User: {user}, Server: {guild}, Prompt: {question}")
await message.channel.send(answer) await message.channel.send(answer)
if content_lower.startswith('garfpic '): if lower.startswith('garfpic '):
prompt = content[8:] prompt = content[8:]
logger.info(f"Image Request - User: {user}, Server: {guild}, Prompt: {prompt}") logger.info(f"Image Request - User: {user}, Server: {guild}, Prompt: {prompt}")
await message.channel.send(f"`Please wait... image generation queued: {prompt}`") await message.channel.send(f"`Please wait... image generation queued: {prompt}`")
await garfpic(message, prompt) await garfpic(message, prompt)
# Wikipedia # Wikipedia
if content_lower.startswith('garfwiki '): if lower.startswith('garfwiki '):
search_term = message.content[9:] search_term = message.content[9:]
summary = await wikisum(search_term) summary = await wikisum(search_term)
await message.channel.send(summary) await message.channel.send(summary)
# QR codes # QR codes
if content_lower.startswith('garfqr '): if lower.startswith('garfqr '):
text = message.content[7:] text = message.content[7:]
if len(text) > 1000: if len(text) > 1000:
await message.channel.send("❌ Text too long! Maximum 1000 characters.") await message.channel.send("❌ Text too long! Maximum 1000 characters.")
@ -85,7 +83,7 @@ async def on_message(message):
query = message.content.split() query = message.content.split()
target = query[-1] target = query[-1]
if content_lower.startswith("garfping "): if lower.startswith("garfping "):
try: try:
logger.info(f"Ping Request - User: {user}, Server: {guild}, Target: {target}") logger.info(f"Ping Request - User: {user}, Server: {guild}, Target: {target}")
if is_private(target): if is_private(target):
@ -97,7 +95,7 @@ async def on_message(message):
except Exception as e: except Exception as e:
await message.channel.send(f"`GarfBot Error: {str(e)}`") await message.channel.send(f"`GarfBot Error: {str(e)}`")
if content_lower.startswith("garfdns "): if lower.startswith("garfdns "):
try: try:
logger.info(f"NSLookup Request - User: {user}, Server: {guild}, Target: {target}") logger.info(f"NSLookup Request - User: {user}, Server: {guild}, Target: {target}")
if is_private(target): if is_private(target):
@ -109,7 +107,7 @@ async def on_message(message):
except Exception as e: except Exception as e:
await message.channel.send(f"`GarfBot Error: {str(e)}`") await message.channel.send(f"`GarfBot Error: {str(e)}`")
if content_lower.startswith("garfhack "): if lower.startswith("garfhack "):
try: try:
logger.info(f"Nmap Request - User: {user}, Server: {guild}, Target: {target}") logger.info(f"Nmap Request - User: {user}, Server: {guild}, Target: {target}")
if is_private(target): if is_private(target):
@ -123,7 +121,7 @@ async def on_message(message):
await message.channel.send(f"`GarfBot Error: {str(e)}`") await message.channel.send(f"`GarfBot Error: {str(e)}`")
# Kroger Shopping # Kroger Shopping
if content_lower.startswith("garfshop "): if lower.startswith("garfshop "):
try: try:
kroken = kroger_token() kroken = kroger_token()
kroger_query = message.content.split() kroger_query = message.content.split()
@ -152,12 +150,12 @@ async def on_message(message):
if message.guild: if message.guild:
responses = garf_respond.get_responses(guild_id) responses = garf_respond.get_responses(guild_id)
if content_lower.startswith('garfbot response '): if lower.startswith('garfbot response '):
await garf_respond.garfbot_response(message, content) await garf_respond.garfbot_response(message, content)
return return
for trigger, response in responses.items(): for trigger, response in responses.items():
if trigger.lower() in content_lower: if trigger.lower() in lower:
await message.channel.send(response) await message.channel.send(response)
break break

View File

@ -44,33 +44,27 @@ class GarfbotRespond:
logger.info(message.content) logger.info(message.content)
add_pattern = r'garfbot\s+response\s+add\s+["\']([^"\']+)["\']\s+["\']([^"\']+)["\']' match = re.search(r'garfbot response add "(.+?)" "(.+?)"', content, re.IGNORECASE)
add_match = re.search(add_pattern, content, re.IGNORECASE) if match:
trigger = match.group(1)
if add_match: response_text = match.group(2)
trigger = add_match.group(1)
response_text = add_match.group(2)
await self.add_response(message, guild_id, trigger, response_text) await self.add_response(message, guild_id, trigger, response_text)
return return
add_simple_pattern = r'garfbot\s+response\s+add\s+(\S+)\s+(\S+)' match = re.search(r'garfbot response add (\S+) (.+)', content, re.IGNORECASE)
add_simple_match = re.search(add_simple_pattern, content, re.IGNORECASE) if match:
trigger = match.group(1)
if add_simple_match: response_text = match.group(2)
trigger = add_simple_match.group(1)
response_text = add_simple_match.group(2)
await self.add_response(message, guild_id, trigger, response_text) await self.add_response(message, guild_id, trigger, response_text)
return return
remove_pattern = r'garfbot\s+response\s+remove\s+(\S+)' match = re.search(r'garfbot\s+response\s+remove\s+(\S+)', content, re.IGNORECASE)
remove_match = re.search(remove_pattern, content, re.IGNORECASE) if match:
trigger = match.group(1).strip()
if remove_match:
trigger = remove_match.group(1).strip()
await self.remove_response(message, guild_id, trigger) await self.remove_response(message, guild_id, trigger)
return return
if re.search(r'garfbot\s+response\s+list', content, re.IGNORECASE): if content.lower() == "garfbot response list":
await self.list_responses(message, guild_id) await self.list_responses(message, guild_id)
return return