#Allgemeine Hilfe

1 messages · Page 14 of 1

indigo sapphire
#

zuerst sucht der bot wo der user auf welchem server ist dann lädt er channel id oder name

urban glen
#

hm

solid ingot
#

ist das in einem cog?

topaz snow
brazen scarab
# urban glen hm

Bei mir war eben der Fehler, ich hatte discord.py und py-cord installiert... Habe discord.py weg gemacht und pycord neu installiert. Mein Fehler war weg.
(Ich hatte aber einen command error...)

urban glen
#

ok.

brazen scarab
solid ingot
#

dadurch wird dein ctx als self erkannt und dein text wird als ctx gewertet

indigo sapphire
#

wolltest eh helfen xD

urban glen
topaz snow
urban glen
#

Ich hab keine Ahnung von Pycord

indigo sapphire
urban glen
indigo sapphire
#

...

urban glen
#

_ _
_ _
_ _

#

Oh man..

indigo sapphire
#

sigma moment

urban glen
#

_ _
_ _
_ _
_ _

indigo sapphire
#

da bist du sprachlos

urban glen
#

da ist dein code wohl sprachlos

topaz snow
#

ich glaube bin dumm

urban glen
urban glen
#

Wo liegt denn das problem?

topaz snow
#

geht nicht

urban glen
#

Bisschen Präziser?

topaz snow
#

und hab self wahrscheinlich auch falsch hingeschrieben

urban glen
#

Was is da schwer anzugeben? xD

topaz snow
#

also weiß nicht genau wo ihr meint xD

urban glen
topaz snow
#

da vor ctx?

urban glen
#

ja

topaz snow
#

klappt dann auch nicht

urban glen
solid ingot
#

schau hier nochmal rein

brazen scarab
#

Meins sieht so aus (ich nutze auch pycord)
async def afk(ctx, *, reason: str): Da kann ich "reason" noch auswählen im /afk Befehl thinkingemoji_blue

topaz snow
#

Hab gerade nicht gemacht war gerade weg und aufeinmal gehts, hatte wohl noch nicht aktualisiert

fluid leaf
brazen scarab
fluid leaf
#

OH

#

Hab ich garnicht gecheckt oops

brazen scarab
#

Aber danke ._. xD

manic tusk
#

Kann mir jmd meinen Code von Nextcord zu discord.py umschreiben?

indigo sapphire
#

Ähm frag ChatGPT

urban glen
#

xD

indigo sapphire
#

Der sollte das können

urban glen
indigo sapphire
#

Kann sein

indigo sapphire
brazen scarab
urban glen
brazen scarab
#

Sein Code ist in discord.py aber er will das es in nextcord funktioniert thinkingemoji_blue

#

oder so

#

Ich hab keine Ahnung

indigo sapphire
#

Oh lol

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @indigo sapphire, du bist jetzt Level 26 🎉

urban glen
brazen scarab
urban glen
brazen scarab
#

Geile Antwort NC_Kek_Laugh

urban glen
#

Er hat einen Nextcord Code.
Weiß nicht wie man Nextcord installiert und will es umschreiben lassen zu d.py, weil er es selber nicht kann

brazen scarab
urban glen
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @past temple, du bist jetzt Level 16 🎉

brazen scarab
#

Hab ichs gewusst

#

xDD

urban glen
solid ingot
#

zuerst musst du im on_message Event prüfen, ob in der Nachricht ein Ping vorkommt, und dann ggf mit message.add_reaction() eine Reaktion hinzufügen

urban glen
#
  • Transcript und der ganze stuff
brazen scarab
indigo sapphire
indigo sapphire
#

Wenn du stirbst lach ich auch und komme nach dir dran

brazen scarab
#

Achso, yo kek

indigo sapphire
#

Und da kommt der nächste zB Sigma

brazen scarab
#

Keine Ahnung. Ich würds nicht tun. Frag lieber mal jemand anderes.

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @brazen scarab, du bist jetzt Level 7 🎉

#
Level Up!

Herzlichen Glückwunsch @trail locust, du bist jetzt Level 11 🎉

urban glen
#

ok.

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


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

    @slash_command()
    async def select1(self, ctx):
        await ctx.respond("Wähle Programmiersprachen aus", view=FantasyView())



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

class FantasyView(discord.ui.View):
    options = [
        discord.SelectOption(label="Phyton", description="Phyton Beschreibung", emoji="1061698204850208809"),
        discord.SelectOption(label="Java", description="Java Beschreibung", emoji="1061698204850208809"),
        discord.SelectOption(label="Javascript", description="Javascript Beschreibung", emoji="1061698204850208809")
    ]

    @discord.ui.select(
        min_values=1,
        max_values=2,
        placeholder="Triff eine Auswahl",
        options=options
    )
    async def select_callback(self, select, interaction):
        s = ""
        for auswahl in select.values:
            s += f"- {auswahl}\n"

        await interaction.response.send_message(f"Du hast folgendes ausgwählt:\n{s}")```
urban glen
#

Schön :D

#

Und was is damit? ._.

#

Ich habe versucht, dass dort ein Dropdown Menü kommt, aber jetzt steht dort Anwendung reagiert nicht.

#

Kann jemand helfen den Fehler zu finden?

urban glen
dense magnet
#

Bzw wann

urban glen
dense magnet
urban glen
urban glen
urban glen
dense magnet
urban glen
urban glen
urban glen
#

\🎉

#

🎉1061709683620057148

#

so richtig?

#

Machst du das über dieses Menu?

urban glen
urban glen
#

Musst über das auf Discord machen..

#

Is doch logisch

urban glen
#

Bin nicht am Handy

#

Und bei Standard Emojis kannst du auch einfach nur :DerNameVomEmoji: machen

#

Habs eingefügt und trotzdem kommt dort Anwendung reagiert nicht

urban glen
#

Als ich view=FantasyView()) eingegeben hab, hat es angefangen mit Anwendung reagiert nicht

quiet socket
#
Der Fehler "NameError: name 'when_mentioned' is not defined" bedeutet, dass du im Code eine Variable namens "when_mentioned" verwendest, die nicht definiert wurde.

Dies kann passieren, wenn du vergessen hast, die Variable zu definieren oder wenn du sie aus irgendeinem Grund entfernt hast.

Um den Fehler zu beheben, stelle sicher, dass die Variable "when_mentioned" korrekt definiert ist und dass sie in allen Stellen des Codes verwendet wird, an denen sie benötigt wird.```
#

ich verstehe nicht was damit gemeint ist

urban glen
#

Was is da so schwer zu verstehen? ._.

quiet socket
#

ich verstehe nicht wie ich das benutzen soll xd

urban glen
#

Was ist denn when_mentioned?

#

Also soweit ich weiß, gibt es when_mentioned_or("...")

#

Ah wait, hast du when_mentioned denn importiert? ._.

quiet socket
#

hmm

urban glen
#

..

quiet socket
#

was muss ich überhaupt importen?

#

ich weiss when mentioned

#

aber es kann ja von discord ,random etc sein

#

AH ICH HABS

urban glen
brazen scarab
#

Wie gebe ich nen Stern auf Github? Weiß das wer?

#

Ah NC_Blob_Facepalm Augen auf NC_Kek_Boom

tender horizon
#

wie kann ich mehre buttons in eine button class machen

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


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

    @slash_command()
    async def select1(self, ctx):
        await ctx.respond("Wähle Programmiersprachen aus", view=FantasyView())



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

class FantasyView(discord.ui.View):
    options = [
        discord.SelectOption(label="Phyton", description="Phyton Beschreibung", emoji=":tada:"),
        discord.SelectOption(label="Java", description="Java Beschreibung", emoji=":tada:"),
        discord.SelectOption(label="Javascript", description="Javascript Beschreibung", emoji=":tada:")
    ]

    @discord.ui.select(
        min_values=1,
        max_values=2,
        placeholder="Triff eine Auswahl",
        options=options
    )
    async def select_callback(self, select, interaction):
        s = ""
        for auswahl in select.values:
            s += f"- {auswahl}\n"

        await interaction.response.send_message(f"Du hast folgendes ausgwählt:\n{s}")```
#

Kann mir jemand sagen wo der Fehler ist?

#

Als ich view=FantasyView()) eingegeben hab, hat es angefangen mit Anwendung reagiert nicht

tender horizon
#

was iste denn der fehler code?

indigo sapphire
#

Danach die Button classe Einzel erstellen und in deine View classe einfügen

urban glen
indigo sapphire
# urban glen ```import discord from discord.ext import commands from discord.commands import ...
import discord
from discord.ext import commands
from discord.commands import slash_command


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

    @slash_command()
    async def select1(self, ctx):
        await ctx.respond("Wähle Programmiersprachen aus", view=FantasyView())



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

class FantasyView(discord.ui.View):
    options = [
        discord.SelectOption(label="Phyton", description="Phyton Beschreibung", emoji=":tada:"),
        discord.SelectOption(label="Java", description="Java Beschreibung", emoji=":tada:"),
        discord.SelectOption(label="Javascript", description="Javascript Beschreibung", emoji=":tada:")
    ]

    @discord.ui.select(
        min_values=1,
        max_values=2,
        placeholder="Triff eine Auswahl",
        options=options
    )
    async def select_callback(self, select, interaction):
        s = ""
        for auswahl in select.values:
            s += f"- {auswahl}\n"

        await interaction.response.send_message(f"Du hast folgendes ausgwählt:\n{s}")```
#

Für dich

#

Hast vergessen ```py

urban glen
indigo sapphire
indigo sapphire
urban glen
indigo sapphire
#

Ahja

urban glen
urban glen
indigo sapphire
indigo sapphire
urban glen
indigo sapphire
#

schau das mal an es ist sehr simple gemacht

urban glen
indigo sapphire
#

für den button etwa so:

#---Button configuration---

# Search for edit slash command
class SevenDSGCSelectUnitEditSearchButton(discord.ui.Button):
    def __init__(self, user: int):
        self.user=user
        super().__init__(
            label=f'{unit_search}',
            style=discord.ButtonStyle.primary,
            emoji='![Agentsearch](https://cdn.discordapp.com/emojis/1039115380939034645.webp?size=128 "Agentsearch")',
        )
    async def callback(self, interaction):
        await interaction.response.send_modal(
                EditModalViewInput_Search_Unit(
                    user=self.user,
                    title='Unit_Search'
                )
            )
indigo sapphire
indigo sapphire
#

für dropdown:

#---Dropwdown UI---

# Select Columns Dropdown
class Dropdown_Select_Columns(discord.ui.Select):
    def __init__(self, options, user: int, placeholder: str):
        self.user=user
        super().__init__(
            min_values=1,
            max_values=1,
            placeholder=placeholder,
            options=options,
        )
    async def callback(self, interaction):
        await interaction.response.send_modal(
            ADD_EditModalViewInput(
                user=self.user,
                Where=self.values[0],
                title=self.values[0]
            )
        )
#

option variable:

#

kannst du es nachhinein einfügen

urban glen
urban glen
indigo sapphire
#

etwa so:

# Für Dropdown search Ui
sad= [
    #search for 7DSGC Unit
    discord.SelectOption(
        label='Unit Name',
        description='Diese Option durchsucht 7DSGC Unit in DatenBank.',
        emoji='![Agentsearch](https://cdn.discordapp.com/emojis/1039115380939034645.webp?size=128 "Agentsearch")',
        value=unit_search
    ),
    discord.SelectOption(
        label='Unit List',
        description='Diese Option durchsucht all 7DSGC Unit in der DatenBank.',
        emoji='![teamsearch](https://cdn.discordapp.com/emojis/1039115902488154172.webp?size=128 "teamsearch")',
        value=unit_list
    ),
]
indigo sapphire
urban glen
#

ok

urban glen
urban glen
#

Okay

#

Aber ich brauche die Lösung für das Problem

indigo sapphire
#

jaja wait

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


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

    @slash_command()
    async def select1(self, ctx):
        await ctx.respond("Wähle Programmiersprachen aus", view=FantasyView())



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

class FantasyView(discord.ui.View):
    options = [
        discord.SelectOption(label="Phyton", description="Phyton Beschreibung"),
        discord.SelectOption(label="Java", description="Java Beschreibung"),
        discord.SelectOption(label="Javascript", description="Javascript Beschreibung")
    ]

    @discord.ui.select(
        min_values=1,
        max_values=2,
        placeholder="Triff eine Auswahl",
        options=options
    )
    async def select_callback(self, select, interaction):
        s = ""
        for auswahl in select.values:
            s += f"- {auswahl}\n"

        await interaction.response.send_message(f"Du hast folgendes ausgwählt:\n{s}")
#

liegt an deine emoji

#

du musst es so eingeben

urban glen
#

Wie bekomme ich den die ID von 🎉 z.B.

#

?

indigo sapphire
#

\🎉

urban glen
#

Jetzt funktioniert es

#

Danke

indigo sapphire
#

bitte

tender horizon
#
Ignoring exception in modal <cogs.feedbeck.feedback_modal object at 0x000001AA00FDC790>:
Traceback (most recent call last):
  File "C:\Python310\lib\site-packages\discord\ui\modal.py", line 340, in dispatch
    await value.callback(interaction)
  File "e:\bot\cogs\feedbeck.py", line 84, in callback
    await channel.send(embed=embed, view=feedback_button(self.children[0].value))
  File "C:\Python310\lib\site-packages\discord\abc.py", line 1524, in send
    components = view.to_components()
  File "C:\Python310\lib\site-packages\discord\ui\view.py", line 215, in to_components
    children = sorted(self.children, key=key)
AttributeError: 'feedback_button' object has no attribute 'children'
#
class feedback_modal(discord.ui.Modal):
    def __init__(self, bot, *args, **kwargs):
        self.bot = bot
        super().__init__(
            discord.ui.InputText(
                label="Hier kannst du dein Feedback eingeben",
                placeholder="Feedback eingeben"
            ),
            *args,
            **kwargs
        )
    async def callback(self, interaction):
        c.execute('SELECT * FROM feedback WHERE guild_id= ?', (interaction.guild.id,))
        if c.fetchone() != None:
            c.execute('SELECT channel_id FROM feedback WHERE guild_id= ?', (interaction.guild.id,))
            channel_id = c.fetchone()[0]
            channel = self.bot.get_channel(channel_id)
            await interaction.response.send_message('Feedback wurde gesendet.', ephemeral=True)
            embed = discord.Embed(description=self.children[0].value, color=discord.Color.yellow())
            await channel.send(embed=embed, view=feedback_button(self.children[0].value))
        else:
            return await interaction.response('Feedback System ist nicht Aktiviert!', ephemeral=True)```
#
class feedback_button(discord.ui.View):
    def __init__(self, feedback):
        self.feedback = feedback
    @discord.ui.button(label="⭐", custom_id="einstern")
    async def einstern_button_callback(self, button, interaction):
        embed = discord.Embed(description=self.feedback, color=discord.Color.red(), timestamp=datetime.utcnow())
        embed.set_author(name=f'{interaction.user}{interaction.user.id}', icon_url=interaction.user.avatar.url)
        embed.set_footer(text=f'⭐')
        await interaction.response.edit_message(embed=embed, view=None)
#

irgend wer ne idee gegen denfehler?

indigo sapphire
#

AttributeError: 'feedback_button' object has no attribute 'children'

tender horizon
#

ja das kann ich selber lesen

indigo sapphire
#

ik$

tender horizon
#

aber wass muss ich verändern das was anderes raus kommt

indigo sapphire
#

für was modal?
class feedback_modal(discord.ui.Modal):

tender horizon
#

insgeasammt

indigo sapphire
#

und embed title?

#

versuche mal view classe

#

button classe etwa so:

#
# Search for edit slash command
class SevenDSGCSelectUnitEditSearchButton(discord.ui.Button):
    def __init__(self, user: int):
        self.user=user
        super().__init__(
            label="⭐",
            style=discord.ButtonStyle.primary,
            custom_id="einstern"
        )
    async def callback(self, interaction):
indigo sapphire
#

und evt den embed title

solid ingot
#

irgendwo musst du die aktuelle Zahl speichern, zB in einer Datenbank

urban glen
#
    discord.SelectOption(label="Phyton", description="Phyton Beschreibung", emoji=":tada:"),
    discord.SelectOption(label="Java", description="Java Beschreibung", emoji=":tada:"),
    discord.SelectOption(label="Javascript", description="Javascript Beschreibung", emoji=":tada:", value="JS")
]

ja = discord.SelectOption(label="Okay", emoji=":tada:")

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

    @commands.Cog.listener()
    async def on_ready(self):
        self.bot.add_view(FantasyView())

    @slash_command()
    async def select1(self, ctx):
        await ctx.respond("Wähle Programmiersprachen aus", view=FantasyView())

    @slash_command()
    async def select2(self, ctx):
        select =FantasySelect()
        select.append_option(ja)
        view = discord.ui.View(timeout=None)
        view.add_item(select)

        await ctx.respond(view=view)



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

class FantasySelect(discord.ui.Select):
    def __init__(self,):
        super().__init__(
            min_values=1,
            max_values=1,
            placeholder="Triff eine Auswahl",
            options=options
        )

    async def callback(self, interaction):
        await interaction.response.send_message(f"Du hast {self.values[0]} gewählt ")



class FantasyView(discord.ui.View):
    def __init__(self):
        super().__init__(timeout=None)




    @discord.ui.select(
        min_values=1,
        max_values=2,
        placeholder="Triff eine Auswahl",
        options=options,
        custom_id="okay"
    )
    async def select_callback(self, select, interaction):
        if "Phyton" in select.values:


            select.append_option(ja)
            await interaction.response.edit_message(view=self)
        else:
            s = ""
            for auswahl in select.values:
                s += f"- {auswahl}\n"

       await interaction.response.send_message(f"Du hast folgendes ausgwählt:\n{s}")```
#

Was heißt das?

#

Wenn ich bei Select 1 Phyton auswähle, damit ein Feld unten auftaucht kommt ein Fehler, nachdem der aufgetaucht ist

solid ingot
#

du musst der variable einen Wert zuweisen bevor du sie benutzt

urban glen
#

Im Tutorial hast du es soweit ich es sehe genauso gemacht

#

Oder hab ich etwas falsch gesehen?

solid ingot
#

bin Grad nur am Handy, muss ich mir zu Hause genauer ansehen

urban glen
#

Alles klar

manic tusk
quiet socket
#

weiss jemand wie ich .eval einrichten kann?

urban glen
#

Is aber kompliziert

brazen scarab
#

Lösch das wieder kek Funktioniert ja jetzt

tender horizon
#
Ignoring exception in command user_info:
Traceback (most recent call last):
  File "C:\Python310\lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
  File "C:\Python310\lib\site-packages\discord\commands\core.py", line 970, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "e:\bot\cogs\info.py", line 46, in user_info
    embed.set_author(name=f'{user}{user.id}', icon_url = user.avatar.url)
AttributeError: 'NoneType' object has no attribute 'url'

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

Traceback (most recent call last):
  File "C:\Python310\lib\site-packages\discord\bot.py", line 1088, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "C:\Python310\lib\site-packages\discord\commands\core.py", line 374, in invoke
    await injected(ctx)
  File "C:\Python310\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: 'NoneType' object has no attribute 'url'```
#
@slash_command(description="Zeige Infos über einen User")
    async def user_info(self, ctx, user : Option(discord.Member, default = None)):
        if user == None:
            user = ctx.author
        embed = discord.Embed(color=discord.Color.orange())
        embed.set_author(name=f'{user}{user.id}', icon_url = user.avatar.url)
        embed.set_footer(text=user.id)
        await ctx.respond(embed=embed)```
solid ingot
#

der user hat kein avatar

tender horizon
#

oh stimmt danke also ambesten mit try?

solid ingot
#

entweder das oder du benutzt display_avatar

tender horizon
#

ok danke

tender horizon
#

wie kann man ausgeben wann ein user dem server beigetretten ist

indigo sapphire
#

Wie kann ich ein bot naricht senden wenn der bot Joint?

#

Sollte naricht Schreiben wo die welcome ist

tender horizon
#
@slash_command(description="Zeige Infos über einen User")
    async def user_info(self, ctx, user : Option(discord.Member, default = None)):
        if user == None:
            user = ctx.author
        embed = discord.Embed(description=f"Account erstellt: {user.created_at}", color=discord.Color.orange())
        embed.set_author(name=f'{user}', icon_url = user.display_avatar.url)
        embed.set_footer(text=user.id)
        await ctx.respond(embed=embed)








UndercoverAgent#8844
Account erstellt: 2021-10-16 19:51:19.457000+00:00
899021713260564510
#

wie kann ich das schöner machen?

#

also die zeit

solid ingot
#

listening

tender horizon
tender horizon
dense magnet
indigo sapphire
dense magnet
indigo sapphire
#

Ty

dense magnet
urban glen
#
    discord.SelectOption(label="Phyton", description="Phyton Beschreibung", emoji=":tada:"),
    discord.SelectOption(label="Java", description="Java Beschreibung", emoji=":tada:"),
    discord.SelectOption(label="Javascript", description="Javascript Beschreibung", emoji=":tada:", value="JS")
]

ja = discord.SelectOption(label="Okay", emoji=":tada:")

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

    @commands.Cog.listener()
    async def on_ready(self):
        self.bot.add_view(FantasyView())

    @slash_command()
    async def select1(self, ctx):
        await ctx.respond("Wähle Programmiersprachen aus", view=FantasyView())

    @slash_command()
    async def select2(self, ctx):
        select =FantasySelect()
        select.append_option(ja)
        view = discord.ui.View(timeout=None)
        view.add_item(select)

        await ctx.respond(view=view)



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

class FantasySelect(discord.ui.Select):
    def __init__(self,):
        super().__init__(
            min_values=1,
            max_values=1,
            placeholder="Triff eine Auswahl",
            options=options
        )

    async def callback(self, interaction):
        await interaction.response.send_message(f"Du hast {self.values[0]} gewählt ")



class FantasyView(discord.ui.View):
    def __init__(self):
        super().__init__(timeout=None)




    @discord.ui.select(
        min_values=1,
        max_values=2,
        placeholder="Triff eine Auswahl",
        options=options,
        custom_id="okay"
    )
    async def select_callback(self, select, interaction):
        if "Phyton" in select.values:


            select.append_option(ja)
            await interaction.response.edit_message(view=self)
        else:
            s = ""
            for auswahl in select.values:
                s += f"- {auswahl}\n"

       await interaction.response.send_message(f"Du hast folgendes ausgwählt:\n{s}")```
