#Allgemeine Hilfe
1 messages · Page 14 of 1
hm
ist das in einem cog?
ja
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...)
ok.

dann hast du self vergessen
dadurch wird dein ctx als self erkannt und dein text wird als ctx gewertet
wolltest eh helfen xD
Wollte ich?
wo?
Ich hab keine Ahnung von Pycord
jaa
na vor dem ctx
...
_ _
_ _
_ _
_ _
da bist du sprachlos
da ist dein code wohl sprachlos
ich glaube bin dumm
sorry, meine Funktionslos
geht nicht
Bisschen Präziser?
und hab self wahrscheinlich auch falsch hingeschrieben
s-e-l-f
Was is da schwer anzugeben? xD
also weiß nicht genau wo ihr meint xD
vor ctx
da vor ctx?
ja
klappt dann auch nicht

Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github
► https://github.com/tibue99/tutorial-bot
Tutorial Playlist
► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Discord Developer Portal
► https://discord.com/developers/applications
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/i...
schau hier nochmal rein
Meins sieht so aus (ich nutze auch pycord)
async def afk(ctx, *, reason: str): Da kann ich "reason" noch auswählen im /afk Befehl 
Hab gerade nicht gemacht war gerade weg und aufeinmal gehts, hatte wohl noch nicht aktualisiert
probier mal Option aus.
async def afk(ctx, reason: Option(str, 'Warum gehst du AFK?'):
falls du in einem cog bist:
async def afk(self, ctx, reason: Option(str, 'Warum gehst du AFK?'):
Meins funktioniert doch ._.
Sollte doch nur ein Beispiel sein für david
Aber danke ._. xD
Kann mir jmd meinen Code von Nextcord zu discord.py umschreiben?
Der sollte das können
Der Typ ist zu Lost um nextcord zu installieren haha
Kann sein
Wird schwierig
Das Problem ist eher ein anderes....
ok.
Sein Code ist in discord.py aber er will das es in nextcord funktioniert 
oder so
Ich hab keine Ahnung
Oh lol
Nein. Er hat mich seit Tagen übel genervt, deshalb hab ich ihm meinen alten Code geschickt.
Ist aber in nextcord & er checkt nicht wie man nextcord installiert
Also ist das dein Code den er nutzt grade? import discord ist aber nicht nextcord
Mein Code ist in Nextcord und er weiß nicht wie man nextcord installiert
Geile Antwort 
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
Nein.
Der Code den er (von mir) hat ist besser und mit database und buttons
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
- Transcript und der ganze stuff
Ich bin völlig verwirrt und sterbe hier halb vor lachen
Da lache ich auch wenn du Rip bist und komme nach dir

Was?
Wenn du stirbst lach ich auch und komme nach dir dran
Achso, yo 
Keine Ahnung. Ich würds nicht tun. Frag lieber mal jemand anderes.
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}")```
Ein Code
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?
Wo kommt das?
Sicher das du bei "emoji=" nur nh ID eintragen musst?
Bzw wann
Wenn ich den Befehl ausführen will
Error?
Hab versucht mit diesem \ vor dem Emoji aber dann kommen bei mir keine Zahlen bzw die ID
Gibts nicht
Aber nur Zahlen geht nicht, du musst schon richtig machen bei emoji
Du hast kein _init_
braucht man nicht unbedingt
Okay mache ich kurz
\🎉
🎉1061709683620057148
so richtig?
Machst du das über dieses Menu?
jo
Mache auch über Discord
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
Wo denn?
Als ich view=FantasyView()) eingegeben hab, hat es angefangen mit Anwendung reagiert nicht
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
In dem Text steht nur das when_mentioned nicht definiert ist
Was is da so schwer zu verstehen? ._.
ich verstehe nicht wie ich das benutzen soll xd
Was ist denn when_mentioned?
Also soweit ich weiß, gibt es when_mentioned_or("...")
Ah wait, hast du when_mentioned denn importiert? ._.
hmm
nein
..
was muss ich überhaupt importen?
ich weiss when mentioned
aber es kann ja von discord ,random etc sein
AH ICH HABS
from discord.ext import when_mentioned
vermute ich mal
wie kann ich mehre buttons in eine button class machen
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
was iste denn der fehler code?
Du könntest mal eine eigene view classe machen
Danach die Button classe Einzel erstellen und in deine View classe einfügen
Dort steht kein Fehler nur Anwendung reagiert nicht
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

