Discord Bot Code

Hier ist der Python-Code für den Discord-Bot:


import discord
from discord.ext import commands, tasks
from discord import app_commands
import random
import asyncio
import datetime

# Setup für den Bot
intents = discord.Intents.default()
intents.members = True  # Ermöglicht das Zugreifen auf Mitgliederinformationen
intents.message_content = True  # Für Nachrichteninhalte

bot = commands.Bot(command_prefix='!', intents=intents)

# Kommando für Bot Ready
@bot.event
async def on_ready():
    print(f'Bot ist eingeloggt als {bot.user}')


# Ticket-System
tickets = {}

@bot.command()
async def ticket(ctx, *, reason=None):
    guild = ctx.guild
    overwrites = {
        guild.default_role: discord.PermissionOverwrite(read_messages=False),
        ctx.author: discord.PermissionOverwrite(read_messages=True),
        guild.me: discord.PermissionOverwrite(read_messages=True),
    }
    category = discord.utils.get(guild.categories, name="Tickets")
    if not category:
        category = await guild.create_category("Tickets")
    channel = await category.create_text_channel(f"ticket-{ctx.author.name}", overwrites=overwrites)
    tickets[ctx.author.id] = channel.id
    await ctx.send(f"{ctx.author.mention}, dein Ticket wurde erstellt: {channel.mention}")
    if reason:
        await channel.send(f"Grund für das Ticket: {reason}")

@bot.command()
async def close_ticket(ctx):
    if ctx.channel.category and ctx.channel.category.name == "Tickets":
        await ctx.channel.delete()
        await ctx.send("Ticket wurde geschlossen.")
    else:
        await ctx.send("Dies ist kein Ticket-Channel.")

# Warnsystem
warns = {}

@bot.command()
async def warn(ctx, member: discord.Member, *, reason=None):
    if member.id not in warns:
        warns[member.id] = []
    warns[member.id].append(reason or "Kein Grund angegeben")
    await ctx.send(f"{member.mention} wurde gewarnt. Grund: {reason or 'Kein Grund angegeben'}")

@bot.command()
async def warnings(ctx, member: discord.Member):
    if member.id in warns and warns[member.id]:
        await ctx.send(f"{member.mention} hat {len(warns[member.id])} Warnungen: {', '.join(warns[member.id])}")
    else:
        await ctx.send(f"{member.mention} hat keine Warnungen.")

# Up-/Downranks
@bot.command()
async def uprank(ctx, member: discord.Member, role: discord.Role):
    await member.add_roles(role)
    await ctx.send(f"{member.mention} wurde auf {role.name} hochgestuft.")

@bot.command()
async def downrank(ctx, member: discord.Member, role: discord.Role):
    await member.remove_roles(role)
    await ctx.send(f"{member.mention} wurde von {role.name} heruntergestuft.")

# User Info
@bot.command()
async def userinfo(ctx, member: discord.Member = None):
    member = member or ctx.author
    embed = discord.Embed(title=f"Benutzerinfo: {member.name}", color=discord.Color.blue())
    embed.add_field(name="ID", value=member.id)
    embed.add_field(name="Name", value=member.display_name)
    embed.add_field(name="Beitrittsdatum", value=member.joined_at.strftime("%d.%m.%Y %H:%M:%S"))
    embed.set_thumbnail(url=member.avatar.url)
    await ctx.send(embed=embed)

# Server Info
@bot.command()
async def serverinfo(ctx):
    guild = ctx.guild
    embed = discord.Embed(title=f"Serverinfo: {guild.name}", color=discord.Color.green())
    embed.add_field(name="Mitglieder", value=guild.member_count)
    embed.add_field(name="Erstellt am", value=guild.created_at.strftime("%d.%m.%Y %H:%M:%S"))
    embed.add_field(name="Region", value=guild.region)
    embed.set_thumbnail(url=guild.icon.url if guild.icon else "")
    await ctx.send(embed=embed)

# Ankündigungen
@bot.command()
async def announce(ctx, channel: discord.TextChannel, *, message):
    await channel.send(f"📢 **Ankündigung:** {message}")
 

# Token setzen und Bot starten
TOKEN = "MTMxNDk4NjEzNDQzODE1MDE1NA.GRfJnt._cWvVgq-lUz4AP6yVt3gDKH7vtqe1-n8rlk6k4"
bot.run(MTMxNDk4NjEzNDQzODE1MDE1NA.GRfJnt._cWvVgq-lUz4AP6yVt3gDKH7vtqe1-n8rlk6k4)
        

Wichtig:

Ersetzen Sie MTMxNDk4NjEzNDQzODE1MDE1NA.GRfJnt._cWvVgq-lUz4AP6yVt3gDKH7vtqe1-n8rlk6k4 durch den tatsächlichen Token, den Sie von der Discord-Entwicklerseite erhalten haben. Speichern Sie diesen Token sicher und teilen Sie ihn mit niemandem.

Um den Bot zu starten, führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal eingeben:

python dateiname.py