indigo sapphire
#

Oder auch für bot?

urban glen
dense magnet
urban glen
indigo sapphire
dense magnet
urban glen
dense magnet
tender horizon
#
Ignoring exception in command user_info:
Traceback (most recent call last):
  File "C:\Python310\lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
  File "C:\Python310\lib\site-packages\discord\commands\core.py", line 970, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "e:\bot\cogs\info.py", line 44, in user_info
    date_object = datetime.strptime(f"{user.created_at}", "%d %B, %Y")
AttributeError: module 'datetime' has no attribute 'strptime'

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

Traceback (most recent call last):
  File "C:\Python310\lib\site-packages\discord\bot.py", line 1088, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "C:\Python310\lib\site-packages\discord\commands\core.py", line 374, in invoke
    await injected(ctx)
  File "C:\Python310\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: module 'datetime' has no attribute 'strptime'
#
@slash_command(description="Zeige Infos über einen User")
    async def user_info(self, ctx, user : Option(discord.Member, default = None)):
        if user == None:
            user = ctx.author
        date_object = datetime.strptime(f"{user.created_at}", "%d %B, %Y")
        embed = discord.Embed(description=f"Account erstellt: {date_object}", color=discord.Color.orange())
        embed.set_author(name=f'{user}', icon_url = user.display_avatar.url)
        embed.set_footer(text=user.id)
        await ctx.respond(embed=embed)```
urban glen
# dense magnet

Also ich habe im Tutorial geschaut und dort gab es anscheinend kein Fehler was mich jetzt wundert und auch kein print

urban glen
dense magnet
#

Das das nicht im Video steht ist schon klar...

urban glen
#

Das war das Tutorial von Timo

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @hollow birch, du bist jetzt Level 7 🎉

solid ingot
solid ingot
urban glen
#

Okay ich schaue gleich nochmal nach

#

Vielleicht hab ich was übersehen

solid ingot
#

error?

indigo sapphire
#

Ich frag mich nur warum activity ändern?

solid ingot
#

warum nicht?

thick haven
#

Weiss jmd wie ich schauen kann ob ein suer gemutet im voice chat sit

brazen scarab
#

Hab ich dir doch schon gefixt?

urban glen
#

Gibt es hier zufällig jemanden der ahnung von .lua hat

tender horizon
#

ne

urban glen
#

Und mit member.joined_at

fluid leaf
#

Error: discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: NameError: name 'messageid' is not defined

Code:

    @blacklist.command(description='Remove einen User von der Product Blacklist')
    @commands.has_role(1059236066529382400)
    async def remove(self, ctx, nachrichtenid: Option(str, 'Nachrichten ID', required=True), grund: Option(str, 'Warum soll die Blacklist entfernt werden.')):
        confirm = discord.Embed(
            title="**Blacklist wurde erfolgreich entfernt**",
            description=f'Die Blacklist mit der Nachrichtenid {nachrichtenid} wurde gerade gelöscht.',
            color=0x2F3136
        )

        await ctx.delete(messageid)
        await ctx.respond(embed=confirm, ephemeral=True)
urban glen
#

Wie es im error steht, es ist nicht definiert

fluid leaf
#

Ist doch da

brazen scarab
#

Dann wäre es aber nachrichtenid und nicht messageid

fluid leaf
#

OHHHH

#

Ok

brazen scarab
tender horizon
fluid leaf
#
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: TypeError: ApplicationContext.delete() takes 1 positional argument but 2 were given
    @blacklist.command(description='Remove einen User von der Product Blacklist')
    @commands.has_role(1059236066529382400)
    async def remove(self, ctx, nachrichtenid: Option(str, 'Nachrichten ID', required=True), grund: Option(str, 'Warum soll die Blacklist entfernt werden.')):
        confirm = discord.Embed(
            title="**Blacklist wurde erfolgreich entfernt**",
            description=f'Die Blacklist mit der Nachrichtenid {nachrichtenid} wurde gerade gelöscht.',
            color=0x2F3136
        )

        await ctx.delete(nachrichtenid)
        await ctx.respond(embed=confirm, ephemeral=True)
urban glen
urban glen
fluid leaf
#

Und wie gette ich die denn?

#

nachricht = await self.client.get_message(nachrichtenid) ?

tender horizon
fluid leaf
urban glen
#

Zu nem unix timestamp?

tender horizon
#

ja

urban glen
fluid leaf
#

okö

urban glen
urban glen
#

Dafür brauchst du die "time" library

fluid leaf
#

gibt aber auch eine andere möglichkeit

urban glen
#

Gibt viele "möglichkeiten"

fluid leaf
#
joined = discord.utils.format_dt(user.joined_at, "R")
``` so mach ich das immer
fluid leaf
urban glen
fluid leaf
#

du heilige

urban glen
#
guild = ctx.guild
channel = ctx.channel # oder anderer channel halt
message = channel.get_message(nachrichtenid)
fluid leaf
#
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'TextChannel' object has no attribute 'get_message'
#
    @blacklist.command(description='Remove einen User von der Product Blacklist')
    @commands.has_role(1059236066529382400)
    async def remove(self, ctx, nachrichtenid: Option(str, 'Nachrichten ID', required=True), grund: Option(str, 'Warum soll die Blacklist entfernt werden.')):
        confirm = discord.Embed(
            title="**Blacklist wurde erfolgreich entfernt**",
            description=f'Die Blacklist mit der Nachrichtenid {nachrichtenid} wurde gerade gelöscht.',
            color=0x2F3136
        )

        guild = ctx.guild
        channel = await self.client.fetch_channel(1062094690175955056)
        message = channel.get_message(nachrichtenid)

        try:
            await message.delete
            await ctx.respond(embed=confirm, ephemeral=True)
        except:
            await ctx.respond("Bitte lass die Nachricht manuell löschen")
urban glen
#

Idk bei mir geht's so

urban glen
wise stone
#

nichts da mit get

urban glen
wise stone
#

ist privat bot

urban glen
#

Hä und?

wise stone
#

solange es geht panda_shrug_blue

urban glen
#

Er schickt damit trotzdem unnötige Api Calls an die Discord APi

#

Wenn er es zu oft macht, kann er nh Api ban bekommen

#

Oder sowas in der art

urban glen
#

Okay

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

options = [
    discord.SelectOption(label="Phyton", description="Phyton Beschreibung", emoji=":tada:"),
    discord.SelectOption(label="Java", description="Java Beschreibung", emoji=":tada:"),
    discord.SelectOption(label="Javascript", description="Javascript Beschreibung", emoji=":tada:", value="JS")
]

ja = discord.SelectOption(label="Okay", emoji=":tada:")

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

    @commands.Cog.listener()
    async def on_ready(self):
        self.bot.add_view(FantasyView())

    @slash_command()
    async def select1(self, ctx):
        await ctx.respond("Wähle Programmiersprachen aus", view=FantasyView())

    @slash_command()
    async def select2(self, ctx):
        select =FantasySelect()
        select.append_option(ja)
        view = discord.ui.View(timeout=None)
        view.add_item(select)

        await ctx.respond(view=view)```
#
    bot.add_cog(Dropdown(bot))

class FantasySelect(discord.ui.Select):
    def __init__(self):
        super().__init__(
            min_values=1,
            max_values=1,
            placeholder="Triff eine Auswahl",
            options=options
        )

    async def callback(self, interaction):
        await interaction.response.send_message(f"Du hast {self.values[0]} gewählt")



class FantasyView(discord.ui.View):
    def __init__(self):
        super().__init__(timeout=None)




    @discord.ui.select(
        min_values=1,
        max_values=2,
        placeholder="Triff eine Auswahl",
        options=options,
        custom_id="okay"
    )
    async def select_callback(self, select, interaction):
        if "Phyton" in select.values:
            labels = [option.label for option in select.options]
            if "ja" not in labels:
                select.append_option(ja)
            else:
                select.disabled = True

            await interaction.response.edit_message(view=self)
        else:
            s = ""
            for auswahl in select.values:
                s += f"- {auswahl}\n"

        await interaction.response.send_message(f"Du hast folgendes ausgwählt:\n{s}")```
solid ingot
#

das untere await interaction.response muss noch einen tab nach rechts gerückt werden

#

das soll ja nur im else-fall ausgeführt werden

urban glen
#

Perfekt danke

#

Alles funktioniert jetzt einbandfrei

snow hatch
#

Moin habe eine Frage
Ist Pycord von den ganzen befehlen und so wie eine neue Programmiersprache? Ist es sinnvoll das alles mit z.b. deinen Videos zu machen, da ich danach gerne frei coden möchte und toturials ja Theorie nur abschreiben ist
Oder kann man sich durch die Pycord Liste alles selbst bei bringen ?

urban glen
snow hatch
#

Also was genau sind für dich die Grundlagen? Lerne gerade Phyton und kann halt Sachen wie schleifen, variablen und so

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @snow hatch, du bist jetzt Level 5 🎉

Du hast <@&1024276691205496872> erhalten!

