Jelajahi Sumber

Added a new /help command, to display available keys for the game

BaumSplitter41 2 bulan lalu
induk
melakukan
d3395079db
2 mengubah file dengan 65 tambahan dan 0 penghapusan
  1. 63 0
      VPD_BOT/cogs/help_keys.py
  2. 2 0
      VPD_BOT/json_files/help_keys.json

+ 63 - 0
VPD_BOT/cogs/help_keys.py

@@ -0,0 +1,63 @@
+import json
+from pathlib import Path
+import discord
+from discord.ext import commands
+from discord.commands import slash_command
+
+class helpkeys(commands.Cog):
+    def __init__(self, bot: discord.Bot):
+        self.bot = bot
+
+
+    @slash_command(name="help_tasten", description="Lass dir die Tastenbelegungen anzeigen")
+    async def help_tasten(self, ctx: discord.ApplicationContext):
+        server = ctx.guild
+
+        json_path = Path(__file__).resolve().parent.parent.joinpath("json_files", "help_keys.json")
+        if not json_path.exists():
+            await ctx.respond("The .json file is missing.")
+            return
+
+        try:
+            with json_path.open("r", encoding="utf-8") as f:
+                json_data = json.load(f)
+        except json.JSONDecodeError:
+            await ctx.respond("The .json file is not valid JSON.")
+            return
+
+        if isinstance(json_data, dict):
+            entries = [json_data]
+        elif isinstance(json_data, list):
+            entries = json_data
+        else:
+            await ctx.respond("The .json file has an unexpected structure.")
+            return
+
+        if not entries or not isinstance(entries[0], dict):
+            await ctx.respond("The .json file has an unexpected structure.")
+            return
+
+        if not entries:
+            await ctx.respond("The .json file is empty.")
+            return
+
+        entry = entries[0]
+        jstitle = entry.get("title", "Help")
+        jsdesc = entry.get("desc", "No description provided.")
+        
+        embed = discord.Embed(
+            title=f"{jstitle}",
+            description=f"{jsdesc}",
+            color=discord.Color.yellow()
+        )
+
+        if server.icon:
+            embed.set_thumbnail(url=server.icon.url)
+            
+        embed.set_author(name="VicePD", icon_url="https://i.imgur.com/6QteFrg.png")
+        embed.set_footer(text="VicePD - Bot | Made by BaumSplitter41")
+
+        await ctx.respond(embed=embed)
+
+def setup(bot: discord.Bot):
+    bot.add_cog(helpkeys(bot))

File diff ditekan karena terlalu besar
+ 2 - 0
VPD_BOT/json_files/help_keys.json


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini