#Allgemeine Hilfe

1 messages · Page 39 of 1

ruby sparrow
novel ore
#

Ja und bei dem anderen auch noch

ruby sparrow
novel ore
#

Error

ruby sparrow
#

es kommt kein error

novel ore
#

Schick bitte nochmal deinen Code am Persien per screen

novel ore
#

Naja su schickst es ja nicht ab

#

Fehlt
await ctx.respond(embed=embed)

ruby sparrow
#

oh fuck

#

vergassen

novel ore
#

Alles gut

#

Welches theme nutzt du

ruby sparrow
novel ore
#

Nutzt du das Standard theme?

#

Die Farbe vom Code ändert das

ruby sparrow
novel ore
#

Welches dann?

#

Und geht der Code jetzt

ruby sparrow
ruby sparrow
novel ore
#

👍

ruby sparrow
novel ore
#

Nice

ruby sparrow
novel ore
#

Ne xD

#

Also wenn du Version automatisch hin machen willst weiß ich es nicht sonst halt einfach schreiben

ruby sparrow
#

haha

novel ore
ruby sparrow
solar current
ruby sparrow
#
import discord 
from discord.ext import commands
from discord.commands import slash_command
import random


class orakel(commands.Cog):
    def __init__(self,bot):
        self.bot = bot


    @slash_command(description="Stellen Sie Ihrem Onkel eine Frage🐼")
    async def orakel(self, ctx, *, frage):
        antworten = ["Ja", "Nein", "Vielleicht", "Es ist möglich", "Frag später nochmal"]
        antworten = random.choice(antworten)


        embed = discord.Embed(title="Das schlauen Orakel anwntet:",description=antwort, color=discord.Color.blue())
        embed.set_author(name=self.bot.user.name, icon_url=self.bot.user.avatar.url)


        await ctx.response(embed=embed)

def setup(bot):
    bot.add_cog(orakel(bot))

#
Traceback (most recent call last):
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "c:\Users\Rysii\OneDrive\Desktop\Panda Bot\cogs\orakel.py", line 18, in orakel
    embed = discord.Embed(title="Das schlauen Orakel anwntet:",description=antwort, color=discord.Color.blue())
                                                                           ^^^^^^^
NameError: name 'antwort' is not defined```
novel ore
#

antworten nicht antwort

urban glen
#

Wie mach ich das ich eine nachricht nur klein bekomme sogesagt

ruby sparrow
#

bin dumm

novel ore
#

alles gut

ruby sparrow
#

war dumm am sry

novel ore
#

kein Problem

urban glen
#

Ich sag mal da ist ein Wort das ist iwie (BANANE) aber ich will das alle buchstaben klein sind

#

Hat sich geregelt hab schon 👍

ruby sparrow
#

wie kann man wie frage steht da ?

urban glen
#

Du benutzt den Variablen name?

#

bzw Option name

ruby sparrow
urban glen
#

embed = discord.Embed(title=frage)

ruby sparrow
#

also

ruby sparrow
#

warum ist das rot

solid ingot
#

deine einrückung ist falsch. alles innerhalb der Methode muss eins nach rechts

solid ingot
#

es ist auch immer noch falsch eingerückt

ruby sparrow
solid ingot
#

du hast die einrückung im zweiten screenshot gar nicht geändert. die ist immer noch genauso wie im ersten screenhsot

ruby sparrow
#
import discord
from discord.ext import commands
from discord.commands import slash_command


class booser(commands.Cog):
    def __init__(self,bot):
        self.bot = bot


    @slash_command(description="zeig dir alle booster an ")
    async def booster(self, ctx):
      server = ctx.guild
    boosters = [member for member in server.members if member.premium_since is not None]
    boosters = sorted(boosters, key=lambda member: member.premium_since, reverse=True)

    if boosters:
      embed = discord.Embed(title="Beste Booster", description="Hier sind die besten Booster des Servers:", color=discord.Color.gold())
    for index, booster in enumerate(boosters):
        embed.add_field(name=f"Booster #{index+1}", value=f"Benutzer: {booster.display_name}\nSeit: {booster.premium_since.strftime('%d.%m.%Y %H:%M')} UTC", inline=False)
    else:
        embed = discord.Embed(title="Beste Booster", description="Es gibt derzeit keine Booster auf diesem Server.", color=discord.Color.gold())

    await ctx.respond(embed=embed)


def setup(bot):
    bot.add_cog(booser(bot))```
#

warum zeig dem commad nicht an

urban glen
#

einrückung ist immernoch falsch

ruby sparrow
urban glen
#

nope nur das server = ist richtig

ruby sparrow
#

hä bin dumm ?

urban glen
#

Nein

ruby sparrow
urban glen
#

ok

urban glen
urban glen
#

Wie Frag ich ab ob der ctx.author Admin Rechte hat?

#
if ctx.author.guild_permissions.administrator:
#

So, wenn du es als if-statement haben willst

#

thx

restive herald
solid ingot
#

das kannst du mit @commands.had_permission oder mit discord.default_permissions machen. falls du es innerhalb vom command machen willst, dann so wie AFC

urban glen
#

Wollte es so wie AFC es gesagt hat

solid ingot
#

jo, schalte den command dann für DMs aus damit du kein error bekommst

solid ingot
#

heißt es nicht guild_only?

urban glen
#

Ja hast recht

restive herald
#

Wie kann ich ne Msg bekommen um die dann zu bearbeiten?

#

oder den respond von ner interaction

urban glen
#

also wenn du z.b

await interaction.respond(f'Cooler Text')

hast und die bearbeiten willst machst du einfach

await interaction.followup.edit_message(f'Cooler Text 2')
restive herald
#

ah danke

restive herald
#

Hab py msg = await interaction.response.send_message(embed=embed)
gemacht und dann halt id = msg.idaber das klappt nd

urban glen
restive herald
#

danke

restive herald
# urban glen interaction.message.id

Ignoring exception in modal <cogs.giveaway.Modal object at 0x1051a3730>:
Traceback (most recent call last):
File "/Users/konjarehm/PycharmProjects/toolsdcbo/venv/lib/python3.10/site-packages/discord/ui/modal.py", line 341, in dispatch
await value.callback(interaction)
File "/Users/konjarehm/PycharmProjects/toolsdcbo/cogs/giveaway.py", line 63, in callback
msg = interaction.message.id
AttributeError: 'NoneType' object has no attribute 'id'

xD

urban glen
#

chillig

#
await interaction.followup.edit_message(msg, f'Cooler Text 2')
#

ah ne das hat nix damit zu tun xd

restive herald
urban glen
#

hm

restive herald
#
        await interaction.response.send_message(embed=embed)
        msg = interaction.message.id
#

so hab ichs

urban glen
#
        karisagoat = await interaction.response.send_message(embed=embed)
        msg = karisagoat.id
#

maybe like this

restive herald
#

ahh

restive herald
#

da kam dann msg not found

urban glen
#

uff

restive herald
#

hast nh idee?

urban glen
#

no

mental hamlet
#

interaction.message ist bei ephemeral msgs none

restive herald
urban tiger
restive herald
urban tiger
#

Und du möchtest die Nachricht editieren?

restive herald
#

ja

urban tiger
ruby sparrow
#

warum will er commad nicht ?

#

import discord
from discord.ext import commands
from discord.commands import slash_command