wo?
Kopier das man dann siehst du den unterschied
Du könntest effizienter machen anstatt 6 views zu erstellen
Hab es nach Tutorial gemacht
Ahja
Sehe grad kein Unterschied
Wie kann ich es denn besser machen?
Dann bist du noch für eine classe view nicht so weit
Wait starte extra wegen dem den pc

Hab vor 4 Tagen angefangen mit coden
schau das mal an es ist sehr simple gemacht
Sehe den Unterschied grad nicht
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='',
)
async def callback(self, interaction):
await interaction.response.send_modal(
EditModalViewInput_Search_Unit(
user=self.user,
title='Unit_Search'
)
)
Okay
es geht um die codeblock ```py
den unterschied ich kann den button unendlich mal wieder verwenden
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
Ich hab das Tutorial noch nicht durch. Ich denke das wird später gezeigt
Könntest du mir sagen welche Zeile?
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='',
value=unit_search
),
discord.SelectOption(
label='Unit List',
description='Diese Option durchsucht all 7DSGC Unit in der DatenBank.',
emoji='',
value=unit_list
),
]
den ersten xD
ok
Sehe nichts, aber ich hab jetzt das überarbeite von dir eingefügt und dort steht immer noch Anwendung reagiert nicht
meinte den codeblock
achso
Okay
Aber ich brauche die Lösung für das Problem
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
\🎉
bitte
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?
AttributeError: 'feedback_button' object has no attribute 'children'
ja das kann ich selber lesen
ik$
aber wass muss ich verändern das was anderes raus kommt
für was modal?
class feedback_modal(discord.ui.Modal):
insgeasammt
und embed title?
schau mal das an: https://stackoverflow.com/questions/74862249/pycord-object-has-no-attribute-children
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):
hier fehlen button style denke ich mal
und evt den embed title
irgendwo musst du die aktuelle Zahl speichern, zB in einer Datenbank
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
du musst der variable einen Wert zuweisen bevor du sie benutzt
Im Tutorial hast du es soweit ich es sehe genauso gemacht
Oder hab ich etwas falsch gesehen?
bin Grad nur am Handy, muss ich mir zu Hause genauer ansehen
Alles klar
Vllt habe ich ein Fehler gemacht… ich guck heute Mittag sry
weiss jemand wie ich .eval einrichten kann?
Gibt source codes dafür
Is aber kompliziert
Lösch das wieder
Funktioniert ja jetzt
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)```
der user hat kein avatar
oh stimmt danke also ambesten mit try?
entweder das oder du benutzt display_avatar
ok danke
wie kann man ausgeben wann ein user dem server beigetretten ist
Wie kann ich ein bot naricht senden wenn der bot Joint?
Sollte naricht Schreiben wo die welcome ist
@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
listening
hast du ne idee wie man das formatiertt?
also meins
In this article, you will learn to create a datetime object from a string (with the help of examples). For that, we use Python's strptime() method. Any string representing date and time can be converted to datetime object by using a corresponding format code equivalent to the string.
Kann mir da jemand helfen?

