cleared out the last of the image command
This commit is contained in:
parent
b01bd5b80b
commit
10ab18bc51
12 changed files with 72 additions and 223 deletions
88
main.py
88
main.py
|
@ -49,7 +49,6 @@ from modules.markovmemory import *
|
|||
from modules.version import *
|
||||
from modules.sentenceprocessing import *
|
||||
from modules.unhandledexception import handle_exception
|
||||
from modules.image import gen_meme
|
||||
sys.excepthook = handle_exception
|
||||
check_for_update()
|
||||
T = TypeVar('T')
|
||||
|
@ -216,59 +215,6 @@ async def ramusage(ctx):
|
|||
mem = process.memory_info().rss
|
||||
await send_message(ctx, f"{mem / 1024 / 1024:.2f} MB")
|
||||
|
||||
@bot.hybrid_command(description=f"{(_('command_desc_help'))}")
|
||||
async def impact(ctx: commands.Context, text: Optional[str] = None) -> None:
|
||||
assets_folder = "assets/images"
|
||||
|
||||
def get_random_asset_image() -> Optional[str]:
|
||||
images = [f for f in os.listdir(assets_folder) if f.lower().endswith(('.png', '.jpg', '.jpeg', '.webp'))]
|
||||
if not images:
|
||||
return None
|
||||
return os.path.join(assets_folder, random.choice(images))
|
||||
|
||||
temp_input = None
|
||||
input_path = None
|
||||
|
||||
# Determine input image path
|
||||
if ctx.message.attachments:
|
||||
attachment = ctx.message.attachments[0]
|
||||
if attachment.content_type and attachment.content_type.startswith("image/"):
|
||||
ext = os.path.splitext(attachment.filename)[1]
|
||||
temp_input = f"tempy{ext}"
|
||||
await attachment.save(temp_input)
|
||||
input_path = temp_input
|
||||
else:
|
||||
fallback_image = get_random_asset_image()
|
||||
if fallback_image is None:
|
||||
await ctx.reply(_('no_image_available'))
|
||||
return
|
||||
temp_input = tempfile.mktemp(suffix=os.path.splitext(fallback_image)[1])
|
||||
shutil.copy(fallback_image, temp_input)
|
||||
input_path = temp_input
|
||||
else:
|
||||
fallback_image = get_random_asset_image()
|
||||
if fallback_image is None:
|
||||
await ctx.reply(_('no_image_available'))
|
||||
return
|
||||
temp_input = tempfile.mktemp(suffix=os.path.splitext(fallback_image)[1])
|
||||
shutil.copy(fallback_image, temp_input)
|
||||
input_path = temp_input
|
||||
|
||||
# Generate meme image with one-shot text generation
|
||||
output_path = await gen_meme(input_path, custom_text=text)
|
||||
|
||||
if output_path is None or not os.path.isfile(output_path):
|
||||
if temp_input and os.path.exists(temp_input):
|
||||
os.remove(temp_input)
|
||||
await ctx.reply(_('failed_generate_image'))
|
||||
return
|
||||
|
||||
await ctx.send(file=discord.File(output_path))
|
||||
|
||||
if temp_input and os.path.exists(temp_input):
|
||||
os.remove(temp_input)
|
||||
|
||||
|
||||
bot.remove_command('help')
|
||||
# Command: Show help information
|
||||
@bot.hybrid_command(description=f"{(_('command_desc_help'))}")
|
||||
|
@ -370,12 +316,10 @@ async def ping(ctx: commands.Context) -> None:
|
|||
LOLembed.set_footer(text=f"{(_('command_ping_footer'))} {ctx.author.name}", icon_url=ctx.author.avatar.url)
|
||||
|
||||
await ctx.send(embed=LOLembed)
|
||||
# Command: Show about information
|
||||
|
||||
@bot.hybrid_command(description=f"{(_('command_about_desc'))}")
|
||||
async def about(ctx: commands.Context) -> None:
|
||||
print("-----------------------------------\n\n")
|
||||
latest_version: str = check_for_update()
|
||||
print("-----------------------------------")
|
||||
latest_version: str = check_for_update(slient=True)
|
||||
embed: discord.Embed = discord.Embed(title=f"{(_('command_about_embed_title'))}", description="", color=Colour(0x000000))
|
||||
embed.add_field(name=f"{(_('command_about_embed_field1'))}", value=f"{NAME}", inline=False)
|
||||
embed.add_field(name=f"{(_('command_about_embed_field2name'))}", value=f"{(_('command_about_embed_field2value')).format(local_version=local_version, latest_version=latest_version)}", inline=False)
|
||||
|
@ -384,14 +328,11 @@ async def about(ctx: commands.Context) -> None:
|
|||
|
||||
await send_message(ctx, embed=embed)
|
||||
|
||||
# Command: Show bot statistics (admin only)
|
||||
@bot.hybrid_command(description="stats")
|
||||
async def stats(ctx: commands.Context) -> None:
|
||||
if ctx.author.id != ownerid:
|
||||
return
|
||||
print("-----------------------------------\n\n")
|
||||
latest_version: str = check_for_update()
|
||||
print("-----------------------------------")
|
||||
memory_file: str = 'memory.json'
|
||||
file_size: int = os.path.getsize(memory_file)
|
||||
|
||||
|
@ -406,20 +347,29 @@ async def stats(ctx: commands.Context) -> None:
|
|||
embed.add_field(name="Python Version", value=platform.python_version())
|
||||
await send_message(ctx, embed=embed)
|
||||
|
||||
# Command: Upload memory.json to litterbox.catbox.moe and return the link
|
||||
@bot.hybrid_command()
|
||||
async def mem(ctx: commands.Context) -> None:
|
||||
if showmemenabled != "true":
|
||||
return
|
||||
command: str = """curl -F "reqtype=fileupload" -F "time=1h" -F "fileToUpload=@memory.json" https://litterbox.catbox.moe/resources/internals/api.php"""
|
||||
memorylitter: subprocess.CompletedProcess = subprocess.run(command, shell=True, capture_output=True, text=True)
|
||||
logger.debug(memorylitter)
|
||||
await send_message(ctx, memorylitter.stdout.strip())
|
||||
|
||||
# Helper: Improve sentence coherence (simple capitalization fix)
|
||||
with open("memory.json", "rb") as file:
|
||||
files = {
|
||||
"fileToUpload": file
|
||||
}
|
||||
data = {
|
||||
"reqtype": "fileupload",
|
||||
"time": "1h"
|
||||
}
|
||||
|
||||
try:
|
||||
response = requests.post("https://litterbox.catbox.moe/resources/internals/api.php", files=files, data=data)
|
||||
response.raise_for_status()
|
||||
await send_message(ctx, response.text.strip())
|
||||
except requests.RequestException as e:
|
||||
logger.error(f"Upload failed: {e}")
|
||||
await send_message(ctx, "Upload failed.")
|
||||
|
||||
def improve_sentence_coherence(sentence: str) -> str:
|
||||
# Capitalizes "i" to "I" in the sentence
|
||||
sentence = sentence.replace(" i ", " I ")
|
||||
return sentence
|
||||
|
||||
# Start the bot
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue