#Allgemeine Hilfe
1 messages · Page 4 of 1
genau
Ah perfekt danke
@crystal star fuer das mit dem on_guild_channel_create gillt das gleiche ;D
alles klar 😄
welcher fehler steht dabei?
Hey Leute weiss jemand wie man beim slash command zwingen kann file rein zu tun?
Oder mit eine Button?
discord.Attachment
Ty
wenn ich den command ausführen will steht da, die anwendung reagiert nichtz
kann wer helfen?
schick mal deinen code
wenn du mit self.client arbeitest, solltest du bei der latency nicht self.bot verwenden sondern self.client
jo danke
Hey, weiss jmd wie ich z.b. die var id von deinem command in ein modal was in einer anderen klasse ist mitnehmen kann
die müsstest du als extra parameter an die modal klasse übergeben
also quasi im konstruktor der modal klasse hinzufügen
okay
ich kann leider nicht dass passende finden.
Kann mir jemand sagen wie ich das hinbekomme in einem embed 4 felder auf 2x2 untereinander aufzuteilen?
Krieg das nicht gebacken
Schick mir mal deinen Code
Du müsstest inline=True anhängen an dein Textfeld. Dann sollte es gehen
So wie hier
Dann sieht es so aus:
Wenn du des noch mit 2 Zeilen machst, dann sollte es so sein wie du es haben willst. Kann aber sein, dass du den ersten und den dritten inline=False machen musst
@urban glen schreibe dein Profil bitte hier rein
Ich glaube nicht, dass das möglich ist, weil das mit inline=False direkt in eine eigene Zeile gesetzt wird.
Wenn es doch irgendjemand schafft sagt mir bitte bescheid 
ja mach ich, aber bitte nicht pingen, siehe #🔰・old-help-rules
warum gibt er immer else raus?
def MultiPotenz():
while True:
Faktor = randrange(101)
eingabe = input(f'{Faktor}^2= ')
if Faktor*Faktor in eingabe:
print(f'Richtig es ist {Faktor*Faktor}')
else:
print(f'Es ist falsch, Lösung:{Faktor*Faktor}')
zB die Rechnung wäre 1²
Dann wäre ja die Lösung 1
Aber es gibt mir else raus
Die Frage ist warum???
Ahja
Hmm
C:\Users\Georgi\AppData\Local\Programs\Python\Python310\python.exe "C:\Users\Georgi\PycharmProjects\py-cord projekt eucord ai\main.py"
----Bot Infos----
Bot-User: ΞUROPΞ CORD ΛI#2725
Bot-Ping: 0.11912449999363162
Bot.ID: 1005727762910302318
----Server Infos----
Member:1
Kanäle: 117
Ignoring exception in on_ready
Traceback (most recent call last):
File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 377, in _run_event
await coro(*args, **kwargs)
File "C:\Users\Georgi\PycharmProjects\py-cord projekt eucord ai\cogs\dropdown.py", line 12, in on_ready
self.bot.add_view(TutorialView)
File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 1767, in add_view
raise TypeError(f"expected an instance of View not {view.__class__!r}")
TypeError: expected an instance of View not <class 'type'>
x```
da fehlen die klammern hinter TutorialView()
hmm
Code:
import discord
from discord.ext import commands
from discord.commands import slash_command
class Dropdown(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
self.bot.add_view(TutorialView())
@slash_command()
async def select1(self, ctx):
await ctx.respond("Wähle deine Programmiersprachen aus", view=TutorialView)
def setup(bot):
bot.add_cog(Dropdown(bot))
class TutorialSelect(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 TutorialView(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
options = [
discord.SelectOption(label="Python", description="Python Beschreibung",
emoji=":PH_Verifizierter_Developer:"),
discord.SelectOption(label="Java", description="Java Beschreibung",
emoji=":PH_Verifizierter_Developer:"),
discord.SelectOption(label="Javascript", description="Javascript Beschreibung",
emoji=":PH_Verifizierter_Developer:")
]
@discord.ui.select(
min_values=1,
max_values=2,
placeholder="Wähle deine Programmiersprache",
options=options,
custom_id="Verse"
)
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 ausgewählt:\n{s}")```
die options, die du in der TutorialView Klasse definiert hast, kannst du im moment noch nicht in der TutorialSelect klasse benutzen. dazu müsstest du zum die liste mit den options ganz oben in die datei machen
das müsste im video auch noch gezeigt werden
Ich hab nen Weg gefunden. Ich weiß aber nicht, ob das der beste ist
@frail loom
Einfach eine leere Spalte an dritter Stelle angeben. Dann macht er direkt darunter weiter
interessant
Kann mir jemand sagen, wieso ich immer die Nachricht Nutzer hat sich gemutet oder entmutet bekomme, auch wenn ich zum Beispiel meine Facecam anmache oder sonst was? Es werden immer die ersten beiden Nachrichten gepostet.
wenn du nur prüfst, ob before.self_mute false ist, musst du noch prüfen, ob after.self_mute true ist. before.self_mute ist immer false, wenn die person nicht gemuted ist, unabhängig davon welche aktion die person ausführt
Stimmt. Da hatte ich voll den Denkfehler. Danke
hey leute kann mir jemand da helfen in embed field?
ColumnList = ['UserID', 'UserPremium', 'UserLangue', 'ChannelF_or_7DSGC_Newsletter_BOOLEAN']
UserList = [(443455971323543554, 1, None, 1), (650456829712793636, 1, None, 0)]
range1=range(len(UserList))
for y in range(len(ColumnList)):
ColumnNames = (ColumnList[y])
print(ColumnNames)
for x in range(len(UserList)):
ColumnValues = UserList[x][y]
print(f'- {ColumnValues}')
Will diese code den format 1:1 in embed umwandel, ich weiss nur nicht wie.
den embed sollte zirka so rauskommen den text.
UserID
- 443455971323543554
- 650456829712793636
UserPremium- 1
- 1
UserLangue- None
- None
ChannelF_or_7DSGC_Newsletter_BOOLEAN- 1
- 0
embed.add_field(name='SQLite error:', value=(' '.join(er.args)))
in Embed field möchte ich beim name= Columns list und value dann ColumnValues.
idk wie ich das so machen kann.
tibu kannst du mir helfen?
ich bin mir nicht ganz sicher was du vor hast
das hier. Nur die selbe Title(name) von embed
mein code:
ColumnList = ['UserID', 'UserPremium', 'UserLangue', 'ChannelF_or_7DSGC_Newsletter_BOOLEAN']
ValuesList = [(443455971323543554, 1, None, 1), (650456829712793636, 1, None, 0)]
embed=discord.Embed(
title=ColumnList[0],
description=' ',
color=discord.Colour.brand_red(),
)
for x in range(len(ColumnList)):
for y in range(len(ValuesList)):
embed.add_field(
name=f'{ColumnList[x]}',
value=f'{ValuesList[y][x]}'
)
print('Check 5')
await ctx.respond(
f'-',
embed=embed,
#ephemeral=True
)
ich weiss nicht wie ich bei schleife in x den schleife für value machen kann
etwa so
leider schaff ich den zweite in array liste von UserList nicht darunter zu tun
ist es möglich ein cooldown zu einem button hinzuzufügen?
nicht wirklich, das müsstest du selbst checken, nachdem der user auf den button gedrückt hat
für einen globalen cooldown könntest du den button auch deaktivieren und nach einiger zeit wieder aktivieren, aber dann ist der button für alle member deaktiviert, nachdem ihn ein member gedrückt hat
@thick haven kannst du helfen???
wo liegt das poroblem
ich kann nicht in value von ValuesList liste rein tun
ich kann talk so ab 17:30
dann kann ich dir genau zeigen wo das problem ist
kann mir jemand sagen wie ich einpaar Pages embed / Multiembed
hey
hat jmd eine ahnug wieso die ersten sachen auf dem string nicht angezeigt werden ?
wenn ich ganz am anfang \n machen werden die angezeigt, würd aber gerne verstehen wieso es so ist
hey, das ist so, weil man bei discord nach dem ``` noch eine sprache festlegen kann
beispielsweise kann man für einen python codeblock ```py schreiben. ab der nächsten zeile fängt dann der eigentliche text an
achso, danke 
bin gerade bisschen am verzweifeln mit dem inline
will gerne
1
2
2
1
hab gerade
1 inline false
2
2
1 inline false
wo muss inline hin und wo nicht, oder ist es nicht möglich ?
das ist leider nicht ohne weiteres möglich, aber du kannst dir mal den workaround von piranha anschauen: #1019974414487535736 message
thx
sollen die mal normal einfügen, sieht nicht so nice aus , aber erfüllt seinen zweck 
mal ne python frage, wie kann man es am besten lösen ?
ich frage eine API ab und bekomme dies als resp.
"Lager": {
"3": {
"stock": 435,
"stockweg": 0
},
"8": {
"stock": 308,
"stockweg": 0
},
"9": {
"stock": 0,
"stockweg": 0
},
"10": {
"stock": 6762,
"stockweg": 0
},
"12": {
"stock": 0,
"stockweg": 0
},
"19": {
"stock": 0,
"stockweg": 0
},
"30": {
"stock": 1,
"stockweg": 0
}
}
meine frage ist nun wie ich am besten alle "stock" zusammenzählen kann
hab angefangen alle stock vom lager zB 3 und lager 8 zu addieren, aber manchmal gibt es lager 3 nicht und dann crasht meins natürlich weil er es nicht auslesen kann.
versteht ihr was ich meine ?
also um zu prüfen, ob "stock" vorhanden ist, kannst du eine einfache if abfrage benutzen. je nachdem wie die restliche response formatiert ist würde das ungefähr so gehen
for key in lager.values():
if "stock" in key:
print(key["stock"])
@urban glen welchen
Screen?
Müsste gehen hatte ich auch mschmal pip list
Geh in den "Python Interpreter"
Einstellungen
Ja von pycharm
Projekt bot
Und dann auf das plus und nach py-cord suchen
Bot
Warte
Ich starte pycharm
Nah morgen vielleicht heute nicht mehr geh gleich pennen
So sollte es aussehen
Dann auf das plus und suchen
Mit -
Schau screen
Das
2.2.2
Falls das immer noch nicht geht musst du auf Timo warten
Python hast du installiert?
Dann weiß ich nicht weiter
Hab auch keinen Dev der online ist mehr
Sry
Also jute Nacht
was genau ist der fehler ?
vom pycord install ?
Yes
in pycharm ?
das bild sieht iwie nach VS code aus
Ne ist pycharm schau etwas weiter oben
kann mir jemand sagen wie ich eine page embed machen kann???
hab diese Bibli: https://docs.pycord.dev/en/master/ext/pages/index.html#discord.ext.pages.Page.embeds
ich weiss leider nicht was ich importieren muss zusätzlich auch wie die code Struktur aussieht
das steht doch sogar in dem code den du hier als link ahst
Naja ist es überhaupt ein page embed??
Andere Frage ist wie funktioniert das jetzt in einem cogs?
der code von dem link den du geschickt hast ist doch schon in einem cog
Meines wissens hat pycord 2.2.2 noch keinen Support für Python 3.11
Da müsstest du entweder auf den pycord master branch wechseln oder erstmal Python 3.10 benutzen
ohh
so btw gehört page embed zu button reihe denke ich mal
hätte da eine kurze frage
hat es eine unterschied ob check premission über den @slash_commands oder drunter
und zwar ich hab in den cogs verschiedene commands
ist es normal das der @commands.Cog.listener() von einem command auch auf das andere übergreift ?
das geht bei https://www.python.org/downloads/
ich weiß nicht genau wie du das meinst, aber das sollte nur für eine methode sein
ja zum beispiel, 3.10.8 würde aber auch gehen
Ganz unten bei files solltest du es herunterladen können
geh am besten mal die checkliste in #🔍・pycord-help durch
das sieht soweit gut aus. benutzt du pycharm?
hat der bot zugriff auf den server, den du bei debug_guilds angegeben hast?
nein. Ich habe vscode verwendet. Bei Bedarf kann ich auf Pycharm umsteigen
lass es
wenn du bilder anzeigen lassen willst ist vs flexibler
es gibt hier zwar auch einige leute, die vscode benutzen, aber ich persönlich kann dir leider nur bei pycharm helfen
PYCHARM BESTE
big cap
komisch, der fehler sollte eigentlich nur auftreten, wenn der bot noch nicht auf den server hinzugefügt wurde, der bei debug_guilds angegeben ist
achso, freut mich wenn das problem nun behoben ist
brauchst du noch hilfe?
vc?
hatte bis gerade arbeit 😂
schreib mit per dm wann du zeit hast, werde dir zum thema 'Page Embed' dann helfen habe selber eins :D
ty extrem cool von dir
wtf du bist früher fertig als ein schüller
lol
von 7 - 15 uhr
was willst du von mir du eierkopf
wenn du guild einfach oben importest, weiß der bot nicht, welchen server du meinst. mit ctx.guild kannst du auf den server zugreifen, auf dem der command benutzt wurde
title=f"Infos über den {ctx.guild.name} Server"
wieso wird der nichtgefunden
Könnte daran legen das du die user variable unter der if funktion festgelegt hast
Aber idk
das liegt daran, dass der ganze code innerhalb der if-bedingung steht. somit wird er nur ausgeführt, wenn die if bedingung true wird. um den code aus der if bedingung rauszuholen, müsstest du ihn um einen tab nach rechts verschieben
nach links meine ich
das user = ctx.author gehört noch in die if-bedingung rein, der rest nicht
genau
hm, versuch mal das g von Game großzuschreiben
ah stimmt, hab ich gar nicht gemerkt 
das kann mehrere ursachen haben. als erstes solltest du prüfen, ob dein cog auch geladen wird
du könntest zum beispiel ein print statement in die __init__ methode einbauen
ansonsten schick mal den code deiner main datei
aktuell wird dein commands cog noch nicht geladen, schau dir am besten nochmal das video zu cogs an
Der Command Name ist doppelt
Du hast zwei Commands mit meinetwegen /activity
Oder irgend einem anderen Command
Ja mach des
ich weiss ja nicht aber vllt gibt es ja doch ein der sich auskennt
Vielleicht kann dir das weiterhelfen: https://codingbeautydev.com/blog/javascript-cannot-read-property-of-undefined/#:~:text=The “cannot read property of undefined” error occurs when you,the variable before accessing it.
Oder probier mal in Zeile 15 @winter marten
if (typeof(button) == 'undefined') return;
flascher screen
Und wo ist dein error?
jz
Dann mach des mal in Zeile 13 rein, nur nicht mit button sondern mit modal
if (typeof(modal) == 'undefined') return;
Wie arbeiten hauptsächlich nur mit python
Nerv nicht 
nah hat was mit get zutuen auf zeile 10
Kannst du mir mal kurz den ganzen Code senden
jo
const { InteractionType, EmbedBuilder } = require("discord.js");
const { ModalSubmit } = InteractionType;
module.exports = {
name: "interactionCreate",
execute(interaction, client) {
if (interaction.type !== ModalSubmit) return;
const embed = new EmbedBuilder();
const modal = client.modals.get(interaction.customId);
if (!modal) return;
if (typeof(modal) == 'undefined') return;
if (
modal.permission &&
!interaction.member.permissions.has(modal.permission)
)
return interaction.reply({
embeds: [
embed
.setColor("Aqua")
.setDescription(
`🔹 | You don't have the required permissions to use this button.`
)
.setTimestamp(),
],
ephemeral: true,
});
if (modal.developer && interaction.user.id !== client.config.ownerIDs)
return interaction.reply({
embeds: [
embed
.setColor("Aqua")
.setDescription("🔹 | This button is only available to developers.")
.setTimestamp(),
],
ephemeral: true,
});
modal.execute(interaction, client);
},
};```
wait
geht auch nicht
1d auch nicht
der hat nen problem mit dem get
Soll das wirklich so heißen?
const modal = client.modals.get(interaction.customId);
und nicht so:
const modal = new client.modals.get(interaction.customId);
ne es ist einfach undefiniert
und ka wo ich es definieren soll
Komm doch einfach mal hoch in den Channel
jetzt hab ich keine fehler meldung mehr
geht aber nicht wenn ich es ausführe
komm gleich
ich glaube du bist schneller fertig wenn du jetzt anfängst python zu lernen
mach mal channel= den id
Kurz gesagt
await channel.send(channel.id)
naja, das ist nicht ganz richtig, eher so:
message = await channel.send("Lol")
msg_id = message.id
perfect expert on here
hey hätte da mal eine frage kann ich die sprache der user bekommen?
standard account sprach settings
mit interaction.locale: https://docs.pycord.dev/en/stable/api.html?highlight=locale#discord.ApplicationContext.locale
ty
funktioniert das auch in einem slash commands?
wollte eine übersetzer machen mit deepl api
tibue nutzt du np für den steal keks bot wegen der wahrscheinlichkeit
interessant dachte nur wegen 10% Wahrscheinlichkeit verteilung
das geht gut mit random
okay
dachte nur wegen wahrscheinlichkeit verteilung
np.random.choice(mathCalculator, range(len(mathCalculator)), p=[0.5, 0.5])
das geht ohne numpy einfacher :D
Wie denn?
mit random
kann mir wer dabei helfen
Bruder wir haben kein plan davon
ENDLICH JEMAND DER VSC AUCH BENUTZT
Weiteroben ist die helpclass
kann dir vlt helfen
Der Keks Bot ist ein mysteriöser Keks-Verteiler, der viele Features für deinen Server bietet.
• Letzter Neustart: <t:1667564231:R>
• Erstellt mit: Pycord
• Support Server: https://discord.gg/codingkeks
• Server: 19
• User: 363
• Latency: 143ms
moin
fehlt da nicht noch ein àwait ctx.respond(embed=embed)?

muss die json in cogs oder ausßerhalb ?
kann auch außerhalb dein
wenn du es im cogs ordner hast, müsstest du wahrscheinlich open("cogs/ausweis.json") schreiben
Weiss jmd warum ich immer ne zahl mit . bekomme?
def get_unix_time():
now = datetime.now()
future = now + timedelta(days=60)
unix_time = future.timestamp()
print(f"The Code for the Time is <t:{unix_time}:R>")
return unix_time
get_unix_time()```
mit Punkt?
hm keine ahnung, timestamps benutze ich immer nur mit discord.utils.format_dt
hm
Versuch es mal mit round()
int() hat mir geholfen
Wie gebe ich beim Click eines Buttons in Discord.py eine Rolle an den clickenden Nutzer?
da ich pycord nutze bin ich nicht 100% sicher, aber zuerst einmal musst du die rolle mit der ID bekommen. die kannst du dann vergeben
role = interaction.guild.get_role(ID)
await interaction.user.add_roles(role)
ID mit der Rollen-Id ersetzen?
ja
Kann man machen, das der Bot die Rollen erstellt, z.B. Pronomen und dann die Id davon holt
ja das geht, schau am besten hier mal: https://docs.pycord.dev/en/stable/api.html?highlight=create_role#discord.Guild.create_role
Was heißt bei den optionen Hoist?
ob die rolle in der member liste getrennt angezeigt werden soll
Ich versteh die emoji="" nich, hab da jetzt den unicode als string (U+1F44D) reingetan, aber das is offensichtlich falsch
ich sehe gar keinen emoji parameter
Wie was
bei nem Button
achso, ich dachte du sprichst noch über create_role
nene, später
die emojis kannst du im grunde einfach aus discord kopieren und im code einfügen
als string
Also nicht :thumbsup: sondern das emoji
sollte beides gehen
Wie kann ich bei meiner Button Nachricht einen Titel über den Buttons anzeigen?
wie meinst du das genau?
In der Selben Nachricht, wie zum Beispiel "Wähle deine Pronomen" oder so
await ctx.reply("Wähle deine Pronomen", view=view)
Mache gerade meine Music bot aber er will das ich das definiere ich weiß aber nicht was bzw wie ich es definieren soll
wenn du variablen benutzt, musst du die natürlich vorher auch definieren
schau dir nochmal genau an wo der modal titel festgelegt wird: https://github.com/tibue99/tutorial-bot/blob/main/Grundlagen/part13_modals.py
Jo wat habe ich falsch gemacht? Code: ```py
class TicketButton(discord.ui.View):
def init(self):
super().init(timeout=None)
@discord.ui.button(label="Ticket", style=discord.ButtonStyle.green, custom_id="öffnen")
async def button_callback1(self, button, interaction):
modal = discord.ui.Modal(ReasonModal(title="Ticket Reason"))
await interaction.response.send_modal(modal)
Fehler:```py
File "C:\Users\Linus\Desktop\Coding\Python\PycharmProjects\CaveBot\CaveMCBot\cogs\ticket_sys.py", line 30, in button_callback1
modal = discord.ui.Modal(ReasonModal(title="Ticket Reason"))
TypeError: Modal.__init__() missing 1 required keyword-only argument: 'title'
zeig mal modal code
Steht doch schon
ok komm #1020759567421931620
Blind?!
du bracuhtst da anführungs zeichen
aso ne
das is nh variable
alles gut
war lost
@solid ingot
Nein ich seh ja den modal
Wie kann man nochmal in einem bestimmten channel einen nachricht responsen?
channel = client.get_channel(123456789) # channel ID
await channel.send("nachricht")
auch eine variante
aso ne meine bei einer interaction
genau so
kein unterschied
auser bei Louis da wäre es dann:
await channel.send("text")
await interaction.response.send_message("text")
jop
Interaktion. Response
So musst du nicht auf Channel fixieren
genau so aber in einem betsimmten chanel
doch sonst sagt er mir das er die nachricht nicht senden kann ;)
Ahh Joa dann denke ich mal evt mit interaction.channel.send?
nö
Ich hab es so gemacht ohne Problem
möchte ja responsen
nein xD
xD
mach das mal so : py await ctx.respond(myModal(title="ssd"))
dikka
dort wo du beim slach command halt responsed
oh wait
,?
du darfst den titel quasi nicht innerhalb von __init__ festlegen, sondern den titel musst du an die klasse übergeben wie im tutorial
ctx.send_modal(modal)
der titel muss noch rein
modals haben kein label
schau dir am besten nochmal genau das tutorial an
@thick haven
die anordnung ist falsch
das
def __init...
das muss 1 weiter vor also auf der höhe vom @slash_command
hey!
Traceback (most recent call last):
File "C:\Users\merto\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 377, in _run_event
await coro(*args, **kwargs)
File "C:\Users\merto\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 1138, in on_connect
await self.sync_commands()
File "C:\Users\merto\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 711, in sync_commands
app_cmds = await self.register_commands(
File "C:\Users\merto\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 513, in register_commands
prefetched_commands = await self._bot.http.get_guild_commands(
File "C:\Users\merto\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\http.py", line 353, in request
raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access
Apokalypto | Apored#9556 ist online```
weiss jeamnd woran der fehler liegt?
hast du die richtige ID bei debug_guilds
danke war noch die falsche drin
Kann mir jemand sagen, wieso meine totalxp auch wieder zurückgesetzt werden auf 0 sobald ein Level aufgestiegen wurde?
du kannst totalxp nicht zu den xp setzten da die 0 nach nem level aufsitieg sind mach eine seperate var
Ich hatte es di doch sogar extra geschickt
Kann mir jemand sagen warum das nicht geht???
kann mir jemand sagen wie ich bei interaction alles editieren kann? bezogen auf msg
Dachte einfach in view
Interaction.edit
Interaction.response.edit_message
@indigo sapphire
Mal eine ganz andere frage
Weiß jmd wie man bridge commands erstellt? Wenn ja schreib mir mal per dm
Bin Expert
😂
30% bei mein bot sind Bridge command
Leider musste ich umsteigen weil in command group keine Bridge gibt
Ty
hier ist ne relativ gute Anleitung
https://guide.pycord.dev/extensions/bridge/
darf man hier auch fragen über standard python stellen? also nichts mit explizit pycord oder discord bots?
ja klar
ok
nur python grundlagen sollte man vorher schon können
ja das ist mit klar
ich habe mehrere cogs aber der eine cog reagiert auf nen anderen command
der sollte nicht kommen , bzw. soll kommen wenn der fehler bei nem anderen slah command auftritt
achso, das on_application_command_error event ist global, es werden also im falle eines errors immer beide events ausgeführt
achso okay danke 🙂
Ich weiß. Ich habs dann noch hin bekommen
wie macht man timestamps in nem code?
als bsp:
Account erstellt am: ... Years ago
thx
discord.utils.format_dt()
kann mir jmd ein bsp in nem code block zeigen?
als bsp das mit dem Account erstellt am: ... yrs ago
oder hat wer docs dafuer o.Ä
hast es hinbekommen ?
jop
thx
Hi
wait ich sende gleich meine Frage rein
Okay haha
wollte fragen wie man halt den discord namen + tag vom ctx author bekommt
finde die Variable dafür nicht
zum beispiel mit f"{ctx.author}"
hätte ich nicht gedacht ich versuch's mal
hat geklappt danke
wozu hast du guild importiert?
Ich probier den mal, wait.
Der Bot geht online, aber ich kann nur eine Rolle auswählen.
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'Test' object has no attribute 'author'
das ist der error
Ich hab das Cog test genannt, nicht wundern!

no jk geh einfach auf VsC ist eh besser als pycharm :D


bruh what
warte eine sekunde
Ignoring exception in command addrole:
Traceback (most recent call last):
File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 126, in wrapped
ret = await coro(arg)
File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 852, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "c:\Users\DBXFl\Desktop\Coding Locations\_specialCoding\Mr.Poopybutthole\Commands__General\test.py", line 32, in addrole
if role.position >= ctx.author.top_role.position:
AttributeError: 'Moderation' object has no attribute 'author'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 993, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 357, in invoke
await injected(ctx)
File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 134, in wrapped
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'Moderation' object has no attribute 'author'
mein error bei deinem command
ka was du da machst, aber es klappt ned
kann dir da leider nicht helfen tut mir leid.
Genau der gleiche Error wie bei mir
em.set_author(name=f'{ctx.author.name}', icon_url=f'{ctx.author.icon}')
kann mir wer sagen warum das ned klappt?
ctx.author.avatar
ah bruh
ja mb
icon gibt es nur bei guild
thx
np
ja mir auch gerade klar geworden XD
xD
da hätte auch noch das .url hinten gefehlt xD
oder ahh geht auch ohne mit f string
kann sein
Hab das immer ohne gemacht, aber seit kurzem mach ich das trotzdem just4fun
Kurze Frage: Wie importiere ich slash commands? Discord.py
das ist auf jeden fall das offizielle beispiel für slash commands bei discord.py
ich kann aber nur pycord, deswegen kann ich da nicht helfen
Hätte eine kurze Frage warum immer @ ?
Beim cogs?
Yo
Zu discord.py stuff habe ich ein paar sachen in #1027677692730036294 geschickt
Unter anderem wie du slash commands machst
In discord.py kannst du nähmlich kein slash_command importieren
Falls du weitere fragen zu discord.py hasr, frage mich ruhig :D
Als ob. Funktioniert mein Code immernoch? Oder geht das dann nicht mehr? Und muss ich pycord über pip installieren?
Hey kann mir jemand dabei helfen im python.
Ich möchte diese Rechnung: 3,540:59 als rechenweg machen wie kann ich das bewerkstelligen?
Es sollte als Formel mit Zufallsgenerator sein
ich will mir py-cord installieren und denn kommt immer diese Fehler meldung, und wie bekommt man die weg, weil ich das wegen py-cord nicht installieren kann.
Immer noch die selbe fehler meldung
Es geht immer noch nicht
welche python version hast du?
3.11
dafür müsstest du auf den pycord master branch wechseln oder erstmal noch python 3.10 benutzen
es geht jetzt
Hi
hab nh Frage zu Modals.
In diesem code von @solid ingot sind 2 Blöcke im Modal, weißt aber nicht genau wie ich noch einen Block hinzufügen kann.
class TutorialModal(discord.ui.Modal):
def __init__(self, *args, **kwargs):
super().__init__(
discord.ui.InputText(
label="Embed Titel",
placeholder="Placeholder"
),
discord.ui.InputText(
label="Embed Beschreibung",
placeholder="Placeholder",
style=discord.InputTextStyle.long
),
*args,
**kwargs
)
async def callback(self, interaction):
embed = discord.Embed(
title=self.children[0].value,
description=self.children[1].value,
color=discord.Color.green()
)
await interaction.response.send_message(embed=embed)
hey, die kannst du im grunde einfach noch dahinter anhängen, so sieht das dann aus
def __init__(self, *args, **kwargs):
super().__init__(
discord.ui.InputText(
label="Embed Titel",
placeholder="Placeholder"
),
discord.ui.InputText(
label="Embed Beschreibung",
placeholder="Placeholder",
style=discord.InputTextStyle.long
),
discord.ui.InputText(
label="Embed Beschreibung 2",
placeholder="Placeholder",
style=discord.InputTextStyle.long
),
*args,
**kwargs
)
Ah, okay. Kann man eig. auch machen dass man in den Block nichts schreiben muss, also den auch mal leer lassen kann?
ja, da müsstest du dann noch required=False ergänzen
jo
@solid ingot
Bekomme da so einen error angezeigt: embed.set_thumbnail = self.children[2].value AttributeError: 'Embed' object attribute 'set_thumbnail' is read-only
class TutorialModal(discord.ui.Modal):
def __init__(self, *args, **kwargs):
super().__init__(
discord.ui.InputText(
label="Embed Titel",
placeholder="Placeholder"
),
discord.ui.InputText(
label="Embed Beschreibung",
placeholder="Placeholder",
style=discord.InputTextStyle.long
),
discord.ui.InputText(
label="Thumbnail",
placeholder="Placeholder",
style=discord.InputTextStyle.long
),
*args,
**kwargs
)
async def callback(self, interaction):
embed = discord.Embed(
title=self.children[0].value,
description=self.children[1].value,
color=discord.Color.green()
)
embed.set_thumbnail = self.children[2].value
await interaction.response.send_message(embed=embed)
embed.set_thumbnail(url=self.children[2].value)
yoyo danke
jz keine discord bot frage , aber vlt kennt sich ja einer mit webscraping aus und kann mir ggf. weiterhelfen, bekommt auch etwas wenn er es schafft
import json
from time import strptime
import pathlib
from dhooks import Webhook, Embed
from datetime import datetime, timedelta, date
from datetime import date
import time
import hashlib
from pytz import timezone
import tls_client
session = tls_client.Session(client_identifier="firefox_106")
res = session.get(
"https://www.prodirectsport.com/client/api/product/263571/availability",
headers={
"Accept": "application/json, text/plain, */*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "de,en-US;q=0.7,en;q=0.3",
"Connection": "keep-alive",
"Expires": "0",
"Pragma": "no-cache",
"Referer": "https://www.prodirectsport.com/basketball/p/jordan-1-retro-high-og-black-white-particle-grey-mens-shoes-263571/",
"Sec-Fetch-Dest": "empty",
"Sec-Fetch-Mode": "cors",
"Sec-Fetch-Site": "same-origin",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0",
}
)
print(res.status_code)
brauche da nen status code 200 und die json
wird bestimmt iwas mit den headern zu tun haben
website ist https://www.prodirectsport.com
und /client/api/.... bekommt man wenn man auf nen produkt geht.
bei anderen produkten klappt es , brauche es aber bei dem im code
da hab ich leider gar keine erfahrung mit, sorry
wie bekomme ich eine liste mit allen user ids auf dem einem? nur die ids
member_ids = [member.id for member in guild.members]
prinzipiell kannst duliste mit allen guilds mit bot.guilds bekommen, alternativ kannst du die guild bestimmt auch mit der ID laden
danke dir
wie kann ich aus 2022-11-03 19:12:10.503000+00:00
in pycord eine relative zeitangabe machen?
hast du das als string oder als datetime objekt
also discord gibt mir das zurück also ein datetime objekt
perfekt dann kannst du das datetime objekt einfach in discord.utils.format_dt() einfügen
ah danke vilemals
test = HIER DATETIME OBJEKT
discord.utils.format_dt(test , "R")
ja danke
weiss jmd zufällig gerade wie man in nem Slash Command multiple Choices machen konnte? Wusste es mal habs allerdings vergessen und finde nichts in den Docs 💀
fuer alle die ned wissen was es ist
sowas was @burnt prairie bei /leaderboard hat
hier ist ein beispiel, das geht mit choices: https://github.com/tibue99/tutorial-bot/blob/main/Grundlagen/part06_bot_status.py

auf jeden fall
1. @solid ingot - 14,910 Voice Minuten
2. @viscid lake - 7,645 Voice Minuten
3. @obtuse estuary - 5,770 Voice Minuten
4. @thick haven - 4,748 Voice Minuten
5. @obsidian steeple - 4,064 Voice Minuten
6. @fickle creek - 3,113 Voice Minuten
7. @meager ginkgo - 2,524 Voice Minuten
8. @scenic cliff - 1,959 Voice Minuten
9. @bold lava - 1,560 Voice Minuten
10. @stuck drift - 1,507 Voice Minuten
11. @vivid sky - 1,328 Voice Minuten
12. @cloud garden - 1,225 Voice Minuten
13. @indigo sapphire - 1,124 Voice Minuten
14. @crisp grotto - 870 Voice Minuten
15. @barren badger - 836 Voice Minuten
@slash_command(description='Create a simple Poll')
async def poll(
self, ctx,
question: Option(str, "Question"),
choice1: Option(str, "Choice 1"),
choice2: Option(str, "Choice 2"),
):
await ctx.respond("msg got sent succesfull", ephemeral=True)
msg = await ctx.send(f"{question}\n\n{choice1}\n{choice2}")
await msg.add_reaction('1️⃣')
await msg.add_reaction('2️⃣')
weiß IRGENDWER wieso der bot nur 1 reaction hinzufügt anstelle von beiden!?!?!?
kein error?
NICHTS
GARNICHTS
keinerlei error
so muss es eig. funktionieren
habe es EXTRA bevor ich hier gefragt habe, mit alten codes abgegleicht
es ist eig. exakt gleich
so
hm sehr komisch
wenn ich den command 2 mal hintereinander versuche, kommt keine reaction mehr
WIESO !?!?!?!
bei dem 1. ss habe ich 3 mal den command hintereinander versucht ohne restart
der 2. screen ist das terminal welches kein error hat
müsste der ganze code innerhalb der methode nicht noch einen tab nach rechts?
ne, weshalb?
der vergleich zu nem funktionierendem cmd
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
Wie kann man ein Bild in einem embed schicken
embed.set_thumbnail(url=“…“)
embed.set_image(url=“…“)
embed.set_footer(icon_url=“…“)
embed.set_author(icon_url=“…“)
Schwer in der schule
wenn du ein Bild meinst was man lokal auf dem PC hat, schau Mal in #1027677692730036294
help error pls
Ignoring exception in on_connect
Traceback (most recent call last):
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 382, in _run_event
await coro(*args, **kwargs)
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 1055, in on_connect
await self.sync_commands()
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 642, in sync_commands
registered_commands = await self.register_commands(
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 541, in register_commands
registered = await register("bulk", data, _log=False)
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\http.py", line 359, in request
raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In 2: Application command names must be unique
du hast einen Slash Command Namen doppelt
ahhhhhhhhhhhhhh hääää
hab alles überprüfft

hey leute weiss jemand wie man in cogs loader ein Ignor on error machen kann?
falls ein fehler kommt das es ignorieren soll und den fehler printet oder log erstellt
kann mir jemand sagen wie ich den string hier umwanlde
wenn der sichtbarkeit input == Öffentlich ist sollte es dann False ausgeben.
hab es mal geschafft aber wenn ich verbergen möchte in slash kommt ein fehler
#-ephemeral
def ephemeral(input: 'verbergen'):
"""
FEEDBACK
------------
input: :class:`bool`, `str`
Take in input=Variable
------------
"""
if input in ['verbergen', True]:
input = True
return input
elif input in ['anzeigen', False]:
input = False
return input
```mein def funktion zum überprüfen
denn error
import discord
intents = discord.Intents.default()
intents.message_content = True
intents.members = True
debug_guilds = [ 1040291339901870200 ]
bot = discord.Bot(
intents=intents,
debug_guilds=debug_guilds
)
@bot.event
async def on_ready():
print("lets gooo")
@bot.slash_command()
async def hello(ctx):
await ctx.respond("boho")
was für ein error bekommst du?
ja
das ist ja der error
ist das im cog oder in main.py
hast du kein import discord?
hä??
hast du gelsen
chillig
regt schon auf
kann nicht weiter machen wegen dem error
ich frag mal im pycord server
mach das
ups war am handy, da hab ich die text datei nicht gesehen
python 3.11 funktioniert wohl nur mit master branch
wenn es nur ein wert ist kannst du es auch so rein schreiben(mit eckigen klammern ist eine liste)
oder nicht?
ja das stimmt, es sollte bald eine neue pycord version kommen die mit 3.11 funktioniert. alternativ kannst du 3.10 verwenden
ich glaube es muss immer eine liste sein
joa
man kann pycord doch über git installieren
dann geht es auch mit py 3.11
pip install -U git+https://github.com/Pycord-Development/pycord
also ich hab es so gemacht
genau, das ist ja der master branch
ok
zum beispiel mit einer for-schleife
Würde es nicht so machen sondern ich lass es direkt beim cog Printen damit weiß ich wenn was nicht geht
Yes
Weil dann weiß ich genau wenn was kaputt ist
kann mir jemand bei diesem error helfen?
den slash command.
# Group 7DSGC
SevenDSGC = SlashCommandGroup(
name= "7dsgc",
description= "7dsgc commands"
)
#7DSGC Option Menü
@SevenDSGC.command(
name='suche',
description='Eingabe was du suchen willst',
)
@option(
name='unit',
description='Unit suche: wie zb Meliodas',
default=None,
)
@option(
name='sichtbarkeit',
description='Sichtbarkeit einstellung, Standard Einstellung: verborgen',
choices=[
'verborgen',
'öffentlich',
],
default='verborgen',
)
async def suche(self, ctx, unit, sichtbarkeit):
# ephemeral
if sichtbarkeit == 'verborgen':
print("ephemeral=True")
sichtbarkeit = True
elif sichtbarkeit == 'öffentlich':
print("ephemeral=False")
sichtbarkeit = False
#hauptbefehl
if unit is None:
select = SevenDSGCDropdownsSelect()
select.append_option(Team_Search)
select.append_option(Guide_Search)
view = discord.ui.View(timeout=None)
view.add_item(select)
await ctx.respond('Wähle eine 7DSGC Funktionen in Dropdowns Menü', view=view, ephemeral=sichtbarkeit)
elif unit is not None:
unit
nach zweite mal ausführen gibt es mir ein error
denn view
um deine frage anzuworten schrit für schrit screenshot
wie soll ich es denn noch installieren
wie du den programm installiert hast nicht per website
wait kucke mir grad kurz das tut von tibue an
install now
1:1 so?
ja
mit add python path?
i think yes
versuch es nochmal genau so
okry
Python 3.11 funktioniert aktuell nur mit dem Pycord Master Branch. Entweder du benutzt Python 3.10 oder du installierst pycord so:
pip install -U git+https://github.com/Pycord-Development/pycord
achso
@limpid wolfkannst du kurz call=
pip install ?
ist es doch
in 2min
Du benutzt gerade den Funktionen nicht
brauchst eine .env Datei
habe ich
die is nt im cog ordner
ah sah grad aus
joa Mann könnte den Pfad auch ausserhalb von bot Ordner
das du das Plugin schon?
Ja, hat diese Person schon gesendet.
nicht pip install dotenv
ich meine das
das ist an sich richtig. prüfe mal in den interpreter einstellungen, ob python-dotenv auch aufgelistet wird
timo
bin gleich da
gedankenleser
nope is nt da
könnte jz
komm mal dann schauen wir
ich kann pycord so net instllieren
für diese variante musst du git installiert haben
hmm ok
git hub nh?
geht immer noch net
hast du maybe den link zu pycord 3.10
du meinst python?
ja genau
ok danke
@solid prism hey, wenn du magst kannst du den code und die fehlermeldung nochmal hier rein schicken, dann schau ich mir das an
muss ich etwas specieles eingeben
nein eigentlich nicht
was denn?
pip : Die Benennung "pip" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten),
und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
- pip install py-cord
-
+ CategoryInfo : ObjectNotFound: (pip:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
achso, das dürfte erstmal nichts mit der python version an sich zu tun haben. versuch mal von powershell auf command prompt zu wechseln
wahrscheinlich wurde pip nicht richtig zum path hinzugefügt. entweder schaust du dir ein video an, wie du pip zum path hinzufügst, oder du versuchst du packages über die interpreter settings zu installieren
ja
die user bekommst du ja mit guild.users
du kannst dann einfach random.choice() benutzen, um einen zufälligen user zu bekommen
Hi
ehm nichts neues dass ich hilfe benötige lol
Application Command raised an exception: Forbidden: 403 Forbidden (error code: 50007): Cannot send messages to this user
der User dem der Bot eine DM senden soll hat eig. DM's an
bots können nur nachrichten senden, wenn sie einen gemeinsamen server mit dem user haben
hatte der bot ja auch
wenn es nicht daran liegt, liegt es an den privatsphäreeinstellungen des users
ja hab eben gemerkt dass der user nicht mehr auf dem server ist haha
hab den vorhin mit dem ban cmd gebannt
hää wtf geht immernoch net
@solid ingot soll ich powerschell instalieren?
ne
wie kann ich xp_need herausfinden? ```py
def get_level(xp):
lvl = 1
amount = 100
while True:
xp -= amount
if xp <= 0:
return [lvl, xp_need]
lvl += 1
amount += 100
also die xp die ich brauche um im level aufzusteigen kann mir das irgendwie nicht richtig vorstellen
ist es möglich 2 mal on_message_delete zu benutzen?
ja

im grunde brauchst du dafür eine get_xp(lvl) methode, die genau umgekehrt funktioniert
def get_xp(lvl):
if lvl == 1:
return 0
xp = 100
amount = 100
while True:
lvl -= 1
if lvl <= 1:
return xp
amount += 100
xp += amount
und wie wenn ich fragen darf?

du erstellst einfach 2 mal das gleiche event xD
aber ich brauche ja die xp die es braucht um zum nächsten level aufzusteigen
aber keins geht von denen 
dafür musst du dann nur das aktuelle level was der user hat plus 1 rechnen und die methode damit aufrufen
hhm stimmt
ja sollte etwa hinkommen
du hast self.bot = bot vergessen in __init__
Mein Python ist iwie kaputt
def start_end_dec(func):
def wrapper(*args, **kwargs):
print("Start")
result = func(*args, **kwargs)
print("End")
return result
return wrapper()
@start_end_dec
def add5(x):
return x + 5
add5(x=10)
Error:
TypeError: add5() missing 1 required positional argument: 'x'
._.
achso habs bruh

Ich bin relativ neu und checke nicht wie ich das mit den Shlash commands machen 
@bot.slash_command(description="Sendet den Ping vom Bot.")
async def ping(ctx):
await ctx.respond(f"Pong! {bot.latency}")
Ist mein Code
der code sieht an sich gut aus, was funktioniert nicht?
Der shlashcommand kommt nicht bei discord an
hm, schwer zu sagen woran das liegt
Hast du einen error?
Ne habe ich nicht
intents = discord.Intents.default()
bot = discord.Bot(
intents=intents,
debug_guilds=[]
)
bot.run("MEIN TOKEN ")
@bot.slash_command(description="Sendet den Ping vom Bot.")
async def ping(ctx):
await ctx.respond(f"Pong! {bot.latency}")
ist mein gesamter code xD
Mach mal debug_guilds=None und den bot.run() nach ganz unten
Bringt nix
in debug guild musst du deinen guild reinschreiebn
Die ID?
ja
hast du auch deinen token in bot.run() geschrieben?
Ja habe es nur hierfür weg gemacht xd
achso gut
Funktioniert dann trzd nicht
jaa
Wie kann ich es so machen das wenn ich zb /id benutze das ich den ID eines members bekomme
genau
Also user.id und danach?
Weil bin in eile
AAAAAAAAAAA
Putin wird mich heute von der Schule abholen :D
Hast du nicht tibues video geguckt xd
@slash_command()
async def id(self, ctx, user: Option(str, "User", default=None)):
if user is None:
user = ctx.author
await ctx.respond(user.id)
@vivid sky
Okay der Command ist da aber trotzdem macht er nichts bzw reagiert nicht
:-
Die anwendung reagiert nicht :/
1040982554184011797
nvm es klappt jetzt danke :D
Brauche hilfe :/
Junge das geht
Die anwendung reagiert nicht
Wenn ich es versuche
Hast du es auch richtig intended
Ist das in einer cog drinnen?
from discord.commands import slash_command
Nope
Du hattest einfach @bot.... vergessen gehabt
Habs zugefügt
Da es ansonsten error gezeigt hat
Ja ich weißt ja nicht in welchen Format du das haben willst xd
Lass mich mal sehen
Aber geht das jz?
Nope
jo
Ignoring exception in command id:
Traceback (most recent call last):
File "C:\Users\...\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\commands\core.py", line 127, in wrapped
ret = await coro(arg)
File "C:\Users\...\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\commands\core.py", line 911, in _invoke
await self.callback(ctx, **kwargs)
File "c:\Users\...\OneDrive\Dokumente\Discord Bot\Bot.py", line 21, in id
user = ctx.author
AttributeError: 'str' object has no attribute 'author'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\...\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\bot.py", line 1008, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Users\...\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\commands\core.py", line 359, in invoke
await injected(ctx)
File "C:\Users\...\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\commands\core.py", line 135, in wrapped
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'str' object has no attribute 'author'
Könntest du mir diese alien sprache übersetzen?
Zeig mal deinen code
Oke
Sollte es dann direkt erkennen
import discord
from discord.commands import Option
from discord.commands import slash_command
intents = discord.Intents.default()
bot = discord.Bot(
intents=intents,
debug_guilds=[...]
)
@bot.event
async def on_ready():
print(f"{bot.user} is online")
@bot.slash_command()
async def id(self, ctx, user: Option(str, "User", default=None)):
if user is None:
user = ctx.author
await ctx.respond(user.id)
bot.run("TOKEN")
ACHSOOOOO
WARTE MAL
Oke keine ahnung
Was meinst du damit?
das self muss weg
und bei debug guilds muss eine ID rein
das auch
nach den Doppelpunkt drück enter paste den code da rein
das await ctx.respond ist ein tab zu weit rechts
Oh :(
Nope
Ansonsten zeigt es mir error
doch xD
`import discord
from discord.ext import commands
from discord.commands import slash_command
class Button(commands.Cog):
def init(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
self.bot.add_view(TutorialView())
@slash_command()
async def button1(self, ctx):
await ctx.respond("Klicke hier", view=TutorialView())
@slash_command()
async def button2(self, ctx):
button = TutorialButton("Kekse sind cool")
view = discord.ui.View()
view.add_item(button)
await ctx.respond("Klicke hier", view=view)
@slash_command()
async def url_button(self, ctx):
button = discord.ui.Button(label="GitHub", url="https://github.com/tibue99")
view = discord.ui.View()
view.add_item(button)
await ctx.respond("Klicke hier", view=view)
def setup(bot):
bot.add_cog(Button(bot))
class TutorialView(discord.ui.View):
def init(self):
super().init(timeout=None)
@discord.ui.button(label="Keks", style=discord.ButtonStyle.primary, emoji="🍪", custom_id="keks", row=2)
async def button_callback1(self, button, interaction):
await interaction.response.send_message("Keks", ephemeral=True)
@discord.ui.button(label="Pizza", style=discord.ButtonStyle.primary, emoji="🍕", custom_id="pizza", row=1)
async def button_callback2(self, button, interaction):
button.disabled = True
# Alle Buttons deaktivieren
# for child in self.children:
# child.disabled = True
await interaction.response.edit_message(view=self)
class TutorialButton(discord.ui.Button):
def init(self, label):
super().init(label=label, style=discord.ButtonStyle.green)
async def callback(self, interaction):
await interaction.response.send_message("Hey!", ephemeral=True)`
@atomic jasper
@bot.slash_command()
async def id(ctx, user: Option(str, "User", default=None)) :
if user is None :
user = ctx.author
await ctx.respond(user.id)
Ja?
Soll ich es ersetzen?
Geht immer noch nicht :/
import discord
from discord.commands import Option
from discord.commands import slash_command
intents = discord.Intents.default()
bot = discord.Bot(
intents=intents,
debug_guilds=[1030866748863426671]
)
@bot.event
async def on_ready():
print(f"{bot.user} is online")
@bot.slash_command()
async def id(ctx, user: Option(str, "User", default=None)) :
if user is None :
user = ctx.author
await ctx.respond(user.id)
bot.run("TOKEN")
:/
du musst bot.run() nach ganz unten machen
@solid ingot
alles was nach bot.run() kommt, wird nicht geladen
Okay ich habe es schon aber trzd danke für den hinweis
achso
Ne Frage
was gibt es für status namen
für commands.py also cogs
activity was ist das?
game und stream
also was ist activity
also kann ich das mit ins slash command einbauen?
oki
ine 17, in <module>
bot.load_extension("cogs.greet")
bot.load_extension("cogs.greet")
dass die line
fehler
zeile
welcher fehler kommt denn bei der zeile?
der
async def load():
for file in os.listdir('./cogs'):
if file.endswith('.py'):
bot.load_extension(f'cogs.{file[:-3]}')
async def main():
await load()
await bot.start('token')
asyncio.run(main())
Ne frage
bei den activity command
ja?
also bleibt das noch vom command drinne nachm restart
ach ich teste mal
ich rentner
ne leider nicht
sad
hey Coding Keks Community,
ich wollte mal mit der Pycord Tutorial Reihe von CodingKeks mich mal besser mit Slash Commands auseinandersetzen. Jetzt wollte ich den Bot starten, aber wenn ich das mache kommt der Import Error:
from ..enums import ChannelType, SlashCommandOptionType
ImportError: cannot import name 'SlashCommandOptionType' from 'discord.enums'
Ich weiß nicht wie ich diesen Fehler behoben kann.
Ich würde mich über eine Antwort freuen.
LG
hey, kannst du mal "pip freeze" in dein terminal eingeben und schicken, was als antwort kommt?
😅
BRUDA HERZ WAS MACHST DU
du hast discord.py installiert, das ist leider nicht mit pycord kompatibel
am besten deinstallierst du discord.py und installierst danach pycord nochmal neu
für weitere infos siehe #🔍・pycord-help
klappt jetzt. Vielen Dank
degga
mir wird dieser button net angezeigt aber alle anderen schon
wie denn
soll ich dropdown
hinschreiben
hab
ist immernoch das gleiche
halloo
ich habs jetzt die ganze zeit versucht
aber der bot kann nur ein slash command
say und greet ist noch dabei er kann nur userinfo
und was ist jetzt das problem ? @lofty haven
evtl hast du das cog nicht richtig geladen?
was ist denn da für ein error? 👀
ka😂
er ist jetzt weg
hab nochmal neu geladen

was soll ich jetzt machen es geht nicht 🤣wie dumm
gute frage, der code sieht an sich gut aus
das sieht nicht richtig aus, wieso hast du 2 setup methoden?
lass mal talk
kann dir das dan besser erklären
ja habs ready
wenn es okay ist
Umschalt Tase + Win Taste + S
Ist über strg
Dann kannst du einen screenshot machen und einfach strg v
danke mein pc ist nur leider von 1900 deswegen lass ich solche experimente lieber
jooo
Look dms
also erstmal hey
weisst einer wie ich mehrere rollen festlegen kann wie im diesem vid https://youtu.be/x8Z1D-0mFzU
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 schauen wir uns an, wie der ...
im video ist ja eine if abfrage für eine rolle, davon musst du einfach mehrere machen
🤙
@urban glen musst mir später helfeeeen
Frage zu active developer
mann muss ja 1 tag warten
muss man voher das schon mit den link machen oder erst nach 24h
erst danach
danke
Hi
gibt es eig. nh variable die anzeigt auf wie vielen Servern der Bot ist?
len(bot.guilds)
genau, also du musst das halt als variable in einen f-String einbauen
"bot" is not defined
also du musst halt auf deinen bot zugreifen
in cogs geht das zum beispiel mit self.bot
hab jetzt {len(discord.Bot.guilds)} gemacht
also ich wolle fragen wie ich beim level system hinkriegen kann das ich den jenigen der ein level up bekommen ha im embed pingen kann
sowas ähnliches
im embed kann man nicht pingen
In nen embed kann man kein ping machen, nur eine mention
Mit user.mention halt
.
geht nicht
f"<@{user_id}>"

das geht nicht, du musst auf dein bot objekt zugreifen, nicht auf den import
du müsstest vllt auch mal den ganzen code schicken damit man dir helfen kann
Weil ich kann daran nicht abhanden machen, wieso user_id bei dir nicht definiert ist etc
wenn du user_id vorher nicht definiert hast, geht es natürlich nicht. wieso nimmst du nicht einfach message.author.mention?