thick haven
lofty haven
#
Ignoring exception in command blackjack:
Traceback (most recent call last):
  File "D:\Users\Benjamin\Documents\Discord\Mini Boss PRO\lib\site-packages\discord\ext\commands\core.py", line 178, in wrapped
    ret = await coro(*args, **kwargs)
  File "D:\Users\Benjamin\Documents\Discord Bot\Mini Boss PRO\cogs\blackjack.py", line 119, in blackjack
    msg = await out_table(
  File "D:\Users\Benjamin\Documents\Discord Bot\Mini Boss PRO\cogs\blackjack.py", line 94, in out_table
    msg: discord.Message = await ctx.send(embed=embed, file=file)
  File "D:\Users\Benjamin\Documents\Discord\Mini Boss PRO\lib\site-packages\discord\abc.py", line 1562, in send
    data = await state.http.send_files(
  File "D:\Users\Benjamin\Documents\Discord\Mini Boss PRO\lib\site-packages\discord\http.py", line 366, in request
    raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50006): Cannot send an empty message

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

Traceback (most recent call last):
  File "D:\Users\Benjamin\Documents\Discord\Mini Boss PRO\lib\site-packages\discord\ext\commands\bot.py", line 347, in invoke
    await ctx.command.invoke(ctx)
  File "D:\Users\Benjamin\Documents\Discord\Mini Boss PRO\lib\site-packages\discord\ext\commands\core.py", line 950, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "D:\Users\Benjamin\Documents\Discord\Mini Boss PRO\lib\site-packages\discord\ext\commands\core.py", line 187, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: HTTPException: 400 Bad Request (error code: 50006): Cannot send an empty message
Ignoring exception in command blackjack:```
#
Traceback (most recent call last):
  File "D:\Users\Benjamin\Documents\Discord\Mini Boss PRO\lib\site-packages\discord\ext\commands\core.py", line 178, in wrapped
    ret = await coro(*args, **kwargs)
  File "D:\Users\Benjamin\Documents\Discord Bot\Mini Boss PRO\cogs\blackjack.py", line 119, in blackjack
    msg = await out_table(
  File "D:\Users\Benjamin\Documents\Discord Bot\Mini Boss PRO\cogs\blackjack.py",```
#
line 94, in out_table
    msg: discord.Message = await ctx.send(embed=embed, file=file)
  File "D:\Users\Benjamin\Documents\Discord\Mini Boss PRO\lib\site-packages\discord\abc.py", line 1562, in send
    data = await state.http.send_files(
  File "D:\Users\Benjamin\Documents\Discord\Mini Boss PRO\lib\site-packages\discord\http.py", line 366, in request
    raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 0): <html>
<head><title>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<hr><center>cloudflare</center>
</body>
</html>


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

Traceback (most recent call last):
  File "D:\Users\Benjamin\Documents\Discord\Mini Boss PRO\lib\site-packages\discord\ext\commands\bot.py", line 347, in invoke
    await ctx.command.invoke(ctx)
  File "D:\Users\Benjamin\Documents\Discord\Mini Boss PRO\lib\site-packages\discord\ext\commands\core.py", line 950, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "D:\Users\Benjamin\Documents\Discord\Mini Boss PRO\lib\site-packages\discord\ext\commands\core.py", line 187, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: HTTPException: 400 Bad Request (error code: 0): <html>
<head><title>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<hr><center>cloudflare</center>
</body>
</html>```
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @lofty haven, du bist jetzt Level 9 🎉

lofty haven
#

kann mir bitte jemand sagen was dort falsch ist und wie ich das beheben kann

#
def make_embed(title=None, description=None, color=None, author=None,
               image=None, link=None, footer=None) -> Embed:
    """Wrapper for making discord embeds"""
    arg = lambda x: x or Embed.Empty
    embed = Embed(
        title=arg(title),
        description=arg(description),
        url=arg(link),
        color=color if color else Color.random()
    )
    if author: embed.set_author(name=author)
    if image: embed.set_image(url=image)
    if footer: embed.set_footer(text=footer)
    else:
        embed.set_footer(text=datetime.now().strftime("%m/%d/%Y %H:%M:%S"))
    return embed```
Das ist das embed was verwendet wird
#
        async def out_table(**kwargs) -> discord.Message:
            """Sends a picture of the current table"""
            self.output(ctx.author.id, dealer_hand, player_hand)
            embed = make_embed(**kwargs)
            file = discord.File(
                f"{ctx.author.id}.png", filename=f"{ctx.author.id}.png"
            )
            embed.set_image(url=f"attachment://{ctx.author.id}.png")
            msg: discord.Message = await ctx.send(embed=embed, file=file)
            return msg```
Und hier wird es verwendet
brazen scarab
#

Gehören die Errors von Oben da zu oder wie muss man sich das anschauen? @lofty haven

lofty haven
#

also das sind die Errors die entstehen

lofty haven
brazen scarab
#
def make_embed(title="default title", description="default description", color=None, author=None, image=None, link=None, footer=None) -> Embed:
    """Wrapper for making discord embeds"""
    embed = Embed(
        title=title,
        description=description,
        url=link,
        color=color if color else Color.random()
    )
    if author: embed.set_author(name=author)
    if image: embed.set_image(url=image)
    if footer: embed.set_footer(text=footer)
    else:
        embed.set_footer(text=datetime.now().strftime("%m/%d/%Y %H:%M:%S"))
    return embed```

Versuch das mal
lofty haven
#

ok bin grad nicht zuhause ich versuche es nachher mal vielen dank

brazen scarab
lofty haven
#

ok dankepeepopray

frail pewter
#

Hallo ich suche einen weg meinen bot 24/7 zu hosten finde aber nur wege um discord.py bots zu hosten

brazen scarab
frail pewter
brazen scarab
# frail pewter Wenn ich wüsste was die unterschiede bzw vorteile sind

Wenn du über einen Discord hostest, ist es meist gratis. Dann musst du alle 24 Stunden die Zeit vom Bot verlängern.. Oder du umgehst das mit einem Server Boost.
Du kannst dir aber für ~1.50€ Pro Monat einen Host kaufen ... Da brauchste nicht auf einem Discord sitzen und immer verlängern.

frail pewter
brazen scarab
thick haven
#

Aber ich hoffe alles geht mit login und Registrierung weil ich bau um gerade

thick haven
#

Ja weiß ich XD

brazen scarab
thick haven
#

Hab ich heute früh gesehen weil ich verkackt habe gestern abend XD

brazen scarab
#

Login mit Discord geht nicht.

thick haven
brazen scarab
thick haven
#

Ich hasse mei. Leben XD

brazen scarab
#

Ich bin enttäuscht.

thick haven
#

Gut dann geht der Dreck Schon wieder ned ich vergesse es immer zu Speicher 😦

#

Du kannst es versuchen dich zu reg ohne Discord

brazen scarab
#

@lofty haven Ich wollte dich grade beim Besitzer melden, das User einfach jemanden per DM anschreiben und um Hilfe bitte ohne zu Fragen kekw Schreib doch hier hahaha

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @brazen scarab, du bist jetzt Level 8 🎉

lofty haven
#

mach ich jetzt ich hoffe du kannst mir vergebenpeepopray

#

kann mir bitte jemand helfen wo das Problem liegt und was ich dagegen tun kann

brazen scarab
#

Ach ich sehe es jetzt

#

aiohttp.client_exceptions.ClientOSError: [WinError 64] Der angegebene Netzwerkname ist nicht mehr verfügbar

#

Deine Datenbank

#

Oder was auch immer aiohttp ist

#

Antwort von GitHub :


Maybe an antivirus is flagging the connection?```
lofty haven
#

was ist aiohttp ich wüsste nicht wo ich das verwende

brazen scarab
#

Es steht so in deinem Error hahahaha

lofty haven
#

ja hab ich auch gesehen😂 danke ich google einfach ma

brazen scarab
#

Warte mal.

#

Du musst doch wissen was in deinem Code geschrieben ist seqWtf

lofty haven
#

ja weiß ich doch

#

aber davon weiß ich ja nix das ist ja das problem

#

ich hab nur asyncio verwendet

#

ich installiere es einfach ma mal gucken obs geht

brazen scarab
#

Irgendwo musst du aiohttp angegeben haben. Sonst würdest du den Error nicht erhalten

#

Ich hab halt auch nur die Hälfte von deinem Code... xD

lofty haven
#

nee es steht wirklich nirgends

brazen scarab
#

Schick mir das mal

#

CMD -> pip freeze

lofty haven
#

achso vlt ist auch das problem dass ich es installiert habe

brazen scarab
#

Ich habs auch installiert.

#

Das wird nicht das Problem sein

lofty haven
#

weil das wurde irgendwie mit py-cord automatisch installiert

lofty haven
brazen scarab
#

Schreib mal in die cmd -> pip list --outdated und schick mir mal nen Screenshot bitte

lofty haven
brazen scarab
#

Leider kann ich Benni nicht helfen ... Wenn also jemand eine Idee hat ...

def make_embed(title="default title", description="default description", color=None, author=None, image=None, link=None, footer=None) -> Embed:
    """Wrapper for making discord embeds"""
    embed = Embed(
        title=title,
        description=description,
        url=link,
        color=color if color else Color.random()
    )
    if author: embed.set_author(name=author)
    if image: embed.set_image(url=image)
    if footer: embed.set_footer(text=footer)
    else:
        embed.set_footer(text=datetime.now().strftime("%m/%d/%Y %H:%M:%S"))
    return embed```
snow hatch
#

Viele Leute sagen mir das Java besser füt Discord bots ist, stimmt das? Hat man damit wirklich mehr Möglichkeiten
Oder kann ich alles genauso gut mit Phyton?

#

Und warum

#

Begründung wäre nett danke

#

Weil einfach sagen das ist das beste kann jeder
Ich kann auch sagen meine Videos sind die besten, ob es stimmt ist die andere Frage

tender horizon
#

Ich denk nimm das was du besser kannst ich glaube du kannst mit beiden gleich viel

solid ingot
snow hatch
#

OK

#

Dann letzte Frage:
Warum genau Pycord? Bzw
Was ist der unterschied zwischen Pycord und discord.py?

solid ingot
#

Pycord basiert auf Discord.py, aber mittlerweile wird Pycord eigenständig entwickelt

#

Ursprünglich wollte der Entwickler von discord.py aufhören, deswegen ist Pycord entstanden

#

Dann wollte er doch nicht mehr aufhören, aber ich finde die Umsetzung der neuen Features von Pycord besser

snow hatch
#

Ok

#

Also theoretisch das gleiche?

solid ingot
#

früher ja, aber mittlerweile gibt es sehr starke unterschiede

solid ingot
#

was ist dein problem

brazen scarab
#

Beim skipen wird nur die Antwort bearbeitet

tender horizon
#
Ignoring exception in view <View timeout=None children=1> for item <kategorie_select placeholder='Wähle deine Shop Kategorie' min_values=0 max_values
=1 options=[<SelectOption label='Bages' value='bages' description='erhalte einen Ping bei Updates' emoji=None default=False>, <SelectOption label='It
ems' value='items' description='erhalte einen Ping bei Neuigkeiten' emoji=None default=False>, <SelectOption label='Rollen' value='rollen' descriptio
n='erhalte einen Ping bei Events' emoji=None default=False>, <SelectOption label='Häuser' value='häuser' description='erhalte einen Ping bei Umfragen
' emoji=None default=False>] disabled=False>:
Traceback (most recent call last):
  File "C:\Python310\lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
    await item.callback(interaction)
  File "e:\bot\cogs\item_system.py", line 59, in callback
    await interaction.response.edit_message(embed=embed, view=view)
  File "C:\Python310\lib\site-packages\discord\interactions.py", line 961, in edit_message
    await self._locked_response(
  File "C:\Python310\lib\site-packages\discord\interactions.py", line 1090, in _locked_response
    await coro
  File "C:\Python310\lib\site-packages\discord\webhook\async_.py", line 215, in request
    raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In embeds.0.color: int value should be less than or equal to 16777215.
Ignoring exception in view <View timeout=None children=1> for item <kategorie_select placeholder='Wähle deine Shop Kategorie' min_values=0 max_values
=1 options=[<SelectOption label='Bages' value='bages' description='erhalte einen Ping bei Updates' emoji=None default=False>, <SelectOption label='It
ems' value='items' description='erhalte einen Ping bei Neuigkeiten' emoji=None default=False>, <SelectOption label='Rollen' value='rollen' descriptio
n='erhalte einen Ping bei Events' emoji=None default=False>, <SelectOption label='Häuser' value='häuser' description='erhalte einen Ping bei Umfragen
' emoji=None default=False>] disabled=False>:
Traceback (most recent call last):
  File "C:\Python310\lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
    await item.callback(interaction)
  File "e:\bot\cogs\item_system.py", line 59, in callback
    await interaction.response.edit_message(embed=embed, view=view)
  File "C:\Python310\lib\site-packages\discord\interactions.py", line 961, in edit_message
    await self._locked_response(
  File "C:\Python310\lib\site-packages\discord\interactions.py", line 1090, in _locked_response
    await coro
  File "C:\Python310\lib\site-packages\discord\webhook\async_.py", line 215, in request
    raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In embeds.0.color: int value should be less than or equal to 16777215.```
#
elif self.values[0] == "rollen":
            embed = discord.Embed(title="__ROLLEN__", color=0xf50aff)
            button=home_button()
            select=role_select()
            view=discord.ui.View(timeout=None)
            view.add_item(select)
            view.add_item(button)
            await interaction.response.edit_message(embed=embed, view=view)
brazen scarab
#
    @commands.Cog.listener()
    async def on_message(self, message):
        user = message.author
        if user in self.afk_users:
            await user.edit(nick=user.name)
            for mention_user in message.mentions:
                if mention_user in self.afk_users:
                    if message.author == self.bot:
                        return
                    else: 
                        await message.channel.send(f"Der User ist gerade AFK. Grund: {self.afk_users[mention_user]}")```

jemand ne Idee, wo der Fehler ist?
tawdry leaf
brazen scarab
#

Nein

#

Bekomme aber await message.channel.send(f"Der User ist gerade AFK. Grund: {self.afk_users[mention_user]}") des ned ...

brazen scarab
#

Aber ja es muss self.bot sein

dense magnet
#

Jo

#

Sonst probier über ID auch wenns keinen Unterschied machen dürfte

#

Aso ne

brazen scarab
#

😅

dense magnet
#

is ist nicht dasselbe wie ==

#

Bei is überprüft er nicht die Variable an sich

brazen scarab
#

Das ist Pycord. Da ist doch mit is Lara_guckt oder nicht? Ich bin zu müde Sadge

dense magnet
#

Ne das hat nichts mit pycord zu tun das ist einfach nur python

brazen scarab
dense magnet
brazen scarab
#

Glaube ab for muss noch einmal nach rechts eingerückt werden. blob_think

#

Meh gucken morgen. Danke erstmal und gute Nacht.

dense magnet
brazen scarab
#

😂😂😂😂😂😂😂😂😂😂

dense magnet
#

Ich sehs zwar nd gut sieht aber so aus als wäre sie in der Abfrage ob der user in den afk Usern steht

#

Ja das muss rüber

#

Sonst überprüft er das nur wenn ein User geschrieben hat der grade in self.afk_users steht

brazen scarab
#

Also unter die if Abfrage für den User also nach links?

dense magnet
#

Jup

brazen scarab
#

Gut… ja jetzt sehe ich es auch FalseFacePalmLaugh

dense magnet
#

xd

floral monolith
frail pewter
#

Guten Morgen ich wollte mal generell fragen wo ich Infos zu pycord find ich suche immer tutorials um bestimmte dinge zu Code aber finde immer nur alles für discord.py und nicht für pycord.Kann mir da jemand helfen?

brazen scarab
frail pewter
brazen scarab
#

Was verstehst du denn an der Seite nicht?
Wenn du etwas suchst, gib das ins Suchfeld ein.

Dann schaust du, was du machen willst.
Wenn du jetzt wissen willst, wie ein command aufgebaut ist.
Drückst du halt da drauf. Manchmal hast du Beispiele. (Du musst dir einfach mal die Seite anschauen, viele Dinge sind mir da auch noch suspekt... Aber wenn du den dreh einmal raus hast, dann klappt das auch alles)
Manchmal hast du aber auch einfach nur Parameter.

Aber, der Support ist ja hier auch noch da. Versuch etwas zu coden, hast du einen Error oder kommst nicht weiter, fragst du hier einfach nochmal nach shrug
Glaube da hat keiner ein Problem mit. Jeder hat mal angefangen.

frail pewter
#

findet einer von euch den fehler

#

Traceback (most recent call last):
File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 786, in _load_from_module_spec
setup(self)
File "C:\Users\admin\PycharmProjects\Discord_bot\cogs\status.py", line 35, in setup
bot.add_cog(Commands(bot))
File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 653, in add_cog
raise discord.ClientException(f"Cog named {cog_name!r} already loaded")
discord.errors.ClientException: Cog named 'Commands' already loaded

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

Traceback (most recent call last):
File "C:\Users\admin\PycharmProjects\Discord_bot\main.py", line 95, in <module>
bot.load_extension(f"cogs.{filename[:-3]}")
File "C:\Users\admin\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\admin\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.status' raised an error: ClientException: Cog named 'Commands' already loaded

Das sagt die konsole

solid ingot
#

anscheinend hast du 2 cogs die gleich heißen

frail pewter
#

Oh danke ist mir garnicht aufgefallen

brazen scarab
brazen scarab
#

bot = discord.Bot nur Slash Befehle
bot = commands.Bot Prefix und Slash Befehle blob_think

#

@urban glen ^

solid ingot
#

wieso machst du commands.Bot und discord.Bot?

#

du solltest nur eins davon benutzen

brazen scarab
#

@urban glen ^

#

Funktioniert es denn nun?

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @brazen scarab, du bist jetzt Level 9 🎉

brazen scarab
#

Deine Abfrage nach Rechten find ich auch merkwürdig irgendwie

#

Das wird dann wohl daran liegen

#
from discord import default_permissions
from discord.ext import commands
from discord.commands import slash_command, Option
import discord


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

    @slash_command(description="Sperre einen Kanal!")
    @default_permissions(manage_channels=True)
    async def lock(self, ctx):
        embed = discord.Embed(
            description=" 🔒 **Kanal gesperrt**",
            color=16711680,
            timestamp=discord.utils.utcnow()
        )
        embed.set_footer(
            text=f"{ctx.author.name}",
            icon_url=ctx.author.avatar.url
        )
        await ctx.channel.set_permissions(ctx.guild.default_role, send_messages=False)
        await ctx.respond(embed=embed)

    @slash_command(description="Entsperre einen Kanal!")
    @default_permissions(manage_channels=True)
    async def unlock(self, ctx):
        embed = discord.Embed(
            description=" 🔓 **Kanal entsperrt**",
            color=65290,
            timestamp=discord.utils.utcnow()
        )
        embed.set_footer(
            text=f"{ctx.author.name}",
            icon_url=ctx.author.avatar.url
        )
        await ctx.channel.set_permissions(ctx.guild.default_role, send_messages=True)
        await ctx.respond(embed=embed)


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

Versuchs damit

#

Natürlich geht es kekw

#

Wenn jemand "Kanäle Verwalten" nicht als Rolle hat. Dann sieht er den command nicht

#

Nur mal als Vergleich ^^

#

Banane hat keine Rechte die Kanäle zu verwalten. Er sieht den Command nicht

frail pewter
#

Hey kann mir jemand sagen wie ich den Namen und das Profilbild meines bot ändere, also zum Verständnis ich habe das auf der discord Seite geändert das wird aber nicht aktualisiert.

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @frail pewter, du bist jetzt Level 4 🎉

brazen scarab
frail pewter
#

Ja deswegen hab ich das doch dazu geschrieben das habe ich ja schon

urban glen
brazen scarab
#

Mach mal STRG + R

brazen scarab
#

Dein Ernst?

#
    @slash_command(description="Sperre einen Kanal!")
    @default_permissions(manage_channels=True)```
urban glen
#

bei dem anderen änderst du nur den namen der angezeigt wird und nicht das was auf der Discord platform angezeigt wird

brazen scarab
urban glen
#

rollen berechtigung 'Use Application Commands - True'

brazen scarab
urban glen
#

das sind die berechtigung wer es benutzen kann 'Use Application Commands - True' das damit die überhaupt angezeigt werden

frail pewter
#

Da kann ich nur zustimmen

urban glen
#

digga bist du lost?

brazen scarab
#

XDDDDDDDDDDDDD

#

Sorry Laras_brumm

urban glen
#

das sind PERMISSION sprich BERECHTIGUNG
Use Applicaiton Commands - Damit man sie ÜBERHAUPT ERST BENUTZEN kann

#

sprich

#

sie angezeigt werden

#

machs doch einfach und frag nicht 10 mal hinterher 'das reicht nicht' oder whatever

#

du fragst

#

kriegst eine antwort

#

hinterfragst es 10 mal

#

lese es doch korrekt

fluid leaf
#

Wie mach ich in ein Button CallBack rein das wenn der Button gedrückt wird er sich ausschaltet, und das nur eine bestimmte rolle den Button benutzen kann

Ich weiß wie ich das mit der Rolle mach aber nd wie genau ich die getten soll

urban glen
#

also ich wüsste nicht das man ein button deaktivieren lassen kann und nur leute mit bestimmter rolle ihn wieder 'reaktivieren' kann.
Würde im callback eine if abfrage machen das wenn er die rolle hat, das was passiert und wenn nicht ein ephemeral nachricht kommt mir 'du kannst das nicht nutzen'

#

esseiden du hast 2 buttons

fluid leaf
#

Ich hab Claim & Close halt

fluid leaf
urban glen
#

deaktivieren kannst du ihn nicht und nur bestimmte leute mit 'admin' den wieder nutzen können oder, wüsste ich nicht

#

Würde im callback eine if abfrage machen das wenn er die rolle hat, das was passiert und wenn nicht ein ephemeral nachricht kommt mir 'du kannst das nicht nutzen'

das geht auf jeden fall

fluid leaf
#

Ich mein wenn der noch nicht deaktiviert ist das nur leute mit der Rolle benutzen können

fluid leaf
#

Ich weiß das ich
if role in interaction.user.roles machen muss aber idk wie ich dir role gette weil get und fetch gehen nd

urban glen
#

1 sekunde

#

name = guild.get_role(1047264006840254605)

brazen scarab
#

Boah ich versuch das grade zu lösen. Das funktioniert was er vor hat ...

urban glen
#

wie denn?

#

wenn ein button deaktiviert ist, kannst du keine if abfrage machen ohne das der button aktiviert ist
da er von ganz discord geblockt ist?

#

auser du reaktivierst ihn

solid ingot
fluid leaf
#

Und wie krieg ich jz hin das der Button sich "deaktiviert"

urban glen
#

button.disabled = True

brazen scarab
#
    rolle =
    if rolle not in user:
        button.disabled = True  # set button.disabled to True to disable the button
    else:```

Ich glaube so war das ... Ich bin mir sicher, teste mal rum ... (ist jetzt nur ein Beispiel..)
urban glen
urban glen
brazen scarab
#

kannst du dem im else nicht wieder auf False setzen? blob_think

fluid leaf
#

Das will ich ja

urban glen
#

aber

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @bold lava, du bist jetzt Level 16 🎉

urban glen
#

wenn ein user das klickt

#

ist er disabled

#

wie willst du ihn auf eine interaction reaktivieren?

#

mit asyncio.sleep()

#

einzige möglichkeit

fluid leaf
#
class Claim(discord.ui.View):
    def __init__(self):
        super().__init__(timeout=None)

    @discord.ui.button(
        label="Beanspruchen",
        style=discord.ButtonStyle.green,
        custom_id="beanspruchen",
        emoji="![VX_right](https://cdn.discordapp.com/emojis/1058779006394171422.webp?size=128 "VX_right")"
    )
    async def beanspruchen(self, button, interaction):
        guild = interaction.guild
        role = guild.get_role(1047264006840254605)
        logc = interaction.guild.get_channel(1058921744636842064)

        if role in interaction.user.roles:
            claime = discord.Embed(
                title="Beansprucht",
                description=f"Das Ticket wird nun von {interaction.user.mention} bearbeitet.",
                color=0x2F3136
            )

            logclaim = discord.Embed(
                title="Beansprucht",
                description=f"Das Ticket {interaction.channel.mention} wird nun von {interaction.user.mention} bearbeitet.\n",
                color=0x2F3136
            )

            await logc.send(embed=logclaim)
            await interaction.response.send_message(embed=claime)
            await interaction.message.edit(view=Claim())
``` Das ist jz der Code
urban glen
#

vor dem interaction.message.edit

fluid leaf
#

Ok agx_daumenhoch

#

dann probier ich das mal aus :>

urban glen
#

jo

fluid leaf
#

Es funktioniert bis auf button.disabled

urban glen
#

code?

fluid leaf
#
class Claim(discord.ui.View):
    def __init__(self):
        super().__init__(timeout=None)

    @discord.ui.button(
        label="Beanspruchen",
        style=discord.ButtonStyle.green,
        custom_id="beanspruchen",
        emoji="![VX_right](https://cdn.discordapp.com/emojis/1058779006394171422.webp?size=128 "VX_right")"
    )
    async def beanspruchen(self, button, interaction):
        guild = interaction.guild
        role = guild.get_role(1057442577617518602)
        logc = interaction.guild.get_channel(1058921744636842064)

        if role in interaction.user.roles:
            claime = discord.Embed(
                title="Beansprucht",
                description=f"Das Ticket wird nun von {interaction.user.mention} bearbeitet.",
                color=0x2F3136
            )

            logclaim = discord.Embed(
                title="Beansprucht",
                description=f"Das Ticket {interaction.channel.mention} wird nun von {interaction.user.mention} bearbeitet.\n",
                color=0x2F3136
            )

            await logc.send(embed=logclaim)
            await interaction.response.send_message(embed=claime)
            button.disabled = True
            await interaction.message.edit(view=Claim())
#

oder muss ich view=self machen?

urban glen
fluid leaf
#

Ahhhhh

#

Vielen Dank VX_heart

urban glen
#

dafür bin ich hier

floral monolith
fluid leaf
#
    async def get_warn(self, user_id):
        await self.check_user(user_id)
        async with aiosqlite.connect(self.DB) as db:
            async with db.execute("SELECT warns FROM warn WHERE user_id = ?", (user_id)) as cursor:
                result = await cursor.fetchone()
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: TypeError: warn.get_warn() takes 2 positional arguments but 3 were given
floral monolith
solid ingot
#

schick mal die zeile wo du get_warn ausrufst

fluid leaf
#

warn = await self.get_warn(user.id)

brazen scarab
#

Ich arbeite selber mit aiosqlite aber wie du das aufgebaut hast, kenne ich das leider nicht blob_think

#
        db = await aiosqlite.connect('setchannel.db')
        cursor = await db.cursor()
        await cursor.execute("SELECT channel_id, role_id FROM servers WHERE server_id = ?", (interaction.guild.id,))
        result = await cursor.fetchone()```

![blob_think](https://cdn.discordapp.com/emojis/1062297874517475329.webp?size=128 "blob_think")
brazen scarab
#

Hm? blob_keks

urban glen
#

immernoch, bei den rollen einstellung

urban glen
#

anscheinend ja nicht

#

ne

#

nen 5. mal erklär ichs nicht

frail pewter
#

ist das ein anzeige fehler

urban glen
#

Also was du meinst

frail pewter
urban glen
#

ist einfach nur dein Color Theme

#

Ist das Pycharm oder VSCode?

frail pewter
frail pewter
urban glen
#

no front bist du dumm ?

#

ernsthaft

#

was ist falsch mit dir

#

ich sagte 3 mal

#

wo

#

wie

#

was du machen musst

#

3 mal, liest du es falsch

#

machst was du willst

#

und liest nicht korrekt

urban glen
urban glen
#

da siehst du es

urban glen
# urban glen scroll hoch

Willst du nicht einfach kurz schildern worum es geht?
Ich werd jetzt sicher nicht hoch scrollen um dir zu helfen

#

ich brauche keine hilfe

#

also wieso soll ich jzt was schildern

#

er hat nen problem

#

er liest nicht korrekt

#

5 mal das selbe gesagt

urban glen
#

zum letzten mal

#

rollen

#

berechtigung

brazen scarab
urban glen
#

gewesen?

#

Ich denke nicht

brazen scarab
#

Junge Twevis hahahaha

urban glen
#

Bist es immer noch

brazen scarab
#

Merk dir einfach, wenn du einen Slash Befehl mit permissions hast und der user hat die permission nicht, sieht er den Command nicht in der / Liste. Einfach Punkt Ende kekw

solid ingot
#

schick mal den code von der methode get_db_data

#

das ging schnell xD

#

also das ist etwas kompliziert. du könntest die methoden zu static methoden machen, dann kannst du sie einfach aus anderen klassen einfach aufrufen, allerdings kannst du dann kein self mehr in den methoden benutzen

#
@staticmethod
async def get_db_data(guild_id: int)...
#

das müsstest du dann mit dem klassenname der cog klasse machen

#

innerhalb des cogs kannst du die methode aber weiterhin mit self aufrufen

#

da du self nicht mehr nutzen kannst, kannst du auch nicht mehr über self auf den bot zugreifen

#

den bot müsstest du dann an die funktion übergeben oder eine andere möglichkeit finden

brazen scarab
solid ingot
#

ne, ich hab nur ein video gemacht wie man werte an andere klassen übergibt

brazen scarab
solid ingot
#

stimmt peeposhy

brazen scarab
#

Bitte heute noch hochladen, ja?

solid ingot
frail pewter
#

Hey ich bekomme Installationsfelder sind in einer privaten Anwendung nicht möglich diese Meldung wenn ich auf der Discord Developer Seite den Bot Privat stellen möchte weiß jemand warum?

fluid leaf
#

Screenshot?

frail pewter
fluid leaf
#

Und wie sieht es rechts aus

urban glen
#

schick einfach ein screenshot vom ganzen screen

brazen scarab
urban glen
#

discord.Embed

brazen scarab
brazen scarab
#
        if new_level == 2:
            role = message.guild.get_role(1061948161301680182)
            await message.author.add_roles(role)
            await message.channel.send(f"Boom Level UP!")
        if new_level == 3:
            await message.author.remove_roles(1061948161301680182)
            role = message.guild.get_role(1061948080397750313)
            await message.author.add_roles(role)
            await message.channel.send(f"Boom Level UP!")```

Kann man die Rolle nicht entfernen lassen? ![blob_think](https://cdn.discordapp.com/emojis/1062297874517475329.webp?size=128 "blob_think")
urban glen
#

Musst ein Rollen-Objekt haben

#

Und nicht einfach die ID einsetzten

brazen scarab
#
        if new_level == 2:
            level2 = message.guild.get_role(1061948161301680182)
            await message.author.add_roles(level2)
            await message.channel.send(f"Boom Level UP!")
        if new_level == 3:
            await message.author.remove_roles(level2)
            level3 = message.guild.get_role(1061948080397750313)
            await message.author.add_roles(level3)
            await message.channel.send(f"Boom Level UP!")```
#

UnboundLocalError: cannot access local variable 'level2' where it is not associated with a value

#

Achso

urban glen
#

Musst es schon außerhalb machen oder halt in dem if-statement zu 3 nochmal getten

brazen scarab
#

Kann ich das irgendwie setzen das ich ne Liste habe, die ich überall nutzen kann?

urban glen
#

?

brazen scarab
#

Das ich nicht sowas habe ... :

            level2 = message.guild.get_role(1061948161301680182)
            await message.author.remove_roles(level2)
            level3 = message.guild.get_role(1061948080397750313)
            await message.author.add_roles(level3)
            await message.channel.send(f"Boom Level UP!")
urban glen
#

Nh Liste wovon?

brazen scarab
#

Irgendwo die level definieren ... Das ich die nicht immer neu machen muss

urban glen
brazen scarab
#
        level2 = message.guild.get_role(1061948161301680182)
        level3 = message.guild.get_role(1061948080397750313)

        if old_level == new_level:
            return
        if new_level == 2:
            await message.author.add_roles(level2)
            await message.channel.send(f"Boom Level UP!")
        if new_level == 3:
            await message.author.remove_roles(level2)
            await message.author.add_roles(level3)
            await message.channel.send(f"Boom Level UP!")``` 
![blob_think](https://cdn.discordapp.com/emojis/1062297874517475329.webp?size=128 "blob_think")
urban glen
#
        #---------------------------------------------------#
        level2 = message.guild.get_role(1061948161301680182)
        level3 = message.guild.get_role(1061948080397750313)
        #---------------------------------------------------#
        if new_level == 2:
            await message.author.add_roles(level2)
            await message.channel.send(f"Boom Level UP!")
        if new_level == 3:
            await message.author.remove_roles(level2)
            await message.author.add_roles(level3)
            await message.channel.send(f"Boom Level UP!")
brazen scarab
#

Ich klau dir deins das sieht schöner aus

urban glen
#

okay?

brazen scarab
#

Danke dir

#

Ich bin ja noch nicht fertig

#

Die Nachricht gibt es schon garnicht mehr blob_happy_l

#
        if new_level == 3:
            await message.author.remove_roles(level2)
            await message.author.add_roles(level3)
            embed = discord.Embed(
                title="Level UP!",
                description=f"{message.author.mention}"
            )
            await message.channel.send(embed=embed)```
*hust*
#

Ich arbeite noch dran blob_keks bin nur nicht so schnell

urban glen
#

Okay und warum Pingst du mich dabei? / Antwortest auf meine Nachricht?
Und außerdem wieso bitte benutzt keine, das schadet nicht und verändert auch nicht's

#

Das macht den code ja nicht mal langsamer

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @somber wyvern, du bist jetzt Level 9 🎉

urban glen
#

Tf? Dann is dein Kumpel eigenartig

#

Die können nicht "schädlich" sein

#

Ok. Dann denk halt das f-strings "schädlich" wären xD, wären die Schädlich, dann würden die entwickler von python dies nicht rein machen ._.

solid ingot
#

leute chillt

brazen scarab
#

Irgendwie gefällt mir meine Idee besser... Aber kann ich das hier irgendwie so machen, das der das bei jedem Level anzeigt? Mit dem Level natürlich angepasst aufs jeweilige Level? und z.b bei Level 10 gibt er dann eine Rolle oder sowas?

        if new_level == 2:
            await message.channel.send(f"![blob_happy_l](https://cdn.discordapp.com/emojis/1062297340351893534.webp?size=128 "blob_happy_l") ![blob_tap](https://cdn.discordapp.com/emojis/1062297344583925770.webp?size=128 "blob_tap") "
                                       f"Herzlichen"
                                       f" Glückwunsch {message.author.mention} Du bist nun `Level 2` "
                                       f"![blob_tap](https://cdn.discordapp.com/emojis/1062297344583925770.webp?size=128 "blob_tap") ![blob_happy_r](https://cdn.discordapp.com/emojis/1062297339211034624.webp?size=128 "blob_happy_r")")```
solid ingot
#

ja, du kannst die nachricht einfach außerhalb der if bedingung schicken, und dann nur eine if bedingung für new_level == 10 machen, und da gibst du dann die rolle

brazen scarab
# solid ingot ja, du kannst die nachricht einfach außerhalb der if bedingung schicken, und dan...
        #---------------------------------------------------#
        level10 = message.guild.get_role(1061948161301680182)
        level100 = message.guild.get_role(1061948080397750313)
        #---------------------------------------------------#


        if old_level == new_level:
            await message.channel.send(f"![blob_happy_l](https://cdn.discordapp.com/emojis/1062297340351893534.webp?size=128 "blob_happy_l") ![blob_tap](https://cdn.discordapp.com/emojis/1062297344583925770.webp?size=128 "blob_tap") "
                                       f"Herzlichen"
                                       f" Glückwunsch {message.author.mention} Du bist nun `{new_level}` "
                                       f"![blob_tap](https://cdn.discordapp.com/emojis/1062297344583925770.webp?size=128 "blob_tap") ![blob_happy_r](https://cdn.discordapp.com/emojis/1062297339211034624.webp?size=128 "blob_happy_r")")

        if new_level == 10:
            await message.author.add_roles(level10)
            await message.channel.send(f"![blob_happy_l](https://cdn.discordapp.com/emojis/1062297340351893534.webp?size=128 "blob_happy_l") ![blob_tap](https://cdn.discordapp.com/emojis/1062297344583925770.webp?size=128 "blob_tap") "
                                       f"Herzlichen"
                                       f" Glückwunsch {message.author.mention} Du bist nun `Level 10` "
                                       f"![blob_tap](https://cdn.discordapp.com/emojis/1062297344583925770.webp?size=128 "blob_tap") ![blob_happy_r](https://cdn.discordapp.com/emojis/1062297339211034624.webp?size=128 "blob_happy_r")")
        if new_level == 10:
            await message.author.add_roles(level100)
            await message.channel.send(f"![blob_happy_l](https://cdn.discordapp.com/emojis/1062297340351893534.webp?size=128 "blob_happy_l") ![blob_tap](https://cdn.discordapp.com/emojis/1062297344583925770.webp?size=128 "blob_tap") "
                                       f"Herzlichen"
                                       f" Glückwunsch {message.author.mention} Du bist nun `Level 100` "
                                       f"![blob_tap](https://cdn.discordapp.com/emojis/1062297344583925770.webp?size=128 "blob_tap") ![blob_happy_r](https://cdn.discordapp.com/emojis/1062297339211034624.webp?size=128 "blob_happy_r")")```

Wäre dann einfach so? ![blob_think](https://cdn.discordapp.com/emojis/1062297874517475329.webp?size=128 "blob_think")
#

Ja ne

solid ingot
#
         if old_level == new_level:
             return
         await message.channel.send(f":blob_happy_l: :blob_tap: "
                                       f"Herzlichen"
                                       f" Glückwunsch {message.author.mention} Du bist nun `{new_level}` "
                                       f":blob_tap: :blob_happy_r:")
        if new_level == 10:
            await message.author.add_roles(level10)

        if new_level == 100:
            await message.author.add_roles(level100)
brazen scarab
#

und statt Level 2 dann {new_level}

solid ingot
#

genau

brazen scarab
#

Du bist ein Schatz

solid ingot
#

was gibts

#

bzw was ist dein aktueller error

brazen scarab
# solid ingot genau

Boah tib weißt du grade so aus dem Kopf, was Level 100 für ne XP Zahl wäre? LUL

solid ingot
#

ne keine ahnung, ich lass dass immer meine level methode berechnen

brazen scarab
#

495050

solid ingot
#

hast du das mit @staticmethod schon probiert?

solid ingot
#

dann musst du den bot an die methode übergeben

@staticmethod
async def get_db_data(bot, guild_id: int)...
#

das self musst du entfernen und das bot hinzufügen

#

innerhalb

#

außerhalb geht auch, aber dann ohne static

#

wenn du die methode von einer anderen klasse aufrufst, musst du statt self dann CogName.get_db_data(...) machen

#

wie heißt denn deine Cog Klasse?

#

dann emoji = await EmojiQuiz.random_emoji()

#

hast du self entfernt?

indigo sapphire
#

Wie kann man mit eine bot von discord bild url bekommen?

tender horizon
#

wie kann ich noch mal choices bei einem slash command festlegen?

tender horizon
#

hab ich nicht

brazen scarab
# tender horizon hab ich nicht

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
solid ingot
#

dazu müsste ich die set_emoji_quiz methode sehen

indigo sapphire
#

Kann man in einem slash command mehrere await naricht senden?

#

zB await send_message danach await edit_message?

brazen scarab
#

Ich sterbe grade vor lachen FalseFacePalmLaugh

indigo sapphire
mystic sentinel
brazen scarab
mystic sentinel
#

lul es wurde gepint wusste ich nicht

brazen scarab
brazen scarab
brazen scarab
#

Es besteht ja die möglichkeit, das man cogs loaden / unloaden und reloaden lassen kann.

Kann es sein, das es für / Befehle nicht funktioniert?

solid ingot
#

doch eigentlich schon

#

bei slash commands ist es aber so, dass die auch manchmal noch angezeigt werden, nachdem sie entfernt wurde, weil discord sie noch im cache hat

#

das dauert dann ein wenig

brazen scarab
solid ingot
#

achso

#

ne das eigentlich nicht

#

wenn sie noch ausgeführt werden können sollte das unload nicht richtig funktioniert haben

brazen scarab
#

Das einzige was halt jetzt nichtmehr funktioniert ist die on_message function

solid ingot
#

ich hab grad nochmal bei meinem bot nachgeschaut, bei dem ich einen unload command habe, aber da habe ich auch nur events und keine slash commands in den cogs

#

bin mir nicht sicher wieso es mit slash commands nicht klappt

brazen scarab
solid ingot
brazen scarab
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @brazen scarab, du bist jetzt Level 11 🎉

solid ingot
#

naja, die methode hat 5 parameter, aber du übergibst nur 4

#

bot fehlt wahrscheinlich

#

beim aufruf von set_emoji_quiz

#

das hier sind nur 4 parameter

#

set_emoji_quiz hat aber 5

#

wenn du was entfernst hast du doch nur noch 3 xD

#

du brauchst 5

#

👍🏽

#

mach mal EmojiQuiz statt self

#

achso der error ist ja gar nicht mehr bei set_emoji_quiz, sondern bei get_db_data

#

joa

#

gleicher fehler wie bei der anderen

#

bot fehlt

marble lake
#

import discord
from discord.ext import commands
bot = commands.Bot(command_prefix="!")

@bot.command()
async def Hallo(ctx)
       await ctx.send("Hallo")
bot.run("Token")```

Ich bekomme die Fehlermeldung Unused import statement 'import discord'
solid ingot
#

hey, das kannst du ignorieren. das bedeutet nur, dass du das "import discord" nicht benutzt hast. für einen einfachen hallo command brauchst du den import nicht, es sollte aber trotzdem funktionieren

marble lake
#

Ich habe es mit und ohne Import probiert es Passiert nichts und ich bekomme auch keine Fehlermeldung

brazen scarab
#

Ich sehe es Ohnezahn_guckt

solid ingot
#

der fehler ist schon wieder bei einer anderen methode. du musst das schon bei allen methoden ändern

#

wo rufst du die methode auf?

#

war es derselbe fehler wie eben?

marble lake
#

Ich jetzt auch allerdings funktioniert es trotzdem nicht

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @marble lake, du bist jetzt Level 3 🎉

#
Level Up!

Herzlichen Glückwunsch @somber wyvern, du bist jetzt Level 10 🎉

Du hast <@&1032921984612433952> erhalten!

solid ingot
#

das ist wieder eine andere methode. ich kann dir nicht für jede einzelne methode die du hast denselben fehler erklären, du musst das was ich gesagt habe schon bei allen methoden machen

#

self sussypeepo peepothink peepothink pepegun peepoknife

#

schau dir am besten mal ein video zu klassen und methoden in python an

#

wenn ich dir für jede methode nur die lösung sage lernst du nichts dabei

#

wo rufst du die methode denn auf?

#

im cog?

brazen scarab
#
        if member.activity:
            embed.add_field(name="Was wird grade gemacht?", value=f"{member.activity}", inline=False)
        else:
            embed.add_field(name="Was wird grade gemacht?", value=f"{member.name} macht gerade nichts.", inline=False)```

tib, hast du ne Idee, wieso das nicht funktioniert? Bekomme permanent `None`
```py
Dominik:tm:#1337 None ()
        print(member, member.activity, member.activities)```
solid ingot
#

hast du den presence intent aktiviert?

brazen scarab
#

Ja

#

Habe alle intents an

#

Ja

#
intents = discord.Intents.all()

bot = discord.Bot(
    intents=intents
)```
#

Das geht alles ... nur activity nicht ...

solid ingot
#

komisch

brazen scarab
#

Der Member kann ja mehrere Sachen machen. Z.b nen Status setzen, spotify, game

#

Aber mit Tuple hab ich mich noch nicht auseinander gesetzt daher hab ich keine Ahnung wie das geht

solid ingot
#

funktioniert ähnlich wie ne liste, aber () ist ein leeres tuple

#

daran sollte es also nicht liegen

#

selber fehler. new quiz hat 3 parameter, du übergibst aber nur 2

indigo sapphire
brazen scarab
#

Wenn ich aus dem context nen / mache kommt das beim print

Dominik™#1337 <Activity type=<ActivityType.playing: 0> name='PyCharm Community' url=None details='Editing context.py' application_id=547843314586746880 session_id=None emoji=None> (<Activity type=<ActivityType.playing: 0> name='PyCharm Community' url=None details='Editing context.py' application_id=547843314586746880 session_id=None emoji=None>, <Game name='Discord Bot – context.py'>, <Spotify title='CHASE THE SUN' artist='TurboKevin' track_id='0v9FopnUjdazLkHb2vzcdt'>)
brazen scarab
#

Das ist dann dieses Tuple hm? Wie kann ich das denn jetzt in Text umwandeln?

solid ingot
#

wie meinst du message allein?

#

versteh nicht ganz was du meinst

#

wo hast du self.message definiert?

#

naja das musst du wissen

#

wenn du da ne bestimmte nachricht brauchst in der methode, musst du die übergeben

brazen scarab
#

Wenn ich Spotify nicht höre discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'Activity' object has no attribute 'artist'

Wie Filter ich das denn raus xD

solid ingot
solid ingot
brazen scarab
#
        if member.activity is discord.Spotify:
            embed.add_field(name="Was wird grade gemacht?", value=f"{member.activity.name} {member.activity.artist} {member.activity.title}", inline=False)
        else:
            embed.add_field(name="Was wird grade gemacht?", value=f"{member.activity.name}", inline=False)```
? ![kekw](https://cdn.discordapp.com/emojis/1061268292527984650.webp?size=128 "kekw")
#

Ich teste grade schon wie verrückt aber das klappt alles nicht so sadpanda

solid ingot
#

if member.activity.artist:

brazen scarab
solid ingot
solid ingot
brazen scarab
#
        if member.activity.artist:
            embed.add_field(name="Was wird grade gemacht?", value=f"{member.activity.name} {member.activity.artist} {member.activity.title}", inline=False)
        else:
            embed.add_field(name="Was wird grade gemacht?", value=f"{member.activity.name}", inline=False)```

hatte das jetzt versucht
#

Es geht!!!!

#

@solid ingot member = ctx.guild.get_member(member.id) member aus dem async überschreiben

solid ingot
#

sehr cool

brazen scarab
#

Danke trotzdem für deine Hilfe pepe_love

#

@commands
@default

fluid leaf
#

@commands.command(description=„description“
@default_permissions(administrator=True)

marble lake
#
from discord.ext import commands 
bot = commands.Bot(command_prefix="!")

@bot.command()
async def Hallo(ctx):
        await ctx.send("Hallo")

bot.run("Token")```

Es kommt keine Fehlermeldung, allerdings passiert auch nichts. Lediglich der Bot kommt online.
brazen scarab
#

mach mal !Hallo

#

großes H ^^

#

import disord fehlt dir auch noch

solid ingot
brazen scarab
#
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In data.components: Must be between 1 and 5 in length.```

```py
  File "C:\Users\domid\Desktop\Discord Bot\cogs\context.py", line 43, in reportmember
    await ctx.send_modal(modal)```

Habt ihr ne Ahnung was das sein soll?
urban glen
#

code ??

solid ingot
#

deine int methode musst du zu init umbenennen, sonst wird das input feld nicht erkannt

brazen scarab
#
    @user_command(name="Report Member")
    async def reportmember(self, ctx: discord.ApplicationContext, member: discord.Member):
        modal = ReportMember(title="Test")
        await ctx.send_modal(modal)
        await ctx.respond("Test")


class ReportMember(discord.ui.Modal):
    def __int__(self, *args, **kwargs) -> None:
        super().__init__(*args, **kwargs)

        self.add_item(discord.ui.InputText(
            label="Was ist der Grund?",
            placeholder="Er beleidigt..."))

    async def callback(self, interaction: discord.Interaction):
        embed = discord.Embed(title="Member Report!")
        embed.add_field(name="Test", value=self.children[0].value)
        await interaction.response.send_message(embed=embed)

        report = self.children[0].value
        embed = discord.Embed(title="Member Report!!!", description="dfsadasdas")
        embed.add_field(name="Test", value=f"{report}")
        embed.set_image(url="https://cdn.discordapp.com/attachments/1029293156354756638/1061653705352544326/2_NW.png")
        channel = interaction.guild.get_channel(1063159340825071757)
        await channel.send("Test", embed=embed)```
brazen scarab
brazen scarab
brazen scarab
brazen scarab
#

Wie hole ich mir den member nach unten? Also der, der reportet wurde? blob_think

solid ingot
#

da habe ich das perfekte video für dich

brazen scarab
#

Ned böse gemeint aber ich verstehe nur Bahnhof

#

Ich will ja nicht den, der den reportet hat sondern der der reportet wurde

solid ingot
#

den musst du an die modal Klasse übergeben

#

also statt ctx.author einfach member

indigo sapphire
brazen scarab
brazen scarab
wise stone
tender horizon
#

Ungültiger Befehl für Interaktions-Anwendung woher kann dieser fehler kommen?

wise stone
#

kann alles sein

#

kein respond

#

keine richtige Antwort

#

leere callbacks und co

tender horizon
#

dann ist es wegen kein respond

#

weißt du wie man nochmal debug guils einstellt

#
@slash_command()
    @commands.has_role(1055337289393393734)
    async def give_bage(self, ctx, choice : Option(choices=["programmer", "bot", "godbughunter", "partner", "earlysupporter", "bughunter", "owner", "system"]), member : Option(discord.Member, default = None)):
        if member == None:
            member = ctx.author
        if choice == "programmer":
            await give_bages(user_id=member.id, bage=config.programmer)
        elif choice == "bot":
            await give_bages(user_id=member.id, bage=config.bot)
        elif choice == "godbughunter":
            await give_bages(user_id=member.id, bage=config.godbughunter)
        elif choice == "partner":
            await give_bages(user_id=member.id, bage=config.partner)
        elif choice == "earlysupporter":
            await give_bages(user_id=member.id, bage=config.earlysupporter)
        elif choice == "bughunter":
            await give_bages(user_id=member.id, bage=config.bughunter)
        elif choice == "owner":
            await give_bages(user_id=member.id, bage=config.owner)
        elif choice == "system":
            await give_bages(user_id=member.id, bage=config.system)
        else:
            print(choice)
        await ctx.respond(choice)
wise stone
#

debug_guilds...

tender horizon
#

hab respond hinzugefügt fehler bleibt

wise stone
#

also unter if member....

#

und schau obs ab da gehr

tawdry leaf
thick haven
thick haven
# tender horizon ```py @slash_command() @commands.has_role(1055337289393393734) async def...
    @commands.has_role(1055337289393393734)
    async def give_bage(self, ctx, choice : Option(choices=["programmer", "bot", "godbughunter", "partner", "earlysupporter", "bughunter", "owner", "system"]), member : Option(discord.Member, default = None)):
        if member == None:
            member = ctx.author
        try:
            await give_bages(user_id=member.id, bage=config.choices)
        exept:
            print(choice)
        await ctx.respond(choice)```
so würde ich das amchen
lofty haven
#

ich hab mal nh Frage warum wird ein commands.command() immer doppelt geschickt
Beispiel:

#

komme leider grad nicht an meinen code, aber wahrscheinlich versteht ihr mich auch so

#

alle commands werden eben doppelt ausgeführt

dense magnet
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @dense magnet, du bist jetzt Level 12 🎉

lofty haven
#

aber was hat das mit dem command zu tun

#

zum beispiel wenn ich !bj mache

dense magnet
lofty haven
#

bot.process hab ich gar nicht benutzt

dense magnet
#

Schick mal deine events

lofty haven
#

komm grad nicht an mein codes

#

jetzt hab ich auch das eine on_message event gelöscht wird trotzdem noch doppelt geschickt

tender horizon
thick haven
tender horizon
#

Ja stimmt

indigo sapphire
#

Vielen dank Tibue für dass neue Video https://youtu.be/J8QfwiuficU ich hätte dazu noch eine fragen wie kann man das ohne View machen?

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
solid ingot
#

ich denke du musst discord.ui.Select nutzen und dann den select_type parameter angeben

lofty haven
#
from discord.ext import commands


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


    @commands.command()
    async def gnnn(self, ctx):
        await ctx.channel.send(f"{ctx.author.mention} wünscht allen eine gute Nacht!😴")


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

wieso wird das jetzt 2mal geschickt?

solid ingot
#

evtl läuft dein bot 2 mal irgendwo

lofty haven
#

nope

#

hab ja extra gnnn

#

anstatt gn

indigo sapphire
urban glen
brazen scarab
#

tib, wie hast du das gemacht? Ich finds nicht heraus sadpanda (Also das die Felder dunkler sind)

solid ingot
#

mit einem codeblock

brazen scarab
#

Das hab ich auch schon versucht, das klappt ned sadpanda

solid ingot
#

wie hast du es denn versucht

brazen scarab
solid ingot
#

das ist kein richtiger codeblock

brazen scarab
solid ingot
#

so zum beispiel

brazen scarab
#

Danke ... xD

brazen scarab
solid ingot
#

das geht leider in codeblocks nicht

brazen scarab
#

Naja das geht ... Aber Die Zeit leider nicht sadpanda

brazen scarab
solid ingot
#

sehr cool

brazen scarab
floral monolith
#

Geht aber besser

devout orchidBOT
#
Infos über !Sniex

• Account erstellt: <t:1598972847:R>
• Server Beigetreten: <t:1667772492:R>

@floral monolith • AvatarProfilBannerID: 750371249229660222

🎁 Boost

Dieser User boostet den Server seit 63 Tagen.

⛔ Timeouts

Dieser User hat 4 Timeouts erhalten und war insgesamt 13 Minuten im Timeout.

🏷️ Bisherige Usernames

<t:1668302322:d> - !Sniex#7188

🏷️ Bisherige Nicknames

<t:1673091135:d> - !Sniex
<t:1669656339:d> - Flashbang

🔰 Geändert von

@floral monolith
@solid ingot

floral monolith
#

Das ist besser

brazen scarab
#

Hab keine Ahnung mehr worum es geht xD

brazen scarab
#

Ist ja schon alles im embed blob_confused

#
    @discord.slash_command()
    @default_permissions(manage_guild=True)
    async def quiz(self, ctx):```

funktioniert bei mir einwandfrei ^^
urban glen
brazen scarab
#

Du nutzt halt nen Prefix command

#

Da kannst du das nicht so machen wie du es vor hast

solid ingot
#

also erstens muss das mit den permissions unter @commands.command(). zweitens geht das mit den default permissions nur bei slash commands

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @solid ingot, du bist jetzt Level 48 🎉

brazen scarab
#

Da musst du mit einer if abfrage rausfinden ob der User die permission hat

floral monolith
#

48

brazen scarab
#

Glückwunsch tib

floral monolith
solid ingot
#

dankö

floral monolith
#

Nein

#

Unverdient

urban glen
solid ingot
brazen scarab
#

Ah, das geht auch? blob_think
Ich arbeite nur mit / Befehlen ._.

brazen scarab
#

Finde ich blöd wenn man !info @solid ingot machen muss

#

Einfach / Tab Name Enter easy peasy

urban glen
#

I finden good that you making austesten this

solid ingot
#

@urban glen in meinem video zu permissions zeige ich übrigens beide methoden, die eine methode kann man auch für prefix commands benutzen

urban glen
urban glen
#

Ich dachte in nem prefix-command?

#

hm?

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @past temple, du bist jetzt Level 17 🎉

urban glen
#

Wie hast du datetime importiert?

#

hast du import datetime oder from datetime import datetime?

#

Ja dann musst du datetime.utcnow() machen

#

Und nicht datetime.datetime.utcnow()

#

Dann datetime.datetime.utcnow()

brazen scarab
urban glen
#

Dann mach aber nur import datetime und nicht from datetime import datetime

#

Jmd nh Idee was ich in nen Bot einbauen könnte?

#

Is zu leicht

#

Bisschen schwerer

floral monolith
solid ingot
#

stark

brazen scarab
tawdry leaf
#

Wirklich stark

solid ingot
#

also dass ein modal kommt wenn man auf ein button klickt?

#

das zeige ich in meinem modal video

sweet cypress
#

Ich bin noch ganz neu in der Bot Programmier Branche und wollte mal meinen Bot auf online stellen aber immer wenn ich den Code ausführen möchte kommt der Fehler und ich denke dass es irgendetwas mit dem Token zu tun hat. Hat da irgendwer eine Idee

#

ooooooooh danke

#

bisschen lost

urban glen
#

Jmd nh Idee was ich in nen Bot einbauen könnte?

urban glen
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @trail locust, du bist jetzt Level 12 🎉

urban glen
#

Lern die grundlagen

#

Sowas sollte jeder Anfänger können

#

Joa mach dir mal gedanken weird

#

Die grundlagen?

#

Erstmal Python grundlagen lernen.

Gibt gute Bücher dazu

#

So hab ich angefangen

#

Und dann docs gelesen und ggf. tutorials geschaut

#

ok.

solid ingot
#

wieso ist die klasse nicht ganz links eingerückt?

urban glen
#

Aber dachte er hats selber herausgefunden

lofty haven
#
@commands.command()
    async def profil(self, ctx, user: discord.User):
        mon = await self.get_money(ctx.author.id)
        profilem = discord.Embed(
            title=f"{ctx.author.avatar} {ctx.author.name}"

        )
        await ctx.send(embed=profilem)```
kann mir bitte jemand sagen wie ich das user avatar hier {ctx.author.avatar} einfügen kann
urban glen
urban glen
#

Oder _url

#

Idk wie es in pycord ist

#

Warum sollte ich?
Pycord is schmutz

#

Arbeite nd mit pycord

#

Also brauch ich auch nicht die docs lesen ._.

#

*hast

solid ingot
urban glen
#

#🔰・old-help-rules

#

wand weird

urban glen