This section outlines the different types of events listened by Client. There are two ways to register an event, the first way is through the use of Client.event(). The second way is through subcla...
Ty

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}")```
Nur für client?
Oder auch für bot?
Was heißt das? Wenn ich bei Select 1 Phyton auswähle, damit ein Feld unten auftaucht kommt ein Fehler, nachdem der aufgetaucht ist
ist dasselbe
Ah okie ☺️
lass mal s ausprinten und schicks hier rein
Wie meinst du das?
Hier ist der Code
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)```
Also ich habe im Tutorial geschaut und dort gab es anscheinend kein Fehler was mich jetzt wundert und auch kein print
Hast du vielleicht kurz Zeit es anzusehen?
?
Das das nicht im Video steht ist schon klar...
Das war das Tutorial von Timo
Hast du strptime importiert?
du hast s doch nur im else teil definiert. wenn die if bedingung true wird versuchst du trotzdem s zu benutzen
im tutorial habe ich es etwas anders gemacht, schau dir nochmal genau den code an: https://github.com/tibue99/tutorial-bot/blob/main/Tutorialreihe/part15_select_menu_dropdown.py
error?
Ich frag mich nur warum activity ändern?
warum nicht?
Weiss jmd wie ich schauen kann ob ein suer gemutet im voice chat sit
Hab ich dir doch schon gefixt?
Gibt es hier zufällig jemanden der ahnung von .lua hat
ne
erstmal nicht user nennen 
Und mit member.joined_at
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)
Was ist messageid?
Wie es im error steht, es ist nicht definiert
nachrichtenid: Option(str, 'Nachrichten ID', required=True)
Ist doch da
Dann wäre es aber nachrichtenid und nicht messageid

ne hab uich nicht
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)
Also dings.. man kann es nicht einfach so hinschreiben und hoffen das die übersetzung übernommen wird
Musst die Nachricht erstmal getten und dann löschen
Und wie gette ich die denn?
nachricht = await self.client.get_message(nachrichtenid) ?
danke aber wie krige ich das formartiert
len und timestamp
zu was?
Zu nem unix timestamp?
ja
erstmal lieber die guild getten.
guild = ctx.guild
message = guild.get_message(nachrichtenid)
Und dann message.delete
okö
nein.
<t:{int(time.mktime(member.joined_at.timetuple()))}>
So würde ich das machen
Dafür brauchst du die "time" library
gibt aber auch eine andere möglichkeit
joined = discord.utils.format_dt(user.joined_at, "R")
``` so mach ich das immer
danke
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'Guild' object has no attribute 'get_message'
Asso, musst auch noch den channel getten, wo die nachrichten id is
du heilige
guild = ctx.guild
channel = ctx.channel # oder anderer channel halt
message = channel.get_message(nachrichtenid)
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")
Idk bei mir geht's so
Hab jetzt alles was ich noch nicht drin hatte hinzugefügt, aber beim s konnte ich nichts finden was ich nicht hab. Fehlermeldung immer noch da
fetch_message
nichts da mit get
mit fetch_message schickt er unnötige Api requests an die discord api
ist privat bot
Hä und?
solange es geht 
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
schick mal den neuen code
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}")```
das untere await interaction.response muss noch einen tab nach rechts gerückt werden
das soll ja nur im else-fall ausgeführt werden
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 ?
Zum Anfang solltest du die Python Grundlagen lernen.
Danach kannst du, wenn du dich sicher fühlst, mit discord bots anfangen.
Ich würde dir empfehlen 3 Gute Tutorials anzuschauen und dann selber einiges zu probieren, durch Docs lesen etc..
Also was genau sind für dich die Grundlagen? Lerne gerade Phyton und kann halt Sachen wie schleifen, variablen und so
schleifen abfragen vars listentypen operatoren wie == :=
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>```
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
Gehören die Errors von Oben da zu oder wie muss man sich das anschauen? @lofty haven
ja sorry ist ein bisschen viel, dass ist der Anfang
also das sind die Errors die entstehen
und bei dem Embed denke ich ist der Fehler also meine Vermutung
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
ok bin grad nicht zuhause ich versuche es nachher mal vielen dank
Gerne. Und wenn du noch einen Error bekommst, schick den Error und drunter das, was falsch ist. Steht ja immer im Error drin 
Weil soweit ich weiß, musst du einen Title und eine Beschreibung in einem embed haben. Ich bin mir nicht ganz sicher.
ok danke
Hallo ich suche einen weg meinen bot 24/7 zu hosten finde aber nur wege um discord.py bots zu hosten
Willst du einen host auf Discord haben oder eine Website?
Wenn ich wüsste was die unterschiede bzw vorteile sind
Ich biete sowas an
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.
Okay dann teste ich erstmal die gratis variante kannst du mir erklären wie ich es mache?
^
https://panel.xenority.com. Du musst dort einen Account erstellen dann kannst du dir nen gratis bot holen und ich kann ihn dir verlängern
Aber ich hoffe alles geht mit login und Registrierung weil ich bau um gerade
Lieben wir 
Ja weiß ich XD

Hab ich heute früh gesehen weil ich verkackt habe gestern abend XD
Login mit Discord geht nicht.
Ich hasse mei. Leben XD
Ich bin enttäuscht.
Gut dann geht der Dreck Schon wieder ned ich vergesse es immer zu Speicher 😦
Du kannst es versuchen dich zu reg ohne Discord
@lofty haven Ich wollte dich grade beim Besitzer melden, das User einfach jemanden per DM anschreiben und um Hilfe bitte ohne zu Fragen
Schreib doch hier hahaha
sorry
mach ich jetzt ich hoffe du kannst mir vergeben
kann mir bitte jemand helfen wo das Problem liegt und was ich dagegen tun kann
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?```
was ist aiohttp ich wüsste nicht wo ich das verwende
ja hab ich auch gesehen😂 danke ich google einfach ma
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
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
nee es steht wirklich nirgends
achso vlt ist auch das problem dass ich es installiert habe
weil das wurde irgendwie mit py-cord automatisch installiert
aber du hast ja nicht den selben code wie ich
Schreib mal in die cmd -> pip list --outdated und schick mir mal nen Screenshot bitte
jetzt kam wieder das
mach ich
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```
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
Ich denk nimm das was du besser kannst ich glaube du kannst mit beiden gleich viel
mehr möglichkeiten hat man damit nicht. mit allen sprachen kann man auf die volle discord API zugreifen. ich persönlich denke, dass der code bei java etwas komplizierter ist, aber letzendlich ist es geschmacksache
OK
Dann letzte Frage:
Warum genau Pycord? Bzw
Was ist der unterschied zwischen Pycord und discord.py?
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
früher ja, aber mittlerweile gibt es sehr starke unterschiede
was ist dein problem
Beim skipen wird nur die Antwort bearbeitet
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)
@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?
hast du denn einen error
Nein
Bekomme aber await message.channel.send(f"Der User ist gerade AFK. Grund: {self.afk_users[mention_user]}") des ned ...
self.bot statt self
Hatte ich auch schon drinne, ging leider auch nicht. Ich habe hin und her gerückt und keine Ahnung …
Aber ja es muss self.bot sein
😅
if msg.author == self.bot
is ist nicht dasselbe wie ==
Bei is überprüft er nicht die Variable an sich
Das ist Pycord. Da ist doch mit is
oder nicht? Ich bin zu müde 
Ne das hat nichts mit pycord zu tun das ist einfach nur python
Hab’s mal editiert. Bin zwar am Handy und im Bett aber ich teste es morgen. Aber richtig eingerückt ist es oder? 
Bin auch am Handy sieht man nd
Grauenhaft hm? 
Glaube ab for muss noch einmal nach rechts eingerückt werden. 
Meh gucken morgen. Danke erstmal und gute Nacht.
Sieht eher so als als müsste die ganze for schleife nach links
😂😂😂😂😂😂😂😂😂😂
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
Also unter die if Abfrage für den User also nach links?
Jup
Gut… ja jetzt sehe ich es auch 
xd

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?
Pycord is a modern, easy to use, feature-rich, and async ready API wrapper for Discord. Features: Modern Pythonic API using async/ await syntax, Sane rate limit handling that prevents 429s, Command...
Danke die seite war ja auch verlinikt denke langsam das ich zu dumm für das ganze bin blicke da kaum durch. verstehe die seite null
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 
Glaube da hat keiner ein Problem mit. Jeder hat mal angefangen.
Danke dir
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
anscheinend hast du 2 cogs die gleich heißen
Oh danke ist mir garnicht aufgefallen
Ich würde das auch nicht commands nennen. Nenn das ActivityChange oder AktivitätsStatus

bot = discord.Bot nur Slash Befehle
bot = commands.Bot Prefix und Slash Befehle 
@urban glen ^

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 
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
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.
Das machst du im dev portal von Discord.
Integrate your service with Discord — whether it's a bot or a game or whatever your wildest imagination can come up with.
Ja deswegen hab ich das doch dazu geschrieben das habe ich ja schon
auf den reiter 'Bot' klicken, dort kannst du den namen/pfp ändern
Mach mal STRG + R
im Discord.
Dein Ernst?
@slash_command(description="Sperre einen Kanal!")
@default_permissions(manage_channels=True)```
bei dem anderen änderst du nur den namen der angezeigt wird und nicht das was auf der Discord platform angezeigt wird
Stimmt, danke für's ergänzen. Hab ich jetzt vergessen xD
rollen berechtigung 'Use Application Commands - True'
achso
kein ding :)

Command Permission Decorators: Commands: Shortcut Decorators: Objects: Attributes full_parent_name, qualified_id, qualified_name. Methods@ after_invoke,@ before_invoke,@ error, def get_cooldown_ret...

das sind die berechtigung wer es benutzen kann 'Use Application Commands - True' das damit die überhaupt angezeigt werden
Da kann ich nur zustimmen
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
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
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
Ich hab Claim & Close halt
Ich mein das der Button sich deaktiviert und nur die Leute mit "Admin" (beispiel) können den drücken
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
Ich mein wenn der noch nicht deaktiviert ist das nur leute mit der Rolle benutzen können
.
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
Boah ich versuch das grade zu lösen. Das funktioniert was er vor hat ...
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
bei rollen geht nur get, nicht fetch:
https://docs.pycord.dev/en/stable/api/models.html#discord.Guild.get_role
Models are classes that are received from Discord and are not meant to be created by the user of the library. Attributes key, url. Methods def is_animated, async read, def replace, async save, def ...
Und wie krieg ich jz hin das der Button sich "deaktiviert"
button.disabled = True
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..)
await interaction.message.edit(view=self)
klar geht das so
aber man kann den button garnicht mehr nutzen
kannst du dem im else nicht wieder auf False setzen? 
Das will ich ja
aber
wenn ein user das klickt
ist er disabled
wie willst du ihn auf eine interaction reaktivieren?
mit asyncio.sleep()
einzige möglichkeit
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=""
)
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
jo
Es funktioniert bis auf button.disabled
code?
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=""
)
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?
await interaction.message.edit(view=Claim())
ändern zu
await interaction.message.edit(view=self)
das disabled nur den button bzw überschreibt es nur
dafür bin ich hier

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

schick mal die zeile wo du get_warn ausrufst
warn = await self.get_warn(user.id)
Ich arbeite selber mit aiosqlite aber wie du das aufgebaut hast, kenne ich das leider nicht 
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()```

Du meinst SQLite
Hm? 
immernoch, bei den rollen einstellung
ist das ein anzeige fehler
Bisschen präziser wäre nicht schlecht?
Also was du meinst
Das das so Farblos ist
Ist kein Anzeige Fehler
ist einfach nur dein Color Theme
Ist das Pycharm oder VSCode?
Pycharm und das war bis eben noch nicht so
#Pycharm #Python
This video shows how to change your color scheme in Pycharm, to any style you'd like to.
War ein Anzeige fehler danke trozdem
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
Worum geht's?
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
da steht es
zum letzten mal
rollen
berechtigung

Junge Twevis hahahaha
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 
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
Hast du dazu nen Video gemacht?
ne, ich hab nur ein video gemacht wie man werte an andere klassen übergibt
Dann haste ja eine neue Video Idee 😄
stimmt 

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?
Screenshot?
Und wie sieht es rechts aus
schick einfach ein screenshot vom ganzen screen

discord.Embed

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? 
So glaube ich nicht 
Musst ein Rollen-Objekt haben
Und nicht einfach die ID einsetzten
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

Ja wo definierst du "level2" denn wenn das level 3 ist?
Musst es schon außerhalb machen oder halt in dem if-statement zu 3 nochmal getten
Kann ich das irgendwie setzen das ich ne Liste habe, die ich überall nutzen kann?
?
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!")
Nh Liste wovon?
Irgendwo die level definieren ... Das ich die nicht immer neu machen muss
Definier und gette die Rollen einfach weiter oben, außerhalb vom If-statement
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!")```

#---------------------------------------------------#
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!")
Ja kannst so machen
Ich klau dir deins das sieht schöner aus
okay?
Danke dir

Ich bin ja noch nicht fertig
Die Nachricht gibt es schon garnicht mehr 
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
bin nur nicht so schnell
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
Du hast meine andere frage noch nicht beantwortet
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 ._.
leute chillt
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"  "
f"Herzlichen"
f" Glückwunsch {message.author.mention} Du bist nun `Level 2` "
f" ")```
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
#---------------------------------------------------#
level10 = message.guild.get_role(1061948161301680182)
level100 = message.guild.get_role(1061948080397750313)
#---------------------------------------------------#
if old_level == new_level:
await message.channel.send(f"  "
f"Herzlichen"
f" Glückwunsch {message.author.mention} Du bist nun `{new_level}` "
f" ")
if new_level == 10:
await message.author.add_roles(level10)
await message.channel.send(f"  "
f"Herzlichen"
f" Glückwunsch {message.author.mention} Du bist nun `Level 10` "
f" ")
if new_level == 10:
await message.author.add_roles(level100)
await message.channel.send(f"  "
f"Herzlichen"
f" Glückwunsch {message.author.mention} Du bist nun `Level 100` "
f" ")```
Wäre dann einfach so? 
Ja ne

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)
und statt Level 2 dann {new_level}
genau
Boah tib weißt du grade so aus dem Kopf, was Level 100 für ne XP Zahl wäre? 
ne keine ahnung, ich lass dass immer meine level methode berechnen
hast du das mit @staticmethod schon probiert?
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?
Wie kann man mit eine bot von discord bild url bekommen?
wie kann ich noch mal choices bei einem slash command festlegen?
autocomplete 
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...
dazu müsste ich die set_emoji_quiz methode sehen
Kann man in einem slash command mehrere await naricht senden?
zB await send_message danach await edit_message?
Wieso sollte das nicht gehen?

Ich sterbe grade vor lachen 
Es meldet glaub ein Fehler
diger der post ist ein monat alt
Ich hab grade bei pinned Nachrichten geguckth ahahhahahaa
Scheinbar 😄
Send message
Asyncio sleep
Edit message.

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?
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
Das bedeutet dann auch, das die Befehle trotzdem noch ausgeführt werden können für eine Weile 
achso
ne das eigentlich nicht
wenn sie noch ausgeführt werden können sollte das unload nicht richtig funktioniert haben
@bot.command(description="Unloade einen Cog")
async def unload(ctx, extension):
bot.unload_extension(f'cogs.{extension}')
embed = discord.Embed(
title="Beenden",
description=f"{ctx.author.mention} hat {extension} runtergefahren."
)
await ctx.send(embed=embed)```
Das einzige was halt jetzt nichtmehr funktioniert ist die on_message function
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
Ich denke mal, wie du sagst. Die werden ja gesynct. 
Da der Bot noch online ist und nicht neu gesynct hat vielleicht? (pycord macht das ja automatisch)
Kann man das in dem command einbauen?
hm, schau vlt mal hier, damit kenne ich mich aber nicht aus: https://docs.pycord.dev/en/stable/api/clients.html#discord.Bot.sync_commands
Bots: Attributes activity, allowed_mentions, application_flags, application_id, auto_sync_commands, cached_messages, cogs, debug_guilds, description, emojis, extensions, get_command, guilds, intent...
ok 
Habe lock = zu und unlock = auf geändert xD
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
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'
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
Ich habe es mit und ohne Import probiert es Passiert nichts und ich bekomme auch keine Fehlermeldung
Ich sehe es 
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?
Ich jetzt auch allerdings funktioniert es trotzdem nicht
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

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?
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)```
hast du den presence intent aktiviert?
Ja
Habe alle intents an

Ja
intents = discord.Intents.all()
bot = discord.Bot(
intents=intents
)```
Das geht alles ... nur activity nicht ...
komisch
https://docs.pycord.dev/en/stable/api/models.html#discord.Member.activities
Was hat es denn damit auf sich?
Models are classes that are received from Discord and are not meant to be created by the user of the library. Attributes key, url. Methods def is_animated, async read, def replace, async save, def ...
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
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
Ah das wurde nicht erklärt
Guckmal
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'>)

interessant 
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

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

ich denke mit ner einfachen if bedingung
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)```
? 
Ich teste grade schon wie verrückt aber das klappt alles nicht so 
if member.activity.artist:
Mach ich Spotify aus
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'Activity' object has no attribute 'artist'
if member.activity is discord.Spotify
ob das geht weiß ich nicht, wenn dann so:
if isinstance(member.activity, discord.Spotify)
ah stimmt, das funktioniert nicht bei dynamischen objekten
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
sehr cool
@commands.command(description=„description“
@default_permissions(administrator=True)
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.
du musst noch den message content intent aktivieren
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?
code ??
deine int methode musst du zu init umbenennen, sonst wird das input feld nicht erkannt
@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)```
da
hats geklappt? @brazen scarab

Danke .. xDD
Wie hole ich mir den member nach unten? Also der, der reportet wurde? 
da habe ich das perfekte video für dich
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github ► https://github.com/tibue99/tutorial-bot
Discord Developer Portal ► https://discord.com/developers/applications
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discord.gg/pycord
Heute klären wir eine Frage, die ...
Ned böse gemeint aber ich verstehe nur Bahnhof
Ich will ja nicht den, der den reportet hat sondern der der reportet wurde

Würde sagen Amongus Save self report


Grund: Alles 
Ungültiger Befehl für Interaktions-Anwendung woher kann dieser fehler kommen?
Code?
kann alles sein
kein respond
keine richtige Antwort
leere callbacks und co
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)
debug_guilds...
hab respond hinzugefügt fehler bleibt
Tu Mal das response vlt nach ganz oben
also unter if member....
und schau obs ab da gehr
Braucht man gar nicht mehr
also das ist ja mal über kompleziert gemacht
@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
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
Hast du zufällig 2 on_message Events in welchen du bot.process_commands verwendest?
ja ich glaube ich hab 2 on_ message events
aber was hat das mit dem command zu tun
zum beispiel wenn ich !bj mache
Dann musst du bot.process_commands() in einem davon entfernen
bot.process hab ich gar nicht benutzt
Schick mal deine events
komm grad nicht an mein codes
jetzt hab ich auch das eine on_message event gelöscht wird trotzdem noch doppelt geschickt
Das ist tatsächlich ein guter Hinweis danke
Ja weil so sparst dir extrem viel Code
Ja stimmt
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...
ich denke du musst discord.ui.Select nutzen und dann den select_type parameter angeben
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?
evtl läuft dein bot 2 mal irgendwo
Ty also discord.ui.user_select?
maybe du hast in mehreren on_message Events await bot.process_commands(message)
tib, wie hast du das gemacht? Ich finds nicht heraus
(Also das die Felder dunkler sind)
mit einem codeblock
Das hab ich auch schon versucht, das klappt ned 
wie hast du es denn versucht

so zum beispiel
Danke ... xD
Die Rolle + Zeitangabe . Kann man das irgendwie anzeigen lassen oder geht das durch den Codeblock nicht?
das geht leider in codeblocks nicht
Du bist der beste 😄 Wie findest denn das? 
sehr cool
Danke 
• Account erstellt: <t:1598972847:R>
• Server Beigetreten: <t:1667772492:R>
@floral monolith • Avatar • Profil • BannerID: 750371249229660222
Dieser User boostet den Server seit 63 Tagen.
Dieser User hat 4 Timeouts erhalten und war insgesamt 13 Minuten im Timeout.
<t:1668302322:d> - !Sniex#7188
<t:1673091135:d> - !Sniex
<t:1669656339:d> - Flashbang
@floral monolith
@solid ingot
Das ist besser
Hab keine Ahnung mehr worum es geht xD
Das ist mir einfach viel zu viel unnötiges (Nicht böse gemeint)
Ist ja schon alles im embed 
@discord.slash_command()
@default_permissions(manage_guild=True)
async def quiz(self, ctx):```
funktioniert bei mir einwandfrei ^^
@urban glen Ich meine das ehrlich nicht böse, ich helfe dir gerne ... Aber du fragst mich immer so Basic sachen ... Schau doch einfach mal hier rein :
https://guide.pycord.dev/popular-topics/cogs
https://docs.pycord.dev/en/stable/index.html
https://docs.pycord.dev/en/stable/api/data_classes.html#discord.Permissions
Du nutzt halt nen Prefix command
Da kannst du das nicht so machen wie du es vor hast
also erstens muss das mit den permissions unter @commands.command(). zweitens geht das mit den default permissions nur bei slash commands
Da musst du mit einer if abfrage rausfinden ob der User die permission hat
Glückwunsch tib

dankö
Twevis ^
||(Weiß nicht ob das schon erwähnt wurde)|| Nicht unbedingt ._.
er kann auch @commands.has_permissions(Administrator=True) machen
es geht auch ohne if abfrage, aber statt default_permissions musst du diese sachen benutzen: https://gist.github.com/Painezor/eb2519022cd2c907b56624105f94b190
Built-in Checks for the commands extension of discord py - Checks.py
Sag ich ja xD
Ah, das geht auch? 
Ich arbeite nur mit / Befehlen ._.
besser so :D

Finde ich blöd wenn man !info @solid ingot machen muss
Einfach / Tab Name Enter easy peasy
@urban glen in meinem video zu permissions zeige ich übrigens beide methoden, die eine methode kann man auch für prefix commands benutzen

Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github
► https://github.com/tibue99/tutorial-bot
Command Checks für Variante 2
► https://gist.github.com/Painezor/eb2519022cd2c907b56624105f94b190
Tutorial Playlist
► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Discord Developer Portal
► https://discord.com...
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()

gz
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


stark

Wirklich stark
also dass ein modal kommt wenn man auf ein button klickt?
das zeige ich in meinem modal video
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github ► https://github.com/tibue99/tutorial-bot
Discord Developer Portal ► https://discord.com/developers/applications
Tutorial Playlist ► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/int...
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
Jmd nh Idee was ich in nen Bot einbauen könnte?
.
Lern die grundlagen
Sowas sollte jeder Anfänger können
Joa mach dir mal gedanken 
Die grundlagen?
Erstmal Python grundlagen lernen.
Gibt gute Bücher dazu
So hab ich angefangen
Und dann docs gelesen und ggf. tutorials geschaut
ok.

wieso ist die klasse nicht ganz links eingerückt?
Wollte grad sagen das es zu weit vorne is
Aber dachte er hats selber herausgefunden
@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
ctx.author.avatar.url
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



Augen auf 




