modified: bot.py
This commit is contained in:
38
bot.py
38
bot.py
@@ -744,27 +744,27 @@ def save_chat_history(channel_id, messages):
|
||||
|
||||
@client.hybrid_command()
|
||||
async def startlivechat(ctx):
|
||||
"""Startet den Live-Chat im aktuellen Kanal."""
|
||||
"""Starts the live chat in the current channel."""
|
||||
channel_id = ctx.channel.id
|
||||
if channel_id in live_chats and live_chats[channel_id]["active"]:
|
||||
await ctx.send("Live-Chat ist bereits aktiv.")
|
||||
await ctx.send("Live chat is already active.")
|
||||
return
|
||||
|
||||
# Lade oder initialisiere die Chat-Historie
|
||||
history = load_chat_history(channel_id)
|
||||
live_chats[channel_id] = {"messages": history, "active": True}
|
||||
|
||||
await ctx.send("Live-Chat gestartet. Nachrichten werden verarbeitet.")
|
||||
await ctx.send("Live chat started. Messages will be processed.")
|
||||
|
||||
@client.hybrid_command()
|
||||
async def stoplivechat(ctx):
|
||||
"""Beendet den Live-Chat im aktuellen Kanal."""
|
||||
"""Stops the live chat in the current channel."""
|
||||
channel_id = ctx.channel.id
|
||||
if channel_id in live_chats:
|
||||
live_chats[channel_id]["active"] = False
|
||||
await ctx.send("Live-Chat wurde beendet.")
|
||||
await ctx.send("Live chat has been stopped.")
|
||||
else:
|
||||
await ctx.send("Kein aktiver Live-Chat in diesem Kanal.")
|
||||
await ctx.send("No active live chat in this channel.")
|
||||
|
||||
@client.event
|
||||
async def on_message(message):
|
||||
@@ -934,12 +934,12 @@ def get_current_datetime():
|
||||
return datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
|
||||
def calculate_xp_needed_for_level(level):
|
||||
"""Berechnet die benötigten XP für das nächste Level."""
|
||||
"""Calculates the XP needed for the next level."""
|
||||
xp_need = 5 * (int(level) ** 2) + 50 * int(level) + 100
|
||||
return int(xp_need)
|
||||
|
||||
async def add_xp_to_user(user_id, guild_id, xp_gained, member=None):
|
||||
"""Fügt einem Benutzer XP hinzu und überprüft, ob er ein Level aufsteigt. Aktualisiert auch Benutzerdaten."""
|
||||
"""Adds XP to a user and checks if they level up. Also updates user data."""
|
||||
# Lade Benutzerdaten (XP, Level, etc.) - mit member-Objekt für neue User
|
||||
user_data = await load_user_data(user_id, guild_id, member)
|
||||
|
||||
@@ -1025,7 +1025,7 @@ async def add_xp_to_user(user_id, guild_id, xp_gained, member=None):
|
||||
|
||||
@client.hybrid_command()
|
||||
async def level(ctx, user: discord.User = None):
|
||||
"""Zeigt den aktuellen Level und XP des Benutzers oder einer anderen Person an."""
|
||||
"""Shows the current level and XP of the user or another person."""
|
||||
guild_id = ctx.guild.id
|
||||
|
||||
# Wenn kein User angegeben wurde, zeige das eigene Level
|
||||
@@ -1058,7 +1058,7 @@ async def level(ctx, user: discord.User = None):
|
||||
|
||||
@client.hybrid_command()
|
||||
async def leaderboard(ctx):
|
||||
"""Zeigt die besten Benutzer im XP-Leaderboard an."""
|
||||
"""Shows the top users in the XP leaderboard."""
|
||||
guild_id = ctx.guild.id
|
||||
connection = connect_to_database()
|
||||
cursor = connection.cursor()
|
||||
@@ -1202,7 +1202,7 @@ async def points(ctx):
|
||||
|
||||
@client.hybrid_command()
|
||||
async def permissionlevel(ctx):
|
||||
"""Displays the authorisation level and rank of the user."""
|
||||
"""Displays the authorization level and rank of the user."""
|
||||
user_id = ctx.author.id
|
||||
guild_id = ctx.guild.id
|
||||
|
||||
@@ -1281,6 +1281,7 @@ async def resetpoints(ctx, user: discord.User):
|
||||
|
||||
@client.hybrid_command()
|
||||
async def shutdown_(ctx):
|
||||
"""Shuts down the bot (Admin only)."""
|
||||
user_perms = load_user_data_sync(ctx.author.id, ctx.guild.id)
|
||||
if 8 <= user_perms["permission"]:
|
||||
await ctx.send("Shutting down the bot...")
|
||||
@@ -1291,6 +1292,7 @@ async def shutdown_(ctx):
|
||||
|
||||
@client.hybrid_command()
|
||||
async def owner_command(ctx):
|
||||
"""Syncs the bot's slash commands (Owner only)."""
|
||||
try:
|
||||
user_perms = load_user_data_sync(ctx.author.id, ctx.guild.id)
|
||||
if 10 <= user_perms["permission"]:
|
||||
@@ -1464,7 +1466,7 @@ async def vision(ctx, image_url: str):
|
||||
|
||||
@client.hybrid_command()
|
||||
async def addbackgrounddata(ctx, *, data: str):
|
||||
"""Adds additional background data to the file."""
|
||||
"""Adds additional background data to the file (Owner only)."""
|
||||
if commands.is_owner():
|
||||
try:
|
||||
with open("background_data.txt", "a", encoding="utf-8") as file:
|
||||
@@ -1478,7 +1480,7 @@ async def addbackgrounddata(ctx, *, data: str):
|
||||
|
||||
@client.hybrid_command()
|
||||
async def summarize(ctx, number: int):
|
||||
"""Summarizes the last x messages in the chat."""
|
||||
"""Summarizes the last x messages in the chat (Admin only)."""
|
||||
if not features["summarize"]:
|
||||
await ctx.send("Sorry, the summarize feature is currently disabled.")
|
||||
return
|
||||
@@ -1525,7 +1527,7 @@ async def summarize(ctx, number: int):
|
||||
|
||||
@client.hybrid_command()
|
||||
async def join(ctx):
|
||||
"""Bot joins a voice channel."""
|
||||
"""Makes the bot join a voice channel."""
|
||||
if ctx.author.voice:
|
||||
channel = ctx.author.voice.channel
|
||||
await channel.connect()
|
||||
@@ -1535,7 +1537,7 @@ async def join(ctx):
|
||||
|
||||
@client.hybrid_command()
|
||||
async def leave(ctx):
|
||||
"""Bot leaves the voice channel."""
|
||||
"""Makes the bot leave the voice channel."""
|
||||
if ctx.voice_client:
|
||||
await ctx.voice_client.disconnect()
|
||||
await ctx.send("Left the voice channel.")
|
||||
@@ -1544,7 +1546,7 @@ async def leave(ctx):
|
||||
|
||||
@client.hybrid_command()
|
||||
async def toggle_feature(ctx, feature: str, state: str):
|
||||
"""Allows admin to enable or disable features."""
|
||||
"""Allows admin to enable or disable bot features."""
|
||||
guild_id = ctx.guild.id
|
||||
user_id = ctx.author.id
|
||||
user_data = load_user_data_sync(user_id, guild_id)
|
||||
@@ -1653,7 +1655,7 @@ async def download_and_save_profile_image(user_id, discord_url):
|
||||
|
||||
@client.hybrid_command()
|
||||
async def addnotes(ctx, type: str, *, source: str):
|
||||
"""Adds a note that can be consulted later."""
|
||||
"""Adds a note that can be consulted later. Use 'txt' for text files or 'url' for website URLs."""
|
||||
await ctx.defer() # Signalisiert, dass die Bearbeitung des Befehls begonnen hat
|
||||
|
||||
user_id = ctx.author.id
|
||||
@@ -1700,7 +1702,7 @@ async def addnotes(ctx, type: str, *, source: str):
|
||||
|
||||
@client.hybrid_command()
|
||||
async def asknotes(ctx, *, question: str):
|
||||
"""Asks a question about the saved notes."""
|
||||
"""Asks a question about your saved notes."""
|
||||
await ctx.defer()
|
||||
|
||||
user_id = ctx.author.id
|
||||
|
||||
Reference in New Issue
Block a user