class Base(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @slash_command(description="zeig dir alle booster an!")
    async def booster(self, ctx):
        server = ctx.guild
        boosters = [member for member in server.members if member.premium_since is not None]
        boosters = sorted(boosters, key=lambda member: member.premium_since, reverse=True)

        if boosters:
            embed = discord.Embed(title="Beste Booster", description="Hier sind die besten Booster des Servers:", color=discord.Color.gold())
            for index, booster in enumerate(boosters):
                 embed.add_field(name=f"Booster #{index+1}", value=f"Benutzer: {booster.display_name}\nSeit: {booster.premium_since.strftime('%d.%m.%Y %H:%M')} UTC", inline=False)

            else:
                embed = discord.Embed(title="Beste Booster", description="Es gibt derzeit keine Booster auf diesem Server.", color=discord.Color.gold())

                await ctx.respond(embed=embed)

def setup(bot):
    bot.add_cog(Base(bot))```
mental hamlet
#

schau dir mal die einrückung an 😉

ruby sparrow
mental hamlet
urban glen
ruby sparrow
urban glen
#

Lies den text
Dann verstehst du es

#

Das nennt man auch Grundlagen 😉

ruby sparrow
mental hamlet
urban glen
restive herald
ruby sparrow
fierce dove
#

Wie kann man im Slash command eine Option erstellen

restive herald
#
            else:
                embed = discord.Embed(title="Beste Booster", description="Es gibt derzeit keine Booster auf diesem Server.", color=discord.Color.gold())

                await ctx.respond(embed=embed)

muss einmal nach links, würde btw. das embed Keine Booster statt Beste Boosternennen.

fierce dove
#

In cog

mental hamlet
#

👀

restive herald
#

Du kannst auch hinzufügen, dass man nur bestimmte Sachen auswählen kann.

fierce dove
#

Ich meine @option wie geht das

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @fierce dove, du bist jetzt Level 7 🎉

Du hast insgesamt 228 Nachrichten geschrieben.

restive herald
urban glen
#
import discord
from discord.ext import commands
from discord.commands import slash_command


class Base(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @slash_command(description="zeig dir alle booster an!")
    async def booster(self, ctx):
        server = ctx.guild
        boosters = [member for member in server.members if member.premium_since is not None]
        boosters = sorted(boosters, key=lambda member: member.premium_since, reverse=True)

        if boosters:
            embed = discord.Embed(title="Beste Booster", description="Hier sind die besten Booster des Servers:", color=discord.Color.gold())
            for index, booster in enumerate(boosters):
                embed.add_field(name=f"Booster #{index+1}", value=f"Benutzer: {booster.display_name}\nSeit: {booster.premium_since.strftime('%d.%m.%Y %H:%M')} UTC", inline=False)

        else:
            embed = discord.Embed(title="Beste Booster", description="Es gibt derzeit keine Booster auf diesem Server.", color=discord.Color.gold())
        await ctx.respond(embed=embed)

def setup(bot):
    bot.add_cog(Base(bot))
fierce dove
#

Unter Slash command kann Man doch auch eine Option fest legen aber mit @option galube ich

mental hamlet
#

bringt hier ja aber nix

#

er will keine options

fierce dove
#

Was

restive herald
urban glen
urban glen
fierce dove
#

Warum

urban glen
#

Weil es unkomplizierter und übersichtlicher ist, meiner Meinung nach.

mental hamlet
restive herald
urban glen
#

@limpid wolf will dir helfen

tawdry leaf
urban glen
limpid wolf
#

Oha

restive herald
limpid wolf
#

ich soll helfen und dann lucky schneller

#

frech

urban glen
restive herald
mental hamlet
mental hamlet
limpid wolf
#

Ich würde @option nutzen ist cleaner

tawdry leaf
limpid wolf
#

hab aber in alten codes auch noch ohne

mental hamlet
urban glen
solid ingot
#

ich auch nicht, trotzdem ist @option wegen typehinting meist besser

restive herald
#

@obtuse magnet kannst hier schreiben

fierce dove
restive herald
#

@obtuse magnet

tawdry leaf
#

wo ist denn der command

tawdry leaf
#

aber nicht gesendet?

#

kein error?

urban glen
#

Warum machst du interaction.channel.send?

#

Damit sendest du nh nachricht, aber du musst auch responden

#

Bruder du nennst dich "want a Bot? DM ME!^^" aber verstehst nd was du machst

#

Du musst reponden

#
        try:
            embed = discord.Embed(
                title=titel,
                description=description,
                color=int(color, 16))
            if thumbnail != None:
                embed.set_thumbnail(url=thumbnail)
            if footer != None:
                embed.set_footer(text=footer)
            await interaction.response.send_message(embed=embed)
        except Exception as e:
            embed = discord.Embed(
                title="**`❌` | Fehler**",
                description=f"> Bitte überprüfe deine Eingabe!",
                color=0x2B2D31
            )
            print(e)

            embed.set_footer(text="©️ | Sky🚀 | All rights reserved.", icon_url=self.bot.user.avatar.url)
            await interaction.response.send_message(embed=embed)
solid ingot
urban glen
#

ja sorry, regt mich nur bisschen auf das der sich so nennt wie ich, aber nichtmal versteht, was man ihm erklärt
Hab meinen Namen ja auch wieder entfernt, weil mich das aufgeregt hat

tawdry leaf
#

discord.ui.TextInput wenn ich micht nicht täusche und nicht InputText

urban glen
tawdry leaf
#

wieso muss man?

#

ist doch des selbe wie channel.send?

#

also bei mir geht es auch ohne response

urban glen
tawdry leaf
#

interaction.channel auch xD

urban glen
urban glen
tawdry leaf
#

ist wie channel xD

urban glen
#

Nein, interaction.response ist nicht wie interaction.send

tawdry leaf
#

das habe ich nicht gesagt

urban glen
#

Funktioniert bei euch Github Copilot?

#

Ja

#

Also bei mir hab ich grad mit interacton.channel gemacht, und es funktioniert bei mir nicht

#

Idk maybe unterscheidet es sich da bei nextcord und bei py-cord

tawdry leaf
#

also interaction.channel.send geht bei mir genauso wie channel.send 🙂

urban glen
#

Hast du auch InputText zu TextInput geändert?

tawdry leaf
#

musst aber

fierce dove
#

Was heißt der error

#

@solid ingot

tawdry leaf
#

nicht immer pingen

fierce dove
#

Ok

tawdry leaf
fierce dove
urban glen
#

@tawdry leaf InputText ist in py-cord richtig

tawdry leaf
#

achso xD

urban glen
#

Ist das bei dir nicht immer so?

#

Doch?

tawdry leaf
#

bekommst errors

urban glen
#

Bin nicht sicher, aber irgendwer meinte mal, dass der callback vom Modal "callback" heißen muss

#

Liegt maybe daran, aber weiß nicht genau

tawdry leaf
#

ich habe on_submit bei modals

urban glen
#

Wie geagt, hat einer mal zu mir gesagt im call, aber idk

old hollow
#

Habe bei Kekshosting jetzt drei Datein:

database.db
main.py
requirements.txt

fehlt da noch was?

urban glen
#

Was sollte da denn noch fehlen?

ruby sparrow
#
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "c:\Users\Rysii\OneDrive\Desktop\Panda Moderation bot\cogs\info.py", line 21, in info
    await ctx.respond(embed=embed)
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\context.py", line 282, in respond
    return await self.interaction.response.send_message(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\interactions.py", line 825, in send_message
    await self._locked_response(
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\interactions.py", line 1090, in _locked_response
    await coro
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\webhook\async_.py", line 219, in request
    raise NotFound(response, data)
discord.errors.NotFound: 404 Not Found (error code: 10062): Unknown interaction```
#
import discord 
from discord.ext import commands
from discord.commands import slash_command


class info(commands.Cog):
    def __init__(self, bot):
        self.bot = bot


    @slash_command(description="zeig dir info über dem bot an !🐼")
    async def info(self,ctx):
        embed = discord.Embed(title= "Bot-Infomationen", description="Ich bin nur zur Moderation hier, tun Sie einfach /help", color=discord.Color.red())
        embed.set_author(name= self.bot.user.name, icon_url=self.bot.user.avatar.url)
        embed.add_field(name="Entwickler", value="ama#0999", inline=False)
        embed.add_field(name="py-cord verson", value="Pycord 2.4.1",inline=False)
        embed.add_field(name="Server", value=f"Der Bot befindet sich auf {len(self.bot.guilds)} Servern",inline=False)
        embed.set_footer(text="© 2023 Panda Moderation bot. Alle Rechte vorbehalten.")


        await ctx.respond(embed=embed)



def setup(bot):
    bot.add_cog(info(bot))```
ruby sparrow
restive herald
old hollow
urban tiger
#

In deinem Fehler steht doch genau beschrieben was der Fehler ist.

#

Du verwendest 5 aber es werden nur 4 angegeben

tawdry leaf
#

Kann man ein slash commands machen bei den eine Option ist die nur bei bestimmten Personen da ist

Also ein command den jeder benutzen kann aber eine Option. Die nur für die mit der Berechtigung zu sehen ist

solid ingot
#

hmmm nicht wirklich, du könntest höchstens bei autocomplate für jeden User andere Sachen anzeigen

dry coyote
#

Moin Moin, ich folge gerade dem Discordbot Tutorial auf Youtube von Codingkeks, Bei PArt 3 geht er auf die slashcommands ein, jedoch funktionieren die trotz identischem Code bei mir nicht so wirklich mit der folgenden Fehlermeldung:

Ignoring exception in command greet:
Traceback (most recent call last):
  File "C:\Users\Kalle\PycharmProjects\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Kalle\PycharmProjects\Lib\site-packages\discord\commands\core.py", line 982, in _invoke
    await self.callback(ctx, **kwargs)
  File "C:\Users\Kalle\PycharmProjects\Discordbot Test1\main.py", line 36, in greet
    await ctx.respond(f"Hallo {user.mention}")
  File "C:\Users\Kalle\PycharmProjects\Lib\site-packages\discord\commands\context.py", line 282, in respond
    return await self.interaction.response.send_message(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Kalle\PycharmProjects\Lib\site-packages\discord\interactions.py", line 825, in send_message
    await self._locked_response(
  File "C:\Users\Kalle\PycharmProjects\Lib\site-packages\discord\interactions.py", line 1090, in _locked_response
    await coro
  File "C:\Users\Kalle\PycharmProjects\Lib\site-packages\discord\webhook\async_.py", line 221, in request
    raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In name: Username cannot contain "discord"

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\Kalle\PycharmProjects\Lib\site-packages\discord\bot.py", line 1114, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "C:\Users\Kalle\PycharmProjects\Lib\site-packages\discord\commands\core.py", line 375, in invoke
    await injected(ctx)
  File "C:\Users\Kalle\PycharmProjects\Lib\site-packages\discord\commands\core.py", line 132, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In name: Username cannot contain "discord"

optisch äußert es sich auf discord so, dass der bot mir anzeigt, dass der command genutzt wurde, aber er keinen text ausgibt

Kann mir da einer weiterhelfen wo das problem ist?

novel ore
#

Kannst du bitte mal denn code schicken!

dry coyote
#
import discord
from discord.commands import Option

token = ""

intent = discord.Intents.default()
intent.message_content = True

bot = discord.Bot(
    intents=intent,
    debug_guilds=[hier steht mein server]
)


@bot.event
async def on_ready():
    print(f"Der Bot {bot.user} ist online")

@bot.slash_command(description="Grüße einen User")
async def greet(ctx, user: Option(discord.Member, "Der User den du grüßen möchtest")):
    await ctx.respond(f"Hallo {user.mention}")


bot.run(token)
limpid wolf
#

Wie heißt der Bot?

novel ore
#

Hat der Bot auxh Rechte nachrixhten zu senden

dry coyote
#

der heißt Test1

#

bot ist admin

novel ore
#

Hast du noch mehr beim Bot gecodet oder nur das

dry coyote
#

nein aktuell läuft da nur das geschriebene, weil ich mit den Bots neu anfangen will, hatte vor paar jahren ma ein paar spielereien, aber die sind alle schon inaktiv

solid ingot
#

sehr interessanter Fehler, wie heißt denn der User der gegrüßt wird?

novel ore
#

Soweit ich das verstehe

dry coyote
#

ich glaube auch dass es was mit ctx oder so zu tun hat, die vorherigen schritte haben ja alle normal funktioniert so wie sie es auch sollten

iron apex
#

habe mal eine frage und zwar hab ich einen string welchen ich im embed ausgeben will , jedoch wird das erste element nicht im embed angezeigt

#

standart wird "verschlungen"

solid ingot
#

Versuch Mal ein \n nach den 3 codeblock Zeichen einzufügen

iron apex
#

okay habs

iron apex
solid ingot
#

super

solid ingot
dry coyote
#

okay

#

nope, immernoch keine änderung

#

jz is es sogar schlimmer geworden, jz heißt es bei discord Ungültiger Befehl für Interaktions-Anwendung

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @dry coyote, du bist jetzt Level 2 🎉

Du hast insgesamt 10 Nachrichten geschrieben.

Du hast <@&1042123300970696705> erhalten!

dry coyote
#

dafür jedoch keine fehlermeldung mehr bei pycharm

#

ich korrigiere hab den befehl neu und nich aus der zwischenablage genommen dann ist es wieder beim alten fehler

solid ingot
#

sehr komisch. Versuch es Mal mit einem komplett anderen bot

dry coyote
#

also quasi tutorial von neu starten mit der ganzen einrichtung?

solid ingot
#

nein nein, nur einen neuen bot im Developer Portal erstellen

dry coyote
#

okay

solid ingot
#

ansonsten Versuch Mal deine debug_guilds zu entfernen und somit die Commands global zu machen. sonst hätte ich aber auch keine Idee mehr

dry coyote
#

also beim neuen tritt das selbe ein, ohne die guilds reagiert er scheinbar gar nicht mehr

#

darf ich mal ein bild schicken wie das auf discord aussieht?

solid ingot
#

klar

dry coyote
#

auch dass mal mein und dann mal wieder das bild vom bot zu sehen ist ist ungewöhnlich

tall gorge
#

Ich wollte wenn der Bot einen neuen Server in den Hauptchat geschickt wird, ich habe das jetztso gelöst, dass die nachricht in den channel mit den meisten nachrichten verschickt wird, geht das auch noch besser?

Code: ```py
@commands.Cog.listener()
async def on_guild_join(self, guild):

    channel_message_count = {}

    for channel in guild.channels:
        if isinstance(channel, discord.TextChannel):
            messages = await channel.history(limit=None).flatten()
            channel_message_count[channel.id] = len(messages)

    most_messages_channel_id = max(channel_message_count, key=channel_message_count.get)
    most_messages_channel = self.bot.get_channel(most_messages_channel_id)
    embed=discord.Embed(......)

    await most_messages_channel.send(embed=embed)```
#

also das es genauer ist

solid ingot
#

hm schwierige Aufgabe. mit dem Message Count findet man leider nicht immer den Hauptchat, auch weil man nicht unendlich viele Nachrichten fetchen kann. du könntest guild.system_channel nutzen, aber das ist auch nicht immer der Hauptchat, sondern halt da wo die Welcome messages reingesendet werden

tall gorge
#

ok schade

#

dann lasse ich es halt so, ist wahrscheinlich besser als guild.system_channel weil viele das auch für die booster benutzen

dry coyote
#

Habe jetzt auch mal den zweiten slashcommand "say" ausprobiert, der Bot schickt seine nachricht, aber sobald ich wieder das ctx.respond in den code mit einbringe kommt die fehlermeldung, trotz dass der bot die nachricht sendet. also liegt das problem definitiv bei dem ctx.respond

dry coyote
#

jap

urban glen
#

hm ok

#

zeig mal dein code und den error bitte

urban glen
#

Wie heißt der User den du begrüßen willst?

dry coyote
#

der wird ja per dropdown liste gewählt, ist enweder der bot "Test1" oder ich "derkxllx" bzw Kalle

urban glen
#

Könntest du mal pip freeze in deiner Konsole machen und davon ein bild schicken

dry coyote
#

jap

urban glen
#

hm keine ahnung mehr tut mir leid

#

maybe probier mal py-cord neu zu installieren aber sonst keine ahnung

dry coyote
#

okay

#

ändert leider auch nix daran, dass der auf keine Nachrichten reagieren will

solid ingot
#

ja

#

await interaction.response.defer() glaub ich

dry coyote
#

funktioniert denn bei euch ctx.respond()? muss ich vllt bei dem bot, der application oder dem server iwelche besonderen einstellungen bereitstellen oder iwo haken setzen?

solid ingot
#

eigentlich nicht nein, ctx.respond ist richtig

#

deinen Error habe ich noch nie gesehen

dry coyote
#

okay... und kann das problem vielleicht in user: Option(discord.Member, sein?

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @dry coyote, du bist jetzt Level 3 🎉

Du hast insgesamt 28 Nachrichten geschrieben.

dry coyote
#

weil der beschwert sich ja dass iwas mit dem username ned hinhaut

solid ingot
#

du könntest Mal versuchen einen Slash Command ohne User zu machen

#

damit sollte aber eigentlich der bot Username gemeint sein

dry coyote
#

bei @bot.slash_command(description="Grüße einen User") async def greet(ctx): await ctx.respond("Hallo") kommt nur "Dieser Befehl ist veraltet, bitte versuche es in einigen Minuten erneut." auf discord

#

okay update: habe die application umbenannt die heißt jz kürzer au nur test1 so wie der bot, auf den /say reagiert er jetzt wie er es soll, aber bei dem greet schreibt er es wäre ein veralteter Befehl

#

Das heißt das eigentliche Problem lag in dem Namen der application.... jz bleit nur warum der greet jetzt veraltet sein soll

#

okay das hat sich grad auch selber behoben what

#

Danke an alle die Mitgeholfen habengivecookie

solid ingot
#

freut mich dass es jetzt klappt. das mit dem veralteten Befehl kommt manchmal wenn man Änderungen am Command gemacht hat, und den alten Command dann nochmal ausführt, das kann aber meist schnell behoben werden

solid ingot
dry coyote
#

aso okay, das erklärt warum es sich von selber gelöst hat

#

DIscordbot Test1

dass da discord drin steckte wurde mir durch zufall wieder bewusst, aber hab ich ned dran gedacht weil ja noch "bot" dahinter steht

#

merke, es darf auch keine wortverbindung mit discord im appnamen stehen, weider was dazu gelernt

solid ingot
#

da kommt keine time rein, sondern ein eine datetime

solid ingot
#

statt time.time kannst du zB discord.utils.utcnow() schreiben

urban glen
#

Lass doch mal dieses "hä?" sein, und stell deine Frage(das was du nicht verstehst) lieber direkt

solid ingot
#

@urban glen @urban glen ist gut jetzt. man kann fragen genauer formulieren als "hä", aber AFC muss natürlich aufhören hier Leute als dumm oder faul zu bezeichnen

urban glen
solid ingot
restive herald
#

Traceback (most recent call last):
File "/Users/konjarehm/PycharmProjects/toolsdcbo/venv/lib/python3.10/site-packages/discord/cog.py", line 774, in _load_from_module_spec
spec.loader.exec_module(lib) # type: ignore
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/Users/konjarehm/PycharmProjects/toolsdcbo/cogs/giveaway.py", line 9, in <module>
class Giveaway(commands.Cog):
File "/Users/konjarehm/PycharmProjects/toolsdcbo/cogs/giveaway.py", line 55, in Giveaway
@giveaway.command(description="End a giveaway")
AttributeError: 'SlashCommand' object has no attribute 'command'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/Users/konjarehm/PycharmProjects/toolsdcbo/main.py", line 27, in <module>
bot.load_extension(f"cogs.{filename[:-3]}")
File "/Users/konjarehm/PycharmProjects/toolsdcbo/venv/lib/python3.10/site-packages/discord/cog.py", line 910, in load_extension
self._load_from_module_spec(spec, name)
File "/Users/konjarehm/PycharmProjects/toolsdcbo/venv/lib/python3.10/site-packages/discord/cog.py", line 777, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.giveaway' raised an error: AttributeError: 'SlashCommand' object has no attribute 'command'

Jmd ne Idee was das heißt?

#

bzw. wie ich das fixe

tawdry leaf
#

code?

tall gorge
restive herald
#

Habs jtzt gefixt, lag why auch immer an der SlashCommandGroup

ruby sparrow
#

kann wer helfen in #1116757472892436500

ruby sparrow
#

kann wer helfen mit Contabo ?

#

@solid ingot was für sam

urban glen
ruby sparrow
#

aber die anworden nicht

urban glen
#

warten

#

CODE AND ERROR

#

und um welchen davon geht es?

ruby sparrow
urban glen
#

woher soll ich das wissen

elfin bolt
#

Hey, weiß einer wie das mit dem Hosting geht?
Also Account etc. habe ich schon.

urban glen
#

Ja

elfin bolt
urban glen
#

Was wie?

#

Du hast keine Frage gestellt, wo dir jeman bei helfen kann

#

Du hast nur gefragt, ob jemand weiß wie das geht

#

Aber was genau, hast du nd gesagt

elfin bolt
elfin bolt
urban glen
elfin bolt
#

Mache ich die ganze Zeit.

urban glen
elfin bolt
urban glen
#

Ohne den Output kann ich dir nicht groß helfen

elfin bolt
urban glen
elfin bolt
urban glen
#

Junge, jetzt schick doch endlich deinen Sche*ß Console Output.
ZUM 3TEN MAL

elfin bolt
# urban glen Junge, jetzt schick doch endlich deinen Sche*ß Console Output. ZUM 3TEN MAL

hier:

Python 3.10.11
:/home/container$ if [[ -d .git ]] && [[ "${AUTO_UPDATE}" == "1" ]]; then git pull; fi; if [[ ! -z "${PY_PACKAGES}" ]]; then pip install -U --prefix .local ${PY_PACKAGES}; fi; if [[ -f /home/container/${REQUIREMENTS_FILE} ]]; then pip install -U --prefix .local -r ${REQUIREMENTS_FILE}; fi; /usr/local/bin/python /home/container/${PY_FILE}
Traceback (most recent call last):
  File "/home/container/main.py", line 1, in <module>
    import discord
ModuleNotFoundError: No module named 'discord'
urban glen
#

Siehst du, damit können wir doch was Anfangen.

Hast du eine requirements.txt in deinen Dateien?

Wenn nein, dann erstell bitte eine und gib dort alle libraries an, die du nutzt

#

Hier stehst genauer beschrieben

elfin bolt
urban glen
urban glen
elfin bolt
urban glen
#

👌

elfin bolt
upper adder
#

Kann ein Bot eine Nachricht in ein geschlossenen (evtl. auch gelockten) Post senden?

solid ingot
#

@elfin bolt falls hier nochmal jemand so unfreundlich zu dir im Help kanal ist, mach gerne ein Ticket auf. wir gehen gegen sowas vor

solid ingot
upper adder
#

ah okay 👍

solid ingot
#

doch sollte gehen

elfin bolt
#

Hey, ich habe ein Problem beim Hosting

#

Da kommt immer eine Fehler Meldung.

#
Traceback (most recent call last):
  File "/home/container/main.py", line 27, in <module>
    bot.load_cogs(subdirectories=True)
  File "/home/container/.local/lib/python3.10/site-packages/ezcord/bot.py", line 204, in load_cogs
    for filename in os.listdir(directory):
FileNotFoundError: [Errno 2] No such file or directory: 'cogs'
solid ingot
#

kannst du Mal einen Screenshot von den Dateien beim hosting schicken?

fierce dove
#

cogs folder vergessen

elfin bolt
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @elfin bolt, du bist jetzt Level 4 🎉

Du hast insgesamt 67 Nachrichten geschrieben.

elfin bolt
fierce dove
#

Wo

#

Bild

elfin bolt
ruby sparrow
#

bitte

elfin bolt
elfin bolt
urban glen
#

Ne

elfin bolt
#

Wenn ich da auf Öffnen drücke ist dort drine base

urban glen
#

Ne

#

Ne

elfin bolt
ruby sparrow
urban glen
#

Mir ist lw

fierce dove
elfin bolt
urban glen
#

Brauche Hilfe

ruby sparrow
ruby sparrow
elfin bolt
urban glen
# ruby sparrow Mit was

Ich bin leider heute nicht mehr da und ich bin jetzt schon los und ich bin jetzt schon los und bin gerade auf der Couch ich liebe mein Zimmer mit dem ich die Küche habe und dann ist es auch wieder ein paar Minuten zu Ende zu gehen und dann haben die die

ruby sparrow
elfin bolt
# ruby sparrow Ja

Ja, habe ich, die Datein die da drinne sind, sind bereits im Dashboard drinne.

ruby sparrow
elfin bolt
urban glen
ruby sparrow
urban glen
solid ingot
#

im Grunde wie du's auf deinem PC hast

elfin bolt
urban glen
solid ingot
#

@urban glen wenn du keine Hilfe brauchst, schreib in einem anderen chat

novel ore
#

Timo kannst du mir nochmaal heelfen mit der Zeitseit wann der Bot online ist also vor wievielen stunden/tagen

solid ingot
urban glen
#

Da gebe ich dir recht

novel ore
#

ich weiß nciht wie ich anfangen soll

umbral goblet
elfin bolt
# solid ingot du musst nicht nur die Dateien aus dem cogs ordner hochladen, sondern du musst I...

Habe ich jetzt gemacht jetzt kommt ein Fehler

[ERROR] Error while executing /play 
Traceback (most recent call last):
  File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 124, in wrapped
    ret = await coro(arg)
  File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "/home/container/cogs/base.py", line 19, in play
    await ctx.author.voice.channel.connect()  # Bot ist in keinem Voice Channel
  File "/home/container/.local/lib/python3.10/site-packages/discord/abc.py", line 1934, in connect
    voice = cls(client, self)
  File "/home/container/.local/lib/python3.10/site-packages/discord/voice_client.py", line 233, in __init__
    raise RuntimeError("PyNaCl library needed in order to use voice")
RuntimeError: PyNaCl library needed in order to use voice
umbral goblet
#

du brauchst die PyNaCl lybrarie

elfin bolt
umbral goblet
#

keine ahnung xD

elfin bolt
umbral goblet
#

du hast den code geschrieben nicht ich

#

aber es steht dort

solid ingot
#

das musst du in die requirements Datei schreiben

burnt prairieBOT
#

Mein Discord Server
https://discord.gg/zfvbjTEzv6

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot

PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discord.gg/pycord

Discord Developer Portal ► https://discord...

▶ Play video
elfin bolt
elfin bolt
burnt prairieBOT
#

Mein Discord Server
https://discord.gg/zfvbjTEzv6

Links aus diesem Video
FFMPEG ► https://ffmpeg.org/download.html
I Love Radio ► https://ilovemusic.de/streams

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot

PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https://guide....

▶ Play video
solid ingot
umbral goblet
#

hast du es richtig geschrieben /gespeichert

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @umbral goblet, du bist jetzt Level 23 🎉

Du hast insgesamt 2,722 Nachrichten geschrieben.

elfin bolt
#

Um es zu testen

novel ore
solid ingot
elfin bolt
# solid ingot schick Mal deine requirements datei

das hier ist jetzt irgendwie der Fehler

  /usr/local/lib/python3.10/site-packages/setuptools/dist.py:286: SetuptoolsDeprecationWarning: The namespace_packages parameter is deprecated, consider using implicit namespaces instead (PEP 420).
        warnings.warn(msg, SetuptoolsDeprecationWarning)
      error in Cogs setup command: use_2to3 is invalid.
fierce dove
#

Warum cogs dort drin

elfin bolt
umbral goblet
#

ja aber ich nciht

elfin bolt
#

Soll das raus?

fierce dove
fierce dove
umbral goblet
novel ore
#

@solid ingot wird blockiert kannst mal schauen warum?

elfin bolt
solid ingot
elfin bolt
solid ingot
#

ah wurde schon gesagt sorry

elfin bolt
#

Alles gut

solid ingot
#

invite link

novel ore
#

ups

#
class Info(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.start_time = datetime.datetime.now()

    @slash_command(description="🎲 × Erhalte Informationen zu dem Bot Phoenix")
    async def about(self, ctx):
        uptime_formatted = f"<t:{int(self.start_time.timestamp())}:R>"
        embed = discord.Embed(
            title="INFORMATIONEN ZUM BOT",
            description=f"{info_emoji} Hier erhällst du Informationen zum Bot",
            color=COLOR,
        )
        embed.add_field(
            name="Pycord Version",
            value=f"{discord.__version__}",
        )
        embed.add_field(name="Anzahl der User", value=f"{len(self.bot.users)} Usern")
        embed.add_field(
            name="Anzahl der Server", value=f"{len(self.bot.guilds)} Servern"
        )
        embed.add_field(
            name="Developer vom Bot",
            value=f"@novel ore × Owner & Developer\n @severe citrus × Co-Owner & Developer\n @mental hamlet × Developer",
        )
        embed.add_field(
            name="Bot online seit:",
            value=f"{uptime_formatted}",
        )
        embed.add_field(
            name="Der Ping vom Bot", value=f"{round(self.bot.latency * 1000)}ms"
        )
        button = discord.ui.Button(
            label="Link", url="h", emoji=flieger_emoji
        )
        view = View()
        view.add_item(button)
        embed.timestamp = datetime.datetime.now()
        await ctx.respond(embed=embed, view=view)
#

so

elfin bolt
#

Hat Funksoniert, Danke sehr an allen, die mir gehollfen haben 🙂

fierce dove
#

Bitte

elfin bolt
novel ore
#

@solid ingot

solid ingot
#

ah stimmt ich hab viel das viel zu kompliziert erklärt

#

man braucht nur die Start time, ich hab das so ähnlich wie du

#

discord.utils.format_dt(self.start_time, 'R')

novel ore
#

aber past so meins oder kann es da zu fehler kommen

solid ingot
#

wenn's so funktioniert dann ist es gut

novel ore
#

ja dnek mal

#

Weiß jemand wie man in VSC merhere Zeilen auf einemal ausdokumentieren kann mit //

solid ingot
#

nicht mit #?

novel ore
novel ore
#
Traceback (most recent call last):
  File "/home/container/main.py", line 5, in <module>
    import ezcord
  File "/home/container/.local/lib/python3.10/site-packages/ezcord/__init__.py", line 7, in <module>
    from .bot import Bot, BridgeBot, PrefixBot
  File "/home/container/.local/lib/python3.10/site-packages/ezcord/bot.py", line 10, in <module>
    from discord.ext import bridge, commands
  File "/home/container/.local/lib/python3.10/site-packages/discord/ext/bridge/__init__.py", line 26, in <module>
    from .bot import *
  File "/home/container/.local/lib/python3.10/site-packages/discord/ext/bridge/bot.py", line 34, in <module>
    from .context import BridgeApplicationContext, BridgeExtContext
  File "/home/container/.local/lib/python3.10/site-packages/discord/ext/bridge/context.py", line 30, in <module>
    from discord.commands import ApplicationContext
  File "/home/container/.local/lib/python3.10/site-packages/discord/commands/__init__.py", line 27, in <module>
    from .core import *
  File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 49, in <module>
    from ..enums import MessageType, SlashCommandOptionType, try_enum
ImportError: cannot import name 'SlashCommandOptionType' from 'discord.enums' (/home/container/.local/lib/python3.10/site-packages/discord/enums.py)
container@pterodactyl~ Server marked as offline...
[Pterodactyl Daemon]: ---------- Detected server process in a crashed state! ----------
[Pterodactyl Daemon]: Exit code: 1
[Pterodactyl Daemon]: Out of memory: false
[Pterodactyl Daemon]: Checking server disk space usage, this could take a few seconds...
[Pterodactyl Daemon]: Updating process configuration files...
[Pterodactyl Daemon]: Ensuring file permissions are set correctly, this could take a few seconds...
container@pterodactyl~ Server marked as starting...
[Pterodactyl Daemon]: Pulling Docker container image, this could take a few minutes to complete...
[Pterodactyl Daemon]: Finished pulling Docker container image
#

Was bedeutet dieser Error
entsteht beim Bot staten beim hoster

#

@solid ingot sorry aber ist der öffentlcihe Bot

urban tiger
novel ore
#

naja in der requirements.txt steht ezcord

solid ingot
#

schick Mal deine requirements datei

novel ore
#

py-cord==2.3.2
pymysql==1.0.2
pytz==2021.3
asyncio==3.4.3
django-commands
charset-normalizer
python-dotenv
aiosqlite
easy-pil
PyNaCl
ezcord

urban tiger
novel ore
#

aber jetzt geht es wieder

urban tiger
novel ore
#

aber das topgg muss ich am main Bot testen weil der TEstBot ist ja nicht auf Top.gg

#

oder kann man das auch anderst machen

urban tiger
#

Ich kenne die Richtlinien von top.gg nicht.
Eventuell lässt sich auch ein Test Bot auf top.gg hochladen, um das zu testen.

Aber da würde ich lieber nochmal die Richtlinien lesen.

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @urban tiger, du bist jetzt Level 3 🎉

Du hast insgesamt 26 Nachrichten geschrieben.

restive herald
#

Weiß jmd zufällig, was für ein Message-Typ die message is die gesendet wird wenn nen cmd ausgeführt wird?

urban tiger
novel ore
urban tiger
novel ore
#
cannot import name 'SlashCommandOptionType' from 'discord.enums' (C:\Users\Basti\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\enums.py)
  File "C:\Users\Basti\Documents\Discord Bot\Öffentlicher Bot\Phoenix Test\main.py", line 5, in <module>
    import ezcord
ImportError: cannot import name 'SlashCommandOptionType' from 'discord.enums' (C:\Users\Basti\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\enums.py)
#

der error kommt am start kann es sein das topgg sich mit ezcord nicht verträgt

urban tiger
#

, um zu überprüfen, was genau der Fehler jetzt ist.

novel ore
#

bin dabei was heißt das hab ich einen rechtschreibfehler

urban tiger
#

Naja da steht es ja, discord hat nicht das attribute bot

tall gorge
#

sieht nach einem installationsfehler aus

tall gorge
novel ore
#

hab py-cord mal deinsterliert und installiert jetzt geht eis weiter zum nächsten error xD

tall gorge
#

was für ein error?

novel ore
novel ore
tall gorge
#

fehlt glaube ich await

novel ore
#

ne

#

denk nicht

tall gorge
#

dann weiß ich es auch nicht

novel ore
#

ok

solemn musk
#
  File "/home/xquizt/.local/lib/python3.11/site-packages/discord/cog.py", line 774, in _load_from_module_spec
    spec.loader.exec_module(lib)  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/xquizt/coding/python/ezcord-bot/cogs/WelcomeSystem.py", line 15, in <module>
    class Join(commands.Cog):
  File "/home/xquizt/coding/python/ezcord-bot/cogs/WelcomeSystem.py", line 21, in Join
    @commands.Cog.listener
     ^^^^^^^^^^^^^^^^^^^^^
  File "/home/xquizt/.local/lib/python3.11/site-packages/discord/cog.py", line 400, in listener
    raise TypeError(
TypeError: Cog.listener expected str but received 'function' instead.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/xquizt/coding/python/ezcord-bot/main.py", line 17, in <module>
    bot.load_cogs("cogs")  # Load all cogs in the "cogs" folder
    ^^^^^^^^^^^^^^^^^^^^^
  File "/home/xquizt/.local/lib/python3.11/site-packages/ezcord/bot.py", line 207, in load_cogs
    self.load_extension(f"{'.'.join(path.parts)}.{name}")
  File "/home/xquizt/.local/lib/python3.11/site-packages/discord/cog.py", line 910, in load_extension
    self._load_from_module_spec(spec, name)
  File "/home/xquizt/.local/lib/python3.11/site-packages/discord/cog.py", line 777, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.WelcomeSystem' raised an error: TypeError: Cog.listener expected str but received 'function' instead.
urban tiger
ruby sparrow
ruby sparrow
#

kann wer helfen in #1116978794155233280

novel ore
#

Kann mir jemand sagen was hier nicht passt. Ist in der main.py

ruby sparrow
#
import discord
from discord.ext import commands

class WelcomeSystem(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @commands.Cog.listener()
    async def on_member_join(self, member):
        channel = discord.utils.get(member.guild.channels, name="👋・joins-leaves") 
        if channel is not None:
            embed = discord.Embed(title=f"Willkommen, {member.name}!", description="Wir freuen uns, dass du unserem Server beigetreten bist.", color=discord.Color.green())
            embed.set_thumbnail(url=member.avatar.url)
            embed.add_field(name="Regeln", value="Bitte lies dir die Regeln durch.", inline=False)
            embed.add_field(name="verify", value="Bitte verify Sie dies auf unserem Discord-Server", inline=False)
            embed.set_footer(text=f"{guild.name}", icon_url=f"{guild.icon.url}")
            embed.set_thumbnail(url=guild.icon.url)
            embed.set_image(url="https://media.discordapp.net/attachments/1099078050114699421/1117017642914558052/willkommen.jpeg?width=426&height=133")
            embed.set_footer(text=f"Mitgliederzahl: {len(member.guild.members)}")
            await channel.send(embed=embed)

    @commands.Cog.listener()
    async def on_member_leave(self, member):
        channel = discord.utils.get(member.guild.channels, name="👋・joins-leaves") 
        if channel is not None:
            embed = discord.Embed(title=f"Goodbye, {member.name}!", description="Schade, dass du uns verlassen hast.", color=discord.Color.red())
            embed.set_thumbnail(url=member.avatar_url)
            embed.set_footer(text=f"Mitgliederzahl: {len(member.guild.members)}")
            await channel.send(embed=embed)

def setup(bot):
    bot.add_cog(WelcomeSystem(bot))```
#
Traceback (most recent call last):
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\client.py", line 378, in _run_event
    await coro(*args, **kwargs)
  File "c:\Users\Rysii\OneDrive\Desktop\Panda Bot\cogs\WelcomeSystem.py", line 16, in on_member_join
    embed.set_footer(text=f"{guild.name}", icon_url=f"{guild.icon.url}")
                             ^^^^^
NameError: name 'guild' is not defined```
tall gorge
#

Steht doch dran, guild ist nicht definiert

ruby sparrow
#

#1117023652307808256 kann wer helfen

obtuse estuary
ruby sparrow
obtuse estuary
tough thicket
#

Tag, warum spielt der bot keine Musik ab?
ich habe ffmpeg und PyNaCl schon installiert. Hier mein Code:

import discord
from discord.ext import commands
from discord.commands import slash_command

class Base(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @slash_command(name="join", description='Lasse den Bot deinem Kanal beitreten und starte die Musik!')
    async def join(self, ctx):
        await ctx.author.voice.channel.connect()

        ctx.voice_client.play(
            discord.FFmpegPCMAudio("https://streams.ilovemusic.de/iloveradio1.mp3")
        )
        await ctx.respond("Das Radio wurde gestartet.")
#
PyNaCl==1.5.0
python-dotenv==0.21.0
tough thicket
solid ingot
#

kommt kein Error?

tough thicket
#

es kommt kein error komischerweise

solid ingot
#

der bin Ordner?

solid ingot
#

und starte evtl den PC neu

novel ore
#

kann wer mit diesem error was anfangen?

solemn musk
digital crypt
#

why ? from dotenv import load_dotenv
ModuleNotFoundError: No module named 'dotenv'
PS C:\Users\EliasFYHP\OneDrive\Desktop\test bot>

urban glen
#

pip install dotenv

digital crypt
#

hab das schon

urban glen
#

pip uninstall dotenv

pip install dotenv

solid ingot
urban glen
#

ah, mein fehler

#

nutze kein dotenv

#

lol

digital crypt
#

geht drodzdem nicht

urban glen
digital crypt
#

ja hab das schon baer geht drodzdem nicht

urban glen
#

schick mal ein bild von deinem code

digital crypt
#

ne wenn schon vom error

urban glen
#

und mach mal pip freeze
und guck obs auch installiert ist

digital crypt
#

hab schon ist

urban glen
#

dann kann ich dir nicht helfen

#

bei mir klappts

digital crypt
#

jetzt

#

hab einfach mal neugestartet

twin slate
#

Hat jemand eine Idee wie ich gucken könnte ob ein User verschoben wird? Im moment mache ich das über den audit log, da werden sachen aber “gestackt” sodass da steht SHARK hat 4 Benutzer nach allgemein verschoben. Der erste eintrag davon ist dann mehr als 3 sekunden (meistens) her. Ich habe einen 3 sekunden check eingebaut damit die nachricht nicht kommt wenn man von sich aus von einem Warte channel in einen Support channel geht. Ich hoffe das ist verständlich genug

solid ingot
#

am besten machst du das über das on_voice_state_update event

tough thicket
solid ingot
#

dann wähl einen neuen aus

twin slate
tough thicket
solid ingot
tough thicket
solid ingot
solid ingot
# twin slate Beides

hm ja das musst du über den Audit Log machen. du checkst alle Events der letzten paar Sekunden, die den verschobenen User als target haben. anders geht es leider nicht

tough thicket
#

ah wait, passiert was

novel ore
#

kann damit jemand was anfange?

twin slate
#
        elif before.channel != None and before.channel.id == self.wartechannel_id and after.channel == None:
            channel = self.bot.get_channel(self.wartechannel_id)
            embed=discord.Embed(
              timestamp=discord.utils.utcnow(),
              title=f':Voice: Das Anliegen von {member.name} hat sich erledigt.',
              description=f'- **User:** {member.mention}\n- **ID:** {member.id}\n- **Server Beigetreten:** {discord.utils.format_dt(member.joined_at,style="R")}',
              color=0xf43e3e
            )            
            channel = self.bot.get_channel(self.teamchannel_id)
            await channel.send(embed=embed)
        elif before.channel != None and before.channel.id == self.wartechannel_id and after.channel.id != None and after.channel.id == self.supportchannel_id:
            await asyncio.sleep(1)
            async for entry in after.channel.guild.audit_logs(limit=1):
                joined_at = entry.created_at
                now = datetime.now(joined_at.tzinfo)
                time_difference = now - joined_at
                if str(entry.action) != 'AuditLogAction.member_move':
                    return
                if int(time_difference.seconds) >= 4:
                    return
                else:
#
                    channel = self.bot.get_channel(self.wartechannel_id)
                    embed=discord.Embed(
                        timestamp=discord.utils.utcnow(),
                        title=f":Voice: Das Anliegen von {member.name} wird von {entry.user.name} bearbeitet.",
                        description=f'- **User:** {member.mention}\n- **ID:** {member.id}\n- **Server Beigetreten:** {discord.utils.format_dt(member.joined_at,style="R")}\n- **Zeitpunkt:** {discord.utils.format_dt(discord.utils.utcnow(),style="R")}',
                        color=0xf43e3e
                    )
                    channel = self.bot.get_channel(self.teamchannel_id)
                    await channel.send(embed=embed)
novel ore
#

wie kann ich mir die zeit anzeigen lassen wie lange der Bot schon existiert

tall gorge
#

Hier ein Beispiel:```py
@bot.event
async def on_ready():
print('Bot is ready!')
bot.start_time = datetime.datetime.now()

@slash_command()
async def uptime(ctx):
current_time = datetime.datetime.now()
uptime = current_time - bot.start_time
await ctx.send(f"Der Bot ist seit {uptime} online.")```

novel ore
#

nein wann er erstellt wurde

#

das da steth wurde bor x tagen erstellt

tall gorge
#

achso

#

{bot.user.created_at}

#

oder für cog:
{self.bot.user.created_at}

#

Code:```py
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
from discord.ext.pages import Paginator, Page

class Command(commands.Cog):
def init(self, bot):
self.bot = bot

@slash_command(description="Lasse dir alle Commands anzeigen")
    
async def help(self,ctx):
    
    description = ""
    command_list = []
    pages = []
    
    for command in self.bot.commands:
        
        command_list.append((command.name, command.description or "Keine Beschreibung vorhanden"))

    
    for index,(command_name, command_desc) in enumerate(command_list):
        description += f"`{index + 1}` **{command_name}** - {command_desc}\n\n"
        

        if (index + 1) % 10 == 0:
            embed = discord.Embed(title="Bot-Befehle", description=description, color=discord.Color.blue())
            embed.set_thumbnail(url=self.bot.user.avatar.url)
            pages.append(embed)

    paginator = Paginator(pages=pages)
    await paginator.respond(ctx.interaction)

def setup(bot):
bot.add_cog(Command(bot))```
Es kommt kein Fehler aber es werden nicht alle commands angezeigt bzw ich kann nicht weiterblättern

dry coyote
#

Heyho, gibt es ein gegenstück zu on_ready? also quasi dass das event eintritt wenn der bot heruntergefahren wird? und falls ja ist das dann ähnlich aufzubauen oder doch komplexer?

ruby sparrow
dry coyote
#

man hat ja das on ready event bei dcbots async def on_ready(): und wenn der bot dann hochgefahren ist, passiert etwas, ich möchte wissen ob es sowas auch für das auschalten des Bots gibt

umbral goblet
#

nein aber man kann es auf andere weise lösen

dry coyote
#

ist die komplexer oder ähnlich aufgebaut?

umbral goblet
#

du kannst in der main datei nach bot.run das hinmachen was ausgeführt werden soll oder du machst ein try except um alles herum

dry coyote
#

ah okay, probiere ich mal, danke

#

auch mit @bot.event?

umbral goblet
#

ne glaub nicht

tawdry leaf
ruby sparrow
#
Traceback (most recent call last):
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "c:\Users\Rysii\OneDrive\Desktop\panda Fortnite bot\cogs\News.py", line 19, in news
    news_articles = data["data"]["motds"]
                    ~~~~~~~~~~~~^^^^^^^^^
KeyError: 'motds'
solid ingot
ruby sparrow
#

warum kommt das

restive herald
ruby sparrow
restive herald
# ruby sparrow

Hast halt eingestellt, dass wenn der Error requests.RequestExceptionkommt, das gesendet wird?

tawdry leaf
ruby sparrow
tawdry leaf
#

was ist denn hhttps

#

kenne nur https

ruby sparrow
#

Oh fuck denn hab ich mich verschrieben):

tawdry leaf
#

🙂

ruby sparrow
#

ja stimmt bin dumm

ruby sparrow
# tawdry leaf 🙂
await ctx.respond("Keine Fortnite-Nachrichten gefunden.")``` es kommt jerzt das
tawdry leaf
#

ist des jz ein Fehler oder normal?

upper adder
#

Nur mal so, denkt ihr das funktioniert? Will den Bot jetzt nicht 100x mal adden und removen nur um das zu testen 😅

class delete_data(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.databases = [
            ("server_config.db", "sv_conf", "sid"),
            ("tickets.db", "tickets", "server_id"),
            ("reports.db", "user_reports", "server_id"),
            ("reports.db", "msg_reports", "server_id")
        ]

    @commands.Cog.listener()
    async def on_guild_remove(self, guild: discord.Guild):

        for db_name, table_name, column_name in self.databases:
            try:
                async with aiosqlite.connect(db_name) as db:
                    await db.execute(f"DELETE FROM {table_name} WHERE {column_name} = ?", (guild.id,))
                    await db.commit()
            except aiosqlite.Error:
                pass
safe tendon
#

also ich würde denken es geht da er ja eig nur daten löscht und nichts komlexes

urban glen
#

Hallo, könnte mir jemand kurz helfen? Wenn ja meldet euch gerne per dm danke! (py-cord/Python)

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @hard pivot, du bist jetzt Level 3 🎉

Du hast insgesamt 28 Nachrichten geschrieben.

upper adder
hard pivot
upper adder
#

jo, mach ich 👍
Der test steht morgen sowieso an

hard pivot
#

ok danke

restive herald
#

würde dir empfehlen die user id da abzuspeichern und dann halt den user zu getten (ctx.guild.get_member(id))

safe tendon
#

ne ist ein bug

#

warten

old hollow
#

Gibt es irgendwo ein Video für #💻・cookie-hosting

restive herald
#

es gibt #💻・cookie-hosting

#

da is alles erklärt xd

old hollow
#

hab trotzdem noch Probleme

restive herald
#

welche denn?

urban glen
#

moin moin könnte mir eventuel kurtz jemand helfen?

old hollow
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @old hollow, du bist jetzt Level 4 🎉

Du hast insgesamt 50 Nachrichten geschrieben.

ruby sparrow
tall gorge
#

eine frage was bedeutet dieser fehler: Application Command raised an exception: ValueError: could not find open space for item

solid ingot
#

hast du vlt versucht mehr items hinzuzufügen als von Discord erlaubt sind?

solid ingot
#

Chat-Exporter funktioniert aktuell nicht mit dem pycord master Branch. du musst entweder auf das pycord Update warten oder pycord 2.4.1 nutzen

granite basalt
#

wie kann ich ephemeral messages bearbeiten?

solid ingot
#

mit Interaction.response.edit_message zum beispiel

urban glen
#

Das Problem ist das das in Zeile 2 irgendwie nicht funktioniert obwohl ich das genauso wie im Tutorial gemacht habe

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @jaunty void, du bist jetzt Level 3 🎉

Du hast insgesamt 31 Nachrichten geschrieben.

solid ingot
#

was bekommst du für einen Error?

tall gorge
solid ingot
#

das geht aktuell leider nicht

#

das Problem haben wir auch beim Keks Moderation bot

#

der Developer von Chat Exporter hat auch schon ein fix vorbereitet, aber das kann er halt erst veröffentlichen wenn das pycord Update raus ist

mental hamlet
#

pycord eh kaputt

solid ingot
#

@urban glen du könntest höchstens versuchen den Update Branche von Chat Exporter zu installieren

#

damit sollte es gehen

mental hamlet
#

für was brauchst du den master?

ruby sparrow
restive herald
ruby sparrow
restive herald
# ruby sparrow

Ja weil zu dem moment halt keine neuen nachrichten gepostet wurden

restive herald
ruby sparrow
restive herald
#

würde ja versuchen es so zu machen, dass immer wenn was neues kommt dort, es in nen channel gesendet wird

restive herald
#

task loop maybe, kenn mich da nd aus

tall gorge
safe tendon
# ruby sparrow

Laut der api brauchst du einen Bearer Token um die api zu nutzen

tall gorge
#

Was heißt das schon wieder xd

Traceback (most recent call last):
  File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 124, in wrapped
    ret = await coro(arg)
  File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "/home/container/Cogs/ticket.py", line 51, in setup
    await ctx.send_modal(modal)
  File "/home/container/.local/lib/python3.10/site-packages/discord/interactions.py", line 1053, in send_modal
    payload = modal.to_dict()
  File "/home/container/.local/lib/python3.10/site-packages/discord/ui/modal.py", line 237, in to_dict
    "title": self.title,
  File "/home/container/.local/lib/python3.10/site-packages/discord/ui/modal.py", line 117, in title
    return self._title
AttributeError: 'TicketModal' object has no attribute '_title'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/home/container/.local/lib/python3.10/site-packages/discord/client.py", line 378, in _run_event
    await coro(*args, **kwargs)
  File "/home/container/Cogs/ticket.py", line 100, in on_application_command_error
    raise error
  File "/home/container/.local/lib/python3.10/site-packages/discord/bot.py", line 1114, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 375, in invoke
    await injected(ctx)
  File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 124, in wrapped
    ret = await coro(arg)
  File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 1312, in _invoke
    await command.invoke(ctx)
  File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 375, in invoke
    await injected(ctx)
  File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 132, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'TicketModal' object has no attribute '_title'```
restive herald
#

code

tall gorge
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @tall gorge, du bist jetzt Level 9 🎉

Du hast insgesamt 323 Nachrichten geschrieben.

tall gorge
#

Und das```py
@ticket.command(description="Richte das Ticket-System ein ")
@commands.check(custom_check)
@default_permissions(administrator=True)
async def setup(self, ctx):

    modal = TicketModal()
    await ctx.send_modal(modal)
tough thicket
wise stone
tough thicket
#

kam aber eben ein error, wait

#

ne, kommt doch nichts ...


import discord
from discord.ext import commands
from discord.commands import slash_command

class Base(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @slash_command(name="join", description='Lasse den Bot deinem Kanal beitreten und starte die Musik!')
    async def join(self, ctx):
        await ctx.respond("Das Radio wurde gestartet.")
        await ctx.author.voice.channel.connect()


        ctx.voice_client.play(
            discord.FFmpegPCMAudio("https://streams.ilovemusic.de/iloveradio1.mp3")
        )



def setup(bot):
    bot.add_cog(Base(bot))
wise stone
tough thicket
#

yeah, das Spielen des Radios senders funktioniert nicht

wise stone
#

lass mich kurz überlegen am Handy ist es bissl schwierig xD

wise stone
#

@tough thicket mach Mal so

tough thicket
#

jo, warte eben

tough thicket
# wise stone ```py vc = await ctx.author.voice.channel.connect() ...

Ignoring exception in command join:
Traceback (most recent call last):
  File "C:\Users\Max\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
  File "C:\Users\Max\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "c:\Users\Max\Desktop\Desktop\Sonstige Bots\Radio V3\cogs\join.py", line 14, in join   
    voice.play(discord.FFmpegPCMAudio("https://streams.ilovemusic.de/iloveradio1.mp3"))       
AttributeError: 'coroutine' object has no attribute 'play'

    await injected(ctx)
  File "C:\Users\Max\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\commands\core.py", line 132, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'coroutine' object has no attribute 'play'
C:\Users\Max\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py:80: RuntimeWarning: coroutine 'Connectable.connect' was never awaited
  self._context.run(self._callback, *self._args)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

wise stone
#

._.

#

vc.guild.voice_client.play

tough thicket
# wise stone `vc.guild.voice_client.play`

Ignoring exception in command join:
Traceback (most recent call last):
  File "C:\Users\Max\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
  File "C:\Users\Max\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "c:\Users\Max\Desktop\Desktop\Sonstige Bots\Radio V3\cogs\join.py", line 14, in join
    vc.guild.voice_client.play(discord.FFmpegPCMAudio("https://streams.ilovemusic.de/iloveradio1.mp3"))
AttributeError: 'coroutine' object has no attribute 'guild'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\Max\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\bot.py", line 1114, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "C:\Users\Max\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\commands\core.py", line 375, in invoke
    await injected(ctx)
  File "C:\Users\Max\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\commands\core.py", line 132, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'coroutine' object has no attribute 'guild'
C:\Users\Max\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py:80: RuntimeWarning: coroutine 'Connectable.connect' was never awaited
  self._context.run(self._callback, *self._args)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

wise stone
#

ähhmmm ja sollte eigentlich so funktionieren peepothink

tough thicket
# wise stone ähhmmm ja sollte eigentlich so funktionieren <:peepothink:1027724419944161281>
import discord
from discord.ext import commands
from discord.commands import slash_command

class Base(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @slash_command(name="join", description='Lasse den Bot deinem Kanal beitreten und starte die Musik!')
    async def join(self, ctx):


        vc = ctx.author.voice.channel.connect()
        vc.voice_client.play(discord.FFmpegPCMAudio("https://streams.ilovemusic.de/iloveradio1.mp3"))
        await ctx.respond("Das Radio wurde gestartet.")
        #await ctx.author.voice.channel.connect()


        #ctx.voice_client.play(
            #discord.FFmpegPCMAudio("https://streams.ilovemusic.de/iloveradio1.mp3")
        #)



def setup(bot):
    bot.add_cog(Base(bot))
#

sieht gerade so aus

tough thicket
tough thicket
#

@urban glen hat den Tipp gegeben, dass da ein await noch hin muss

wise stone
#

kannst es probieren

#

weiß Grade auch net so Recht

tough thicket
#

es passiert einfach nichts idk

#

umgebunsvariable habe ich eigentlich auch drinnen

wise stone
tough thicket
#

ja, ist es schon verbessert

tall gorge
#

Timo, du vllt?

twin slate
granite basalt
tall gorge
#

Das musst du mit follow up machen

burnt prairieBOT
#

Mein Discord Server
https://discord.gg/zfvbjTEzv6

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot

PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discord.gg/pycord

Discord Developer Portal ► https://discord...

▶ Play video
obtuse estuary
tall gorge
obtuse estuary
#

schick mal den code bitte

granite basalt
obtuse estuary
granite basalt
# obtuse estuary Was willst du denn machen

ich code einen partner bot,
partner von meinem server adden den bot und fürhen einen command aus mit dem die partnerschaft angefragt werden kann.

dann generiert der bot webhook, checkt stats, macht nen invite link etc etc,

wenn ich dann aber nach den ganzen aktionen die antwort schicke dann ist es in manchen fällen länger als 3 sec und die interaction failed,

daher will ich machen "Loading checking info" und danach bearbeiten mit den ganzen gesammelten infos und dem check ob die chance da ist partner zu werden

#

und das ganze halt ephemeral weil da infos drinne sind die nicht jeder haben soll

#

hätte es gerne per dm gemacht aber in der community haben 90% dms aus wegen crypto spam bots

obtuse estuary
#

Aber py await interaction.followup.send("Test", ephemeral=True)

#

geht auch

granite basalt
#

Ohhhh

#

Wait ich teste es, danke

tough thicket
#

nur ffmpeg ist installiert

tall gorge
tall gorge
tough thicket
# tough thicket

klappt nun. Habe meinen PC neu gestartet und alles nochmal neu installliert (auch die aktuelle py-cord version).

tough thicket
#

hatte halt aber den zweiten Teil deines tutorials noch nicht geschaut

solid ingot
#

ahh alles klar, das hatte ich selbst auch vergessen

golden sky
#

Hallo ich brauche dringend Hilfe....

#

Kann einer call

tall gorge
tall gorge
tough thicket
#

Ja, musste auf die neue Py-cord Version upgraden.

ruby sparrow
#

Traceback (most recent call last):
  File "c:\Users\Rysii\OneDrive\Desktop\panda Fortnite bot\main.py", line 51, in <module>
    bot.load_cogs("cogs")  
    ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\ezcord\bot.py", line 152, in load_cogs
    self.load_extension(f"{'.'.join(path.parts)}.{name}")
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 910, in load_extension
    self._load_from_module_spec(spec, name)
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 791, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.lobbybot' raised an error: TypeError: cogs must derive from Cog```
#
import discord
from discord.ext import commands
from discord.commands import slash_command

class LobbyBot(commands.Bot):
    def __init__(self,bot):
        self.bot = bot
        self.lobbies = {}

    async def on_ready(self):
        print(f'Logged in as {self.user.name}')

    @slash_command(description='Erstellt eine neue Lobby')
    async def create_lobby(self, ctx, lobby_name):
        if lobby_name in self.lobbies:
            await ctx.send('Eine Lobby mit diesem Namen existiert bereits.')
        else:
            self.lobbies[lobby_name] = []
            await ctx.send(f'Lobby mit dem Namen "{lobby_name}" wurde erstellt.')

    @slash_command(description='Fügt einen Spieler zur Lobby hinzu')
    async def add_player(self, ctx, lobby_name, player_name):
        if lobby_name in self.lobbies:
            self.lobbies[lobby_name].append(player_name)
            await ctx.send(f'Spieler "{player_name}" wurde zur Lobby "{lobby_name}" hinzugefügt.')
        else:
            await ctx.send(f'Lobby mit dem Namen "{lobby_name}" existiert nicht.')

    @slash_command(description='Zeigt Informationen über eine Lobby an')
    async def lobby_info(self, ctx, lobby_name):
        if lobby_name in self.lobbies:
            players = ', '.join(self.lobbies[lobby_name])
            await ctx.send(f'**Lobby: {lobby_name}**\nSpieler: {players}')
        else:
            await ctx.send(f'Lobby mit dem Namen "{lobby_name}" existiert nicht.')



def setup(bot):
    bot.add_cog(LobbyBot(bot))```
solid ingot
#

du hast commands.Bot statt commands.Cog geschrieben

class LobbyBot(commands.Cog):
#

wenn du dich mehrmals in der DB hast, hast du den primärschlüssel falsch festgelegt

urban glen
#

Wie ist deine DB aufgesetzt?

tough thicket
#

hey, warum wird meine Nachricht nicht ephemeral angezeigt?

        if ctx.voice_client is None:
            await ctx.defer()
            await asyncio.sleep(2)
            return await ctx.respond("Ich bin mit keinem Sprachkanal verbunden.", ephemeral=True)
solid ingot
#

wenn du defer nutzt, musst du das so machen:

await ctx.defer(ephemeral=True)
tough thicket
#

wie kann ich diese änderungen rückgaängi machen?

solid ingot
#

wenn du änderungen bis zu einem gewissen commit rückgängig machen möchtest, kannst du das mit rechtsklick -> reset current branch to here

tall gorge
#

Bittepeepolove

solid ingot
#

wieso hast du ein on_ready event im modal? das sollte im cog sein denke ich

#

du hast beim modal aufruf vlt die runden klammern vergessen

tall gorge
#

wait ch teste mal

tall gorge
solid ingot
#

bzw kann auch ne variable sein, aber du hast den code dafür nicht gesendet

#

@tall gorge mach auf jeden fall mal das on_ready event da raus

tall gorge
# solid ingot <@1088158230439546920> mach auf jeden fall mal das on_ready event da raus

jetzt wird das modal aufgerufen aber der fehler kommt:

Traceback (most recent call last):
  File "/home/container/.local/lib/python3.10/site-packages/discord/ui/modal.py", line 341, in dispatch
    await value.callback(interaction)
  File "/home/container/Cogs/ticket.py", line 153, in callback
    async with aiosqlite.connect(self.db) as db:
AttributeError: 'TicketModal' object has no attribute 'db'```
solid ingot
#

hast du dein self.db mit gelöscht?

tall gorge
#

ja weil da auch ein fehler kam

solid ingot
#

wenn du das self.db löschst, kannst du auch nicht auf self.db zugreifen peepothink

tall gorge
#

warte ich habe es glaube ich geschafft aber anders

#

weil bei self.db war ein fehler

#

ja habe es geschafft

novel ore
#

warum heißt der command nur Club?

import discord
from discord.ext import commands
from discord.commands import slash_command, Option, SlashCommandGroup
import datetime
import aiosqlite


class Club(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.DB = "credits.db"

    async def check_user(self, user_id):
        async with aiosqlite.connect(self.DB) as db:
            await db.execute(
                "INSERT OR IGNORE INTO account (user_id) VALUES (?)", (user_id,)
            )
            await db.execute(
                "INSERT OR IGNORE INTO credits (user_id) VALUES (?)", (user_id,)
            )
            await db.execute(
                "INSERT OR IGNORE INTO club_setup (user_id) VALUES (?)", (user_id,)
            )
            await db.commit()

    club1 = SlashCommandGroup(
        "club",
        description="👑 Erstelle eienn eigenen Club",
        default_member_permissions=discord.Permissions(administrator=True)
    )

    club1.command()
    async def create(self, ctx):
        async with aiosqlite.connect(self.DB) as db:
            await self.check_user(ctx.author.id)
            async with db.execute(
                "SELECT club_besitzer FROM club_setup WHERE user_id = ?",
                (ctx.author.id,),
            ) as cursor:
                besitzer = await cursor.fetchone()
            async with db.execute(
                "SELECT credits_count FROM credits WHERE user_id = ?", (ctx.author.id,)
            ) as cursor:
                credits = await cursor.fetchone()
            async with db.execute(
                "SELECT gesetzt FROM account WHERE user_id = ?", (ctx.author.id,)
            ) as cursor:
                acc = await cursor.fetchone()
                if besitzer is None:
                    await ctx.respond(
                        f"{ctx.author.mention} im System ist ein Fehler bitte melde diesem dem Team."
                    )
                if besitzer[0] == 1:
                    await ctx.respond(
                        f"{ctx.author.mention} du hast bereits einen Club erstellt!"
                    )
                if besitzer[0] == 0:
                    if acc[0] == 1:
                        if credits[0] >= 95:
                            await ctx.send_modal(clubcreateModal(title="CLUB CREATE"))
                        else:
                            umrechnung = 95 - credits[0]
                            await ctx.respond(
                                f"{ctx.author.mention} dir fehelen noch {umrechnung} Credits bis du dir einen Account erstllen kannst"
                            )
                    else:
                        await ctx.respond(
                            f"{ctx.author.mention} erstelle dir bitte erst einen Account"
                        )
                else:
                    await ctx.respond(
                        f"{ctx.author.mention} im System ist ein Fehler bitte melde diesem dem Team."
                    )


def setup(bot):
    bot.add_cog(Club(bot))
solid ingot
#

da fehlt noch ein @ vor club1.command()

novel ore
#

stimmt peepolove

tall gorge
#

wie kann man überprüfen ob in einer datenbank spalte etwas drin steht, also so ca.

if data[4].....:
   embed.set_image(url=...)```
novel ore
#

du kannst schauen ob was drinnen ist mit if date[4] is not None: und wenn dann was drinen ist machst du es wenn nicht return

#

alos denke so geht das

tall gorge
#

habe ich probiert hat irgendwie nicht geklappt ist schau mal nochmal

#

klappt doch aber irgendetwas stimmt nicht

tall gorge
#

geht doch auch mit is not None oder nicht

#

hmm klappt irgedwie gerade nicht, melde mich dann später nochmal

restive herald
tall gorge
#

Code: ```py

@ticket.command(description="Sende das Ticket-System")
@commands.check(custom_check)
@default_permissions(administrator=True)
async def send(self, ctx):

    if not ctx.channel.permissions_for(ctx.guild.me).send_messages:
        embed = discord.Embed(
            title="**`❌` | Fehler**",
            description="> Ich habe keine Rechte um Nachrichten zu senden!",
            color=0x2B2D31
        )
        await ctx.respond(embed=embed, ephemeral=True)
        return
    load = discord.Embed(
        title="`⏳` | Lade...",
        description="> Ich lade das Ticket-Embed!",
        color=0x2B2D31
    )
    try:
        await ctx.respond(embed=load, ephemeral=True)
        async with aiosqlite.connect(self.db) as db:
            await db.execute("""
                    INSERT OR IGNORE INTO tickets (guild_id, ticket_title TEXT, ticket_color TEXT, ticket_image TEXT, ticket_thumbnail TEXT, ticket_description TEXT)
                    VALUES (?, ?, ?, ?, ?, ?)
                    """, (ctx.guild.id, None, None, None, None, None))
        
 
        async with aiosqlite.connect(self.db) as db:
            async with db.execute("SELECT ticket_title, ticket_color, ticket_image, ticket_thumbnail, ticket_description FROM servers WHERE guild_id = ?",
                                  (ctx.guild.id,)) as cursor:
                data = await cursor.fetchone()
                titel = data[1]
                color = data[2]
                image = data[3]
                thumbnail = data[4]
                description = data[5]
               

                embed = discord.Embed(title={titel},
                                      description={description},
                                      color={color})
                
                if not thumbnail:
                    return
                else:
                    embed.set_thumbnail(url=thumbnail)
                
               
                if not image:       
                    return
                else:
                    embed.set_image(url=image)
                
                
                embed.set_footer(text="Ticket-System von Proplayer#9099.", icon_url=ctx.bot.user.avatar.url)
                await asyncio.sleep(1)
                await ctx.edit(embed=embed,view=TutorialView(self.bot))
    except:
        await asyncio.sleep(1)
        embederror = discord.Embed(
            title="`❌` | Fehler!",
            description="> Ich konnte das Embed nicht laden!",
            color=0x2B2D31
        )
        await ctx.edit(embed=embederror) ```

Wenn ich den command ausführe kommt immer das except embed

solid ingot
#

dann wäre der erste schritt herauszufinden welcher error genau kommt

tall gorge
#

habe den fehler gefunden

#

Habe jetzt irgendwie diesen fehler:Application Command raised an exception: TypeError: Expected discord.Colour, int, or Embed.Empty but received str instead.

#

weiß nicht was an dem type falsch ist

solid ingot
#

code?

tall gorge
# solid ingot code?
@ticket.command(description="Sende das Ticket-System")
    @commands.check(custom_check)
    @default_permissions(administrator=True)
    async def send(self, ctx):
        
        

        if not ctx.channel.permissions_for(ctx.guild.me).send_messages:
            embed = discord.Embed(
                title="**`❌` | Fehler**",
                description="> Ich habe keine Rechte um Nachrichten zu senden!",
                color=0x2B2D31
            )
            await ctx.respond(embed=embed, ephemeral=True)
            return
        load = discord.Embed(
            title="`⏳` | Lade...",
            description="> Ich lade das Ticket-Embed!",
            color=0x2B2D31
        )
        
        await ctx.respond(embed=load, ephemeral=True)
        async with aiosqlite.connect(self.db) as db:
             await db.execute("""
                        INSERT OR IGNORE INTO tickets (guild_id, ticket_title, ticket_color, ticket_image, ticket_thumbnail, ticket_description)
                        VALUES (?, ?, ?, ?, ?, ?)
                        """, (ctx.guild.id, None, None, None, None, None))
            
     
        async with aiosqlite.connect(self.db) as db:
            async with db.execute("SELECT ticket_title, ticket_color, ticket_image, ticket_thumbnail, ticket_description FROM tickets WHERE guild_id = ?",
                                      (ctx.guild.id,)) as cursor:
                data = await cursor.fetchone()
                titel = data[0]
                color = f"0x{data[1]}"
                image = data[2]
                thumbnail = data[3]
                description = data[4]
                   

                embed = discord.Embed(title={titel},
                                          description={description},
                                          color=color)
                    
                if not thumbnail:
                    return
                else:
                    embed.set_thumbnail(url=thumbnail)
                    
                   
                if not image:       
                    return
                else:
                    embed.set_image(url=image)
                    
                    
                embed.set_footer(text="Ticket-System von Proplayer#9099.", icon_url=ctx.bot.user.avatar.url)
                await asyncio.sleep(1)
                await ctx.edit(embed=embed,view=TutorialView(self.bot))```
#

Müsste an color=color liegen, da passt die variable nicht

#

aber ka wie die richtig geht

burnt prairieBOT
#

Mein Discord Server
https://discord.gg/zfvbjTEzv6

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot

PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discord.gg/pycord

Discord Developer Portal ► https://discord...

▶ Play video
tall gorge
#

ach so ähnlich hatte ich es nur einen schritt vergessen

#

Timo danke, aber passt das so bei mir weil irgendwie wird das embed nicht geändert und es kommt kein fehler: py color2 = f"0x{data[1]}" color = int(color2 , 16)

tall gorge
#

hat schon geklappt

urban glen
#
    class VIEWNAME(discord.ui.View):
        def __init__(self, ctx):
            self.ctx = ctx
            super().__init__(timeout=60)

        @discord.ui.select(
            min_values=1,
            max_values=1,
            placeholder="Kategorie wählen",
            options=option
        )
        async def select_callback(self, select, interaction):
            if "0" in interaction.data["values"]:
                embed = discord.Embed(title="Help", description="**Wähle eine Kategorie aus**",
                                      color=discord.Color.green())
                await interaction.response.edit_message(embed=embed)
            if "1" in interaction.data["values"]:
                embed = discord.Embed(title="User Commands", color=discord.Color.green())
                embed.add_field(name="/serverinfo",
                                value="**Zeigt Informationen über den Server an**", inline=False)
                embed.add_field(name="/userinfo",
                                value="**Zeigt Informationen über einen User an**", inline=False)
                embed.add_field(name="/avatar", value="**Zeigt den Avatar eines Users an**",
                                inline=False)
                embed.add_field(name="/about",
                                value="**Zeigt Informationen über den Bot an**",
                                inline=False)
                await interaction.response.edit_message(embed=embed)

Warum wird die Interaktion nach 60 Sekunden nicht deaktiviert?
Eigentlich hab ich das Timeout auf 60 gestellt aber es funktioniert irgendwie nicht.

solid ingot
#

wenn du die buttons deaktivieren möchtest, musst du noch disable_on_timeout=True hinter timeout=60 schreiben

urban glen
#

Okay werde ich versuchen, Danke!

#
class VIEWNAME(discord.ui.View):
    def __init__(self, ctx):
        self.ctx = ctx
        super().__init__(timeout=60, disable_on_timeout=True)

Hab es jetzt so gemacht funktioniert aber leider auch nicht.

tall gorge
#

Ich kapiere nicht warum die Option nicht angezeigt wird:

async def send(self, ctx, channel: Option(discord.TextChannel,"Wähle den Channel für das Ticket-Embed aus")):```
restive herald
#
  1. Kommt nen Error?
  2. Hast du DC und den Bot nochmal neu gestartet?
solid ingot
novel ore
#
import discord
from discord.ext import commands
from discord.commands import slash_command, Option, SlashCommandGroup
import datetime
import aiosqlite



class Datenbank(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.DB = 'credits.db'

    @commands.Cog.listener()
    async def on_ready(self):
        async with aiosqlite.connect(self.DB) as db:
            await db.execute(
                """
                CREATE TABLE IF NOT EXISTS account (
                user_id INTEGER PRIMARY KEY,
                gesetzt INTEGER DEFAULT 0,
                passwort TEXT,
                benutzername TEXT, 
                created_at INTEGER DEFAULT 0
                )
                """
            )
            await db.execute(
                """
                CREATE TABLE IF NOT EXISTS credits (
                user_id INTEGER PRIMARY KEY,
                credits_count INTEGER DEFAULT 0,
                msg INTEGER DEFAULT 0,
                message INTEGER DEFAULT 0
                )
                """
            )
            await db.execute(
                """
                CREATE TABLE IF NOT EXISTS club_setup (
                user_id INTEGER PRIMARY KEY,
                bisitzt_club INTEGER DEFAULT 0,
                beigeteten INTEGER DEFAULT 0
                )
                """
            )
            await db.execute(
                """
                CREATE TABLE IF NOT EXISTS club (
                club_besitzer INTEGER PRIMARY KEY,
                club_name TEXT,
                club_beschreibung TEXT
                )
                """
            )

def setup(bot):
    bot.add_cog(Datenbank(bot))

Bei mir wird alles erstllt außer bei club_setup beigeteten warum

#

weiß sind rechtschreibfehler änder ich alles noch

solid ingot
#

existiert die tabelle club_setup schon?

novel ore
#

ne db hab ich davor geslöcht

urban glen
#

Wie gette ich nochmal eine Kategorie? (py-cord)

tall gorge
novel ore
urban glen
#

ehm

#

is in einem select_menu

solid ingot
#

entweder bot an das select menü übergeben oder interaction.client

urban glen
#

stimmt

#

Hab es geschafft danki :D

tall gorge
novel ore
#
                    overwrites = {
                    ctx.guild.default_role: discord.PermissionOverwrite(read_messages=False),
            }

Will ein Ticket erstellen das nur ein bestimmter user sieht hab die ID von deisem user weiß jetzt aber nicht wie ich das da einbauen muss

urban glen
#
user: USER(read_messages=True)

USER = gegetteter user

#

soweit ich weiß

novel ore
urban glen
#

jo

novel ore
#

so einfach getten

urban glen
#

außer du hast interaction

novel ore
#

ne und dann deinen code einfach eingügen

urban glen
#

meinen?

urban glen
#

ja

novel ore
#

ich teste mal

tall gorge
#

wie kann man mit followup ein modal senden?

#

geht das überhaupt sonst würde ich es anders machen

urban glen
#

await interaction.followup.send_modal

tall gorge
#

hat bei mir nicht geklapptpeepothink

novel ore
tall gorge
#

jo wait

tall gorge
tawdry leaf
#

ja klingt logisch

urban tiger
#

Docs lesen ist nicht schwer, vor allem pycord docs

tall gorge
#

Dieser Fehler bedeutet doch, dass eine url ein falsches format hat aber ich benutze nicht mal eine url:

Traceback (most recent call last):
  File "/home/container/.local/lib/python3.10/site-packages/discord/ui/modal.py", line 341, in dispatch
    await value.callback(interaction)
  File "/home/container/Cogs/ticket.py", line 263, in callback
    await interaction.response.send_message("`✅` Channel und Embed wurden gespeichert",embed=embed, ephemeral=True)
  File "/home/container/.local/lib/python3.10/site-packages/discord/interactions.py", line 825, in send_message
    await self._locked_response(
  File "/home/container/.local/lib/python3.10/site-packages/discord/interactions.py", line 1090, in _locked_response
    await coro
  File "/home/container/.local/lib/python3.10/site-packages/discord/webhook/async_.py", line 221, in request
    raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In data.embeds.0.image.url: Not a well formed URL.```
#

ach ich bin einfach nur noch lost

#

hat sich erledigt

granite basalt
#

discord.TextChannel(is_news=True)

wie kann ich text channel auswählen die announcement true haben?

tawdry leaf
#

if channel.is_news()

granite basalt
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @granite basalt, du bist jetzt Level 4 🎉

Du hast insgesamt 53 Nachrichten geschrieben.

granite basalt
#

wenn man einen announce auswählen kann?

tawdry leaf
granite basalt
#

Lol man kann keine announcement channel auswählen?

#

Und wenn man text channel macht werden announcement channel Ned angezeigt

tawdry leaf
#

doch ein Ankündigungskanal ist auch ein Textkanal

granite basalt
#

die announcement channel werden aber smh nicht angezeigt

#

bei discord.TextChannel

tawdry leaf
#

doch

#

musst nur eingeben dann ist es oben auch

urban glen
#

@granite basalt Wenn du wirklich nur die Annoucments Channel haben willst kannst du ein Auto Complete machen

burnt prairieBOT
#

Mein Discord Server
https://discord.gg/zfvbjTEzv6

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot

PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discord.gg/pycord

Discord Developer Portal ► https://discord...

▶ Play video
urban glen
#
async def autocomplete(ctx):
  channel_list = []
  for channel in ctx.guild.channels:
    if channel.is_news():
      channel_list.append(channel)
  return channel_list  

würde so ungefähr aussehen :D

granite basalt
#

Naja ich muss nicht Nur die auswählem

#

Bin auch fine mit alle text channel
Sogar Besser eig

#

Aber denke auch mit autocomplete ig xd

#

Aber danke!

urban glen
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @severe citrus, du bist jetzt Level 14 🎉

Du hast insgesamt 1,258 Nachrichten geschrieben.

limpid wolf
granite basalt
#

Danke dir

limpid wolf
#

required=False, steht da weil ich das so im Code stehen hatte, musst das dann halt noch so ändern das es für dich passt

limpid wolf
urban glen
#

Also du kannst mit try und except arbeiten oder du machst ein isitance oder wie das heißt ob es ein dm channel ist

ruby sparrow
#

warum ist das rot?

urban glen
#

was hast du dadrüber

ruby sparrow
urban glen
#

falsch eingerückt

#

muss einer nach links (alles) bro

ruby sparrow
urban glen
#

Zeile 31 -> 36 muss eins nach rechts

ruby sparrow
obtuse estuary
#

Muss ja in der Funktion sein

ruby sparrow
obtuse estuary
#

Na die if else abfragen

ruby sparrow
# obtuse estuary Na die if else abfragen
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
import sqlite3


db = sqlite3.connect('Createrole.db')
c = db.cursor()
c.execute('''
    CREATE TABLE IF NOT EXISTS Createrole
    (
        guild_id INTEGER PRIMARY KEY,
        Createrole_count INTEGER DEFAULT 0
     )
 ''')
db.commit()



class Createrole(commands.Cog):
    def __init__(self,bot):
        self.bot = bot

    @slash_command(description="Erstelle eine Rolle")
    @commands.has_permissions(manage_roles=True)
    async def createrole(self, ctx, name: Option(str, required=True), color: Option(str, required=False)):


        colorlol = int(f"0x{color}", 16)

    if color == None:
        await ctx.guild.create_role(name=name, color=colorlol)
        await ctx.respond(f"Deine Rolle mit dem Namen {name} wurde erstellt")
    else:
        await ctx.guild.create_role(name=name, color=colorlol)
        await ctx.respond(f"{name} -> {color}")

def setup(bot):
    bot.add_cog(Createrole(bot))``` so?
obtuse estuary
#

Bin am Handy kp

ruby sparrow
obtuse estuary
ruby sparrow
#
Traceback (most recent call last):
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "c:\Users\Rysii\OneDrive\Desktop\Panda Moderation bot\cogs\Createrole.py", line 28, in createrole
    colorlol = int(f"0x{color}", 16)
               ^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 16: '0xblue'```
#
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
import sqlite3


db = sqlite3.connect('Createrole.db')
c = db.cursor()
c.execute('''
    CREATE TABLE IF NOT EXISTS Createrole
    (
        guild_id INTEGER PRIMARY KEY,
        Createrole_count INTEGER DEFAULT 0
     )
 ''')
db.commit()



class Createrole(commands.Cog):
    def __init__(self,bot):
        self.bot = bot

    @slash_command(description="Erstelle eine Rolle")
    @commands.has_permissions(manage_roles=True)
    async def createrole(self, ctx, name: Option(str, required=True), color: Option(str, required=False)):

        colorlol = int(f"0x{color}", 16)

        if color == None:
            await ctx.guild.create_role(name=name, color=colorlol)
            await ctx.respond(f"Deine Rolle mit dem Namen {name} wurde erstellt")
        else:
            await ctx.guild.create_role(name=name, color=colorlol)
            await ctx.respond(f"{name} -> {color}")

def setup(bot):
    bot.add_cog(Createrole(bot))```
obtuse estuary
#

Du kannst keinen string in ein int umwandeln wenn da Buchstaben oder so drin sind

obtuse estuary
#

?

ruby sparrow
#

ein string

ruby sparrow
#

kann wer helfen in #1118067267167592478

solid ingot
#

ne

#

bzw bei hexadezimal geht A bis F

urban glen
solid ingot
#

jo, aber Panda hat versucht "0xblue" zu einem int zu machen, das geht nicht

ruby sparrow
ruby sparrow
#
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
import sqlite3


 ####################################################################################
# Copyrigth 2023 by pma#0999                                                 #
#Ich habe den Code von Timo!y#3275 verbessert                                  #
#Dieser Code ist für den eigenen Gebrauch gedacht,                                 #                                                                                 #
#Dieser Code wurde von pma#0999  geschrieben, ohne Hilfsmittel wie z.B. Chatgpt 
# zb hab eine Datenbank usw. hinzugefügt                                         #
####################################################################################


db = sqlite3.connect('Createrole.db')
c = db.cursor()
c.execute('''
    CREATE TABLE IF NOT EXISTS Createrole
    (
        guild_id INTEGER PRIMARY KEY,
        Createrole_count INTEGER DEFAULT 0
     )
 ''')
db.commit()



class Createrole(commands.Cog):
    def __init__(self,bot):
        self.bot = bot

    @slash_command(description="Erstelle eine Rolle")
    @commands.has_permissions(manage_roles=True)
    async def createrole(self, ctx, name: Option(str, required=True), color: Option(str, required=False)):
         guild = ctx.guild

    member_role = discord.utils.get(guild.roles, name='Member') 

    if member_role is None:
        await ctx.send('Die Rolle "Member" wurde nicht gefunden.')
        return

    role_position = member_role.position - 1 

    new_role = await guild.create_role(name='Neue Rolle', position=role_position)

    await ctx.respond(f'Die Rolle "{new_role.name}" wurde erfolgreich erstellt.')

    colorlol = int(f"0x{color}", 16)

    if color == None:
        await ctx.guild.create_role(name=name, color=colorlol)
        await ctx.respond(f"Deine Rolle mit dem Namen {name} wurde erstellt")
    else:
        await ctx.guild.create_role(name=name, color=colorlol)
        await ctx.respond(f"{name} -> {color}",ephemeral=True)
def setup(bot):
    bot.add_cog(Createrole(bot))```
#
  File "c:\Users\Rysii\OneDrive\Desktop\Panda Moderation bot\main.py", line 87, in <module>
    bot.load_cogs("cogs")
    ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\ezcord\bot.py", line 152, in load_cogs
    self.load_extension(f"{'.'.join(path.parts)}.{name}")
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 910, in load_extension
    self._load_from_module_spec(spec, name)
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 777, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.Createrole' raised an error: SyntaxError: 'await' outside function (Createrole.py, line 41)```
solid ingot
#

achte auf deine einrückung. alles was innerhalb des commands steht muss einen tab weiter rechts sein als das async def

restive herald
ruby sparrow
restive herald
ruby sparrow
restive herald
#

kommt nen error

ruby sparrow
#

komm halt kein error

restive herald
ruby sparrow
# restive herald Kannst ja mal printen bis wohin es geht
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
import sqlite3


 ####################################################################################
# Copyrigth 2023 by pma#0999                                                 #
#Ich habe den Code von Timo!y#3275 verbessert                                  #
#Dieser Code ist für den eigenen Gebrauch gedacht,                                 #                                                                                 #
#Dieser Code wurde von pma#0999  geschrieben, ohne Hilfsmittel wie z.B. Chatgpt 
# zb hab eine Datenbank usw. hinzugefügt                                         #
####################################################################################


db = sqlite3.connect('Createrole.db')
c = db.cursor()
c.execute('''
    CREATE TABLE IF NOT EXISTS Createrole
    (
        guild_id INTEGER PRIMARY KEY,
        Createrole_count INTEGER DEFAULT 0
     )
 ''')
db.commit()



class Createrole(commands.Cog):
    def __init__(self,bot):
        self.bot = bot

    @slash_command(description="Erstelle eine Rolle")
    @commands.has_permissions(manage_roles=True)
    async def createrole(self, ctx, name: Option(str, required=True), color: Option(str, required=False)):
        guild = ctx.guild

        member_role = discord.utils.get(guild.roles, name='Members') 

        if member_role is None:
          await ctx.respond('Die Rolle "Member" wurde nicht gefunden.')
        return

        role_position = member_role.position - 1 

        new_role = await guild.create_role(name='Neue Rolle', position=role_position)

        await ctx.respond(f'Die Rolle "{new_role.name}" wurde erfolgreich erstellt.')

        colorlol = int(f"0x{color}", 16)

        if color == None:
         await ctx.guild.create_role(name=name, color=colorlol)
         await ctx.respond(f"Deine Rolle mit dem Namen {name} wurde erstellt")
        else:
            await ctx.guild.create_role(name=name, color=colorlol)
            await ctx.respond(f"{name} -> {color}",ephemeral=True)
def setup(bot):
    bot.add_cog(Createrole(bot))``` hier ist er code
restive herald
restive herald
#

Wie kann ich nen wait for event in nem button machen? moo muss ich da iwie bot übergeben?

kind depot
#

Wie kann man das machen das da nicht nur alle Member als offline sind?

tall gorge
#

Ist das der Code aus #1027677692730036294 ?

#

Wenn ja ich hatte da das gleiche

kind depot
#

ja ist es

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @kind depot, du bist jetzt Level 4 🎉

Du hast insgesamt 59 Nachrichten geschrieben.

kind depot
#

Hallo?

tall gorge
#

Kann dir leider auch nicht helfen, habe ka was man da ändern muss

kind depot
#

ok 😦

urban glen
#

Wie checke ich ob eine Nachricht eine "antwort" ist

#

Weil mein "if msg.reply:" ist immer True

solid ingot
#

das geht mit msg.reference

solid ingot
kind depot
#

ja

kind depot
solid ingot
#

die nachricht muss danach bearbeitet werden

solid ingot
#

das kannst du dir aussuchen, zb mit interaction.response.edit_message

kind depot
# solid ingot nur den code für das mit dem status
statuses = [len(list(filter(lambda m: str(m.status) == "online", ctx.guild.members))),
            len(list(filter(lambda m: str(m.status) == "idle", ctx.guild.members))),
            len(list(filter(lambda m: str(m.status) == "dnd", ctx.guild.members))),
            len(list(filter(lambda m: str(m.status) == "offline", ctx.guild.members)))]
solid ingot
#

die vergleiche könntest du mit m.status == discord.Status.online machen

#

generell würde ich dir empfehlen, dass du versuchst deine codes selbst zu schreiben, da dieser code wahrscheinlich von chatGPT oder so ist

kind depot
restive herald
#

Glaube:

views=[1,2,3]

tawdry leaf
#

👀

#

view.add_item

restive herald
#

Maybe ohne das s bei views?

restive herald
#

Ja dachte is so wie bei embeds xd sry

solid ingot
#

nachrichten können nur einen view haben, du kannst aber mehrere items zu einem view hinzufügen

tawdry leaf
kind depot
#

nein alle member sind online

tawdry leaf
#

hast du die:

intents.members = True
intents.presences = True```
tawdry leaf
tawdry leaf
tawdry leaf
#

ja xD

#

hat aber Timo oben dich gefragt xD

kind depot
#

dachte im discord dev portal

tawdry leaf
#

bei beiden 🙂

urban glen
restive herald
#

Wie kann ich nen wait for event in nem button machen? moo muss ich da iwie bot übergeben?

ruby sparrow
#

ich hab eine frage kann man irgendwie machen das die rolle an einer bestimmten stelle erstellt wird also überhalb der Member rolle beispielsweiße`?

urban tiger
tawdry leaf
ruby sparrow
#

Wie kann so was ist er bot auf handy

upper adder
#

Ich bekomme es nicht hin, dass mein Bot nur einen Custom Status hat, OHNE Activity. hat jemand eine Idee?

solid ingot
#

das geht nicht

upper adder
#

jo. grad auch gemerkt lul

restive herald
#

Will gerade nen Bot fürs vokabel lernen programmieren und will da nen edit_vocab prefix command machen, sollte ich das lieber direkt als argument übergeben im command oder als wait_for event?

#

also die vokabel

raven lotus
#

bei meinen Bot werden die / commands nicht angezeigt

ruby sparrow
raven lotus
#

was heißt das?

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @raven lotus, du bist jetzt Level 2 🎉

Du hast insgesamt 10 Nachrichten geschrieben.

Du hast <@&1042123300970696705> erhalten!

ruby sparrow
raven lotus
#

autorisier-code?

restive herald
#

Am besten als Bild, da sieht man es besser

restive herald
raven lotus
#

ne, die werden nicht angezeigt

solid ingot
#

schick mal deine main datei

ruby sparrow
raven lotus
#
@slash_command()
async def activity(
        self,
        ctx,
        typ: Option(str, choices=["game", "stream"]),
        name: Option(str)
    ):
    if typ == "game":
        act = discord.Game(name=name)
    else:
        act = discord.Streaming(
            name=name,
            url="Test"
        )

    await self.bot.change_presence(activity=act, status=discord.Status.online)
ruby sparrow
raven lotus
#

wo?

#

achso channel

ruby sparrow
tall gorge
raven lotus
#

wurde erledigt