#Allgemeine Hilfe

1 messages · Page 4 of 1

urban glen
#

Ist member dann die person die in einem server ist und der user allgemein?

solid ingot
#

genau

urban glen
#

Ah perfekt danke

urban glen
#

@crystal star fuer das mit dem on_guild_channel_create gillt das gleiche ;D

calm bone
#

@solid ingot das kommt irgendwie?

#

weißt du vlt warum?

solid ingot
#

welcher fehler steht dabei?

calm bone
indigo sapphire
#

Hey Leute weiss jemand wie man beim slash command zwingen kann file rein zu tun?

#

Oder mit eine Button?

solid ingot
#

discord.Attachment

indigo sapphire
#

Ty

urban glen
#

wenn ich den command ausführen will steht da, die anwendung reagiert nichtz

#

kann wer helfen?

solid ingot
#

schick mal deinen code

#

wenn du mit self.client arbeitest, solltest du bei der latency nicht self.bot verwenden sondern self.client

thick haven
#

Hey, weiss jmd wie ich z.b. die var id von deinem command in ein modal was in einer anderen klasse ist mitnehmen kann

solid ingot
#

die müsstest du als extra parameter an die modal klasse übergeben

#

also quasi im konstruktor der modal klasse hinzufügen

thick haven
#

okay

frail loom
#

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

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @stuck drift, du bist jetzt Level 4 🎉

urban glen
#

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

obtuse estuary
#

@urban glen schreibe dein Profil bitte hier rein

solid ingot
#

ja mach ich, aber bitte nicht pingen, siehe #🔰・old-help-rules

indigo sapphire
#

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???

solid ingot
#

wahrscheinlich musst du es noch zu einem string umwandeln

#
str(Faktor*Faktor)
indigo sapphire
#

Ahja

quiet socket
#

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

da fehlen die klammern hinter TutorialView()

quiet socket
#

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}")```
solid ingot
#

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

urban glen
#

Einfach eine leere Spalte an dritter Stelle angeben. Dann macht er direkt darunter weiter

solid ingot
#

interessant

urban glen
#

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.

solid ingot
#

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

urban glen
#

Stimmt. Da hatte ich voll den Denkfehler. Danke

indigo sapphire
#

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.

indigo sapphire
#

tibu kannst du mir helfen?

solid ingot
#

ich bin mir nicht ganz sicher was du vor hast

indigo sapphire
#

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

crystal star
#

ist es möglich ein cooldown zu einem button hinzuzufügen?

solid ingot
#

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

indigo sapphire
thick haven
indigo sapphire
#

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

indigo sapphire
#

kann mir jemand sagen wie ich einpaar Pages embed / Multiembed

iron apex
#

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

solid ingot
#

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

iron apex
#

achso, danke kiss

iron apex
#

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 ?

solid ingot
#

das ist leider nicht ohne weiteres möglich, aber du kannst dir mal den workaround von piranha anschauen: #1019974414487535736 message

iron apex
#

thx

#

sollen die mal normal einfügen, sieht nicht so nice aus , aber erfüllt seinen zweck aPES_Party

iron apex
#

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 ?

solid ingot
#

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"])
viscid lake
#

@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

iron apex
#

was genau ist der fehler ?

viscid lake
#

Das ist sein Fehler

iron apex
#

vom pycord install ?

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @iron apex, du bist jetzt Level 6 🎉

viscid lake
#

Yes

iron apex
#

in pycharm ?
das bild sieht iwie nach VS code aus

viscid lake
#

Ne ist pycharm schau etwas weiter oben

iron apex
#

@urban glen sonst komm VC vllt kann ich dir helfen

#

egal machen wir sonst morhen

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @scenic cliff, du bist jetzt Level 4 🎉

indigo sapphire
#

ich weiss leider nicht was ich importieren muss zusätzlich auch wie die code Struktur aussieht

thick haven
indigo sapphire
#

lolllll

#

👀

#

brauch trotzdem ein guide

#

xD

indigo sapphire
#

Andere Frage ist wie funktioniert das jetzt in einem cogs?

solid ingot
#

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

indigo sapphire
#

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

iron apex
#

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 ?

solid ingot
solid ingot
#

ja zum beispiel, 3.10.8 würde aber auch gehen

#

Ganz unten bei files solltest du es herunterladen können

solid ingot
#

geh am besten mal die checkliste in #🔍・pycord-help durch

gilded slate
#

hi @solid ingot Ich danke dir sehr

solid ingot
#

hat der bot zugriff auf den server, den du bei debug_guilds angegeben hast?

gilded slate
indigo sapphire
#

wenn du bilder anzeigen lassen willst ist vs flexibler

solid ingot
fickle creek
#

PYCHARM BESTE

crystal star
#

big cap

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @crystal star, du bist jetzt Level 8 🎉

solid ingot
#

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

urban glen
indigo sapphire
#

😂

urban glen
#

vc?

indigo sapphire
#

kann erst ab 17:15

#

würde gerne früher bin aber in schulzeit und code xD

urban glen
#

hatte bis gerade arbeit 😂

schreib mit per dm wann du zeit hast, werde dir zum thema 'Page Embed' dann helfen habe selber eins :D

indigo sapphire
#

lol

urban glen
#

was willst du von mir du eierkopf

indigo sapphire
#

xD

#

naja dafür bis du früher wach

#

pro und kontra

solid ingot
#

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"
old ore
#

wieso wird der nichtgefunden

urban glen
#

@bot.command()

old ore
#

bruh👍

#

danke

obtuse estuary
#

Könnte daran legen das du die user variable unter der if funktion festgelegt hast

#

Aber idk

solid ingot
#

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

solid ingot
#

hm, versuch mal das g von Game großzuschreiben

#

ah stimmt, hab ich gar nicht gemerkt peepohappy

#

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

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @scenic cliff, du bist jetzt Level 6 🎉

urban glen
#

Der Command Name ist doppelt

#

Du hast zwei Commands mit meinetwegen /activity

#

Oder irgend einem anderen Command

#

Ja mach des

winter marten
#

ich weiss ja nicht aber vllt gibt es ja doch ein der sich auskennt

urban glen
#

Oder probier mal in Zeile 15 @winter marten

if (typeof(button) == 'undefined') return;
urban glen
#

Und wo ist dein error?

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @stuck drift, du bist jetzt Level 5 🎉

Du hast <@&1024276691205496872> erhalten!

winter marten
urban glen
#

Dann mach des mal in Zeile 13 rein, nur nicht mit button sondern mit modal

#
if (typeof(modal) == 'undefined') return;
viscid lake
winter marten
#

ik

#

aber vllt gibt es ja hier einen der mir trotzdem helfen kann

viscid lake
#

Nerv nicht cringi

winter marten
urban glen
#

Kannst du mir mal kurz den ganzen Code senden

winter marten
#

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

urban glen
#

Soll das wirklich so heißen?

const modal = client.modals.get(interaction.customId);

und nicht so:

const modal = new client.modals.get(interaction.customId);
winter marten
#

ne es ist einfach undefiniert

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @winter marten, du bist jetzt Level 6 🎉

winter marten
#

und ka wo ich es definieren soll

urban glen
#

Komm doch einfach mal hoch in den Channel

winter marten
#

geht aber nicht wenn ich es ausführe

#

komm gleich

winter marten
#

jungs help

#

me amk

#

werde noch dumm

solid ingot
#

ich glaube du bist schneller fertig wenn du jetzt anfängst python zu lernen

indigo sapphire
#

mach mal channel= den id

indigo sapphire
#

ahhh

#

wait

indigo sapphire
#

Kurz gesagt

await channel.send(channel.id)
solid ingot
#

naja, das ist nicht ganz richtig, eher so:

message = await channel.send("Lol")
msg_id = message.id
indigo sapphire
#

perfect expert on here

indigo sapphire
#

hey hätte da mal eine frage kann ich die sprache der user bekommen?

#

standard account sprach settings

indigo sapphire
#

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

solid ingot
#

np?

#

also numpy benutze ich nicht nein

indigo sapphire
solid ingot
#

das geht gut mit random

indigo sapphire
#

okay

#

dachte nur wegen wahrscheinlichkeit verteilung

#

np.random.choice(mathCalculator, range(len(mathCalculator)), p=[0.5, 0.5])

winter marten
#

jmd vllt ahnung

#

fixed

solid ingot
indigo sapphire
#

Wie denn?

burnt prairieBOT
#
Level Up!

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

solid ingot
#

mit random

old ore
#

kann mir wer dabei helfen

viscid lake
#

Bruder wir haben kein plan davon

atomic jasper
old ore
#

Weiteroben ist die helpclass

iron apex
#

kann dir vlt helfen

burnt prairieBOT
#
Keks Bot

Der Keks Bot ist ein mysteriöser Keks-Verteiler, der viele Features für deinen Server bietet.

🍪 Generelle Infos

Letzter Neustart: <t:1667564231:R>
Erstellt mit: Pycord
Support Server: https://discord.gg/codingkeks

📈 Statistiken

Server: 19
User: 363
Latency: 143ms

winter marten
#

moin

iron apex
#

bin ich grad biscchen lost oder wieso macht der bot nichts ?

solid ingot
#

fehlt da nicht noch ein àwait ctx.respond(embed=embed)?

iron apex
#

muss die json in cogs oder ausßerhalb ?

solid ingot
#

kann auch außerhalb dein

iron apex
solid ingot
# iron apex

wenn du es im cogs ordner hast, müsstest du wahrscheinlich open("cogs/ausweis.json") schreiben

thick haven
#

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()```
solid ingot
#

mit Punkt?

thick haven
#

322424.34224

#

aber ich brauche 434234

solid ingot
#

hm keine ahnung, timestamps benutze ich immer nur mit discord.utils.format_dt

thick haven
#

hm

thick haven
#

<t:1627314600:R

#

hättest ja auch ned nachfragen müssen 😐

thick haven
#

<t:1670259839:R>

#

<t:1667668080:R>

barren badger
thick haven
cloud cedar
#

Wie gebe ich beim Click eines Buttons in Discord.py eine Rolle an den clickenden Nutzer?

solid ingot
#

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)
cloud cedar
#

ID mit der Rollen-Id ersetzen?

solid ingot
#

ja

cloud cedar
# solid ingot ja

Kann man machen, das der Bot die Rollen erstellt, z.B. Pronomen und dann die Id davon holt

solid ingot
cloud cedar
#

Was heißt bei den optionen Hoist?

solid ingot
#

ob die rolle in der member liste getrennt angezeigt werden soll

cloud cedar
#

Ich versteh die emoji="" nich, hab da jetzt den unicode als string (U+1F44D) reingetan, aber das is offensichtlich falsch

solid ingot
#

ich sehe gar keinen emoji parameter

cloud cedar
#

Wie was

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @cloud cedar, du bist jetzt Level 3 🎉

cloud cedar
#

bei nem Button

solid ingot
#

achso, ich dachte du sprichst noch über create_role

cloud cedar
solid ingot
#

die emojis kannst du im grunde einfach aus discord kopieren und im code einfügen

#

als string

cloud cedar
#

Also nicht :thumbsup: sondern das emoji

solid ingot
#

sollte beides gehen

cloud cedar
#

geht jetzt

#

thx

cloud cedar
#

Wie kann ich bei meiner Button Nachricht einen Titel über den Buttons anzeigen?

solid ingot
#

wie meinst du das genau?

cloud cedar
solid ingot
#
await ctx.reply("Wähle deine Pronomen", view=view)
cloud cedar
#

alles klar

#

danke

old ore
#

Mache gerade meine Music bot aber er will das ich das definiere ich weiß aber nicht was bzw wie ich es definieren soll

solid ingot
#

wenn du variablen benutzt, musst du die natürlich vorher auch definieren

solid ingot
obtuse estuary
#

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

zeig mal modal code

indigo sapphire
#

Steht doch schon

obtuse estuary
#

ok komm #1020759567421931620

obtuse estuary
#

du bracuhtst da anführungs zeichen

#

aso ne

#

das is nh variable

#

alles gut

#

war lost

obtuse estuary
indigo sapphire
obtuse estuary
#

Wie kann man nochmal in einem bestimmten channel einen nachricht responsen?

indigo sapphire
#

👀

#

Idk lol

#

😂

urban glen
#

auch eine variante

obtuse estuary
#

aso ne meine bei einer interaction

urban glen
#

kein unterschied

#

auser bei Louis da wäre es dann:

await channel.send("text")
await interaction.response.send_message("text")

#

jop

indigo sapphire
#

So musst du nicht auf Channel fixieren

obtuse estuary
obtuse estuary
indigo sapphire
#

Ahh Joa dann denke ich mal evt mit interaction.channel.send?

obtuse estuary
#

indigo sapphire
obtuse estuary
#

möchte ja responsen

indigo sapphire
#

Ah dann interaction.Channel.response

#

Denke mal irgendwo kein await

#

Idk

obtuse estuary
#

nein xD

indigo sapphire
#

xD

obtuse estuary
#

mach das mal so : py await ctx.respond(myModal(title="ssd"))

#

dikka

#

dort wo du beim slach command halt responsed

indigo sapphire
#

Suss Imposter??

obtuse estuary
#

oh wait

indigo sapphire
#

,?

obtuse estuary
#
cty.respond.send_modal```
#

*ctx

solid ingot
#

du darfst den titel quasi nicht innerhalb von __init__ festlegen, sondern den titel musst du an die klasse übergeben wie im tutorial

solid ingot
#

ctx.send_modal(modal)

#

der titel muss noch rein

#

modals haben kein label

#

schau dir am besten nochmal genau das tutorial an

thick haven
#

Weiss jmd, warum das nicht geht

#

@solid ingot

urban glen
#

@thick haven

#

die anordnung ist falsch

#

das

def __init...

das muss 1 weiter vor also auf der höhe vom @slash_command

floral monolith
#

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?
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @floral monolith, du bist jetzt Level 2 🎉

solid ingot
#

hast du die richtige ID bei debug_guilds

floral monolith
urban glen
#

Kann mir jemand sagen, wieso meine totalxp auch wieder zurückgesetzt werden auf 0 sobald ein Level aufgestiegen wurde?

thick haven
thick haven
#

Ich hatte es di doch sogar extra geschickt

indigo sapphire
#

Kann mir jemand sagen warum das nicht geht???

indigo sapphire
#

Hab Einstellung das man begrüssen kann

#

Aber das geht nicht

indigo sapphire
#

kann mir jemand sagen wie ich bei interaction alles editieren kann? bezogen auf msg

indigo sapphire
#

Dachte einfach in view
Interaction.edit

urban glen
#

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

indigo sapphire
#

😂

#

30% bei mein bot sind Bridge command

#

Leider musste ich umsteigen weil in command group keine Bridge gibt

indigo sapphire
crystal star
solid ingot
#

ja klar

crystal star
#

ok

solid ingot
#

nur python grundlagen sollte man vorher schon können

crystal star
#

ja das ist mit klar

iron apex
#

der sollte nicht kommen , bzw. soll kommen wenn der fehler bei nem anderen slah command auftritt

solid ingot
#

achso, das on_application_command_error event ist global, es werden also im falle eines errors immer beide events ausgeführt

iron apex
#

achso okay danke 🙂

urban glen
urban glen
#

wie macht man timestamps in nem code?
als bsp:

Account erstellt am: ... Years ago

urban glen
#

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.Ä

solid ingot
#
discord.utils.format_dt(user.created_at)
urban glen
#

thx

#

Hi

#

wait ich sende gleich meine Frage rein

quiet socket
#

Okay haha

urban glen
#

wollte fragen wie man halt den discord namen + tag vom ctx author bekommt

#

finde die Variable dafür nicht

solid ingot
#

zum beispiel mit f"{ctx.author}"

urban glen
#

hat geklappt danke

solid ingot
#

schick mal den code

#

der code an sich sieht soweit gut aus

barren badger
#

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!

solid ingot
urban glen
#

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

solid ingot
urban glen
#

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.

barren badger
urban glen
#
        em.set_author(name=f'{ctx.author.name}', icon_url=f'{ctx.author.icon}')

kann mir wer sagen warum das ned klappt?

urban glen
#

ah bruh

burnt prairieBOT
#
Level Up!

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

urban glen
#

ja mb

barren badger
#

icon gibt es nur bei guild

urban glen
#

thx

barren badger
#

np

urban glen
#

ja mir auch gerade klar geworden XD

barren badger
#

xD

solid ingot
#

da hätte auch noch das .url hinten gefehlt xD

#

oder ahh geht auch ohne mit f string

#

kann sein

barren badger
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @barren badger, du bist jetzt Level 8 🎉

cloud cedar
#

Kurze Frage: Wie importiere ich slash commands? Discord.py

solid ingot
cloud cedar
#

thx

#

aber ich meint eigentlich nur import ...
bei @slash_command

solid ingot
#

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

indigo sapphire
#

Hätte eine kurze Frage warum immer @ ?
Beim cogs?

urban glen
#

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

cloud cedar
indigo sapphire
#

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

lilac wagon
#

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.

solid ingot
#

versuch mal von powershell auf command prompt zu wechseln

lilac wagon
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @scenic cliff, du bist jetzt Level 10 🎉

Du hast <@&1032921984612433952> erhalten!

lilac wagon
#

Es geht immer noch nicht

solid ingot
#

welche python version hast du?

lilac wagon
solid ingot
#

dafür müsstest du auf den pycord master branch wechseln oder erstmal noch python 3.10 benutzen

lilac wagon
#

es geht jetzt

urban glen
#

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

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
        )
urban glen
solid ingot
#

ja, da müsstest du dann noch required=False ergänzen

urban glen
#

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

embed.set_thumbnail(url=self.children[2].value)

urban glen
iron apex
#

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

solid ingot
#

da hab ich leider gar keine erfahrung mit, sorry

crystal star
#

wie bekomme ich eine liste mit allen user ids auf dem einem? nur die ids

solid ingot
#
member_ids = [member.id for member in guild.members]
crystal star
#

danke

#

und noch ne frage

#

wie kann ich in einer task auf die guild zugreifen

solid ingot
#

prinzipiell kannst duliste mit allen guilds mit bot.guilds bekommen, alternativ kannst du die guild bestimmt auch mit der ID laden

crystal star
#

danke dir

umbral goblet
#

wie kann ich aus 2022-11-03 19:12:10.503000+00:00
in pycord eine relative zeitangabe machen?

solid ingot
#

hast du das als string oder als datetime objekt

umbral goblet
#

also discord gibt mir das zurück also ein datetime objekt

solid ingot
#

perfekt dann kannst du das datetime objekt einfach in discord.utils.format_dt() einfügen

umbral goblet
#

ah danke vilemals

solid ingot
#
test = HIER DATETIME OBJEKT
discord.utils.format_dt(test , "R")
umbral goblet
#

ja danke

urban glen
#

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

solid ingot
solid ingot
viscid lake
#

Frage: stinkt Timo?
Ja
Oder
Ja auf jeden Fall

#

Finde ich auch

solid ingot
umbral goblet
burnt prairieBOT
#
Voice Rangliste

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

urban glen
#
    @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!?!?!?

solid ingot
#

kein error?

urban glen
#

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

solid ingot
#

hm sehr komisch

urban glen
#

wenn ich den command 2 mal hintereinander versuche, kommt keine reaction mehr

#

WIESO !?!?!?!

urban glen
#

der 2. screen ist das terminal welches kein error hat

solid ingot
#

müsste der ganze code innerhalb der methode nicht noch einen tab nach rechts?

urban glen
#

der vergleich zu nem funktionierendem cmd

solid ingot
#

ah ja stimmt geht auch so

#

bei mir gehts

urban glen
#

tf

#

was importierst du alles?

solid ingot
#
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
urban glen
#

nop

#

bei mir gehts ned

#

ka why

viscid lake
#

Wie kann man ein Bild in einem embed schicken

indigo sapphire
#

Thumbnail

#

Es gibt sogar in docs eine Beispiel dafür

urban glen
viscid lake
indigo sapphire
#

xD

#

Ich versteh dich

solid ingot
indigo sapphire
#

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

du hast einen Slash Command Namen doppelt

indigo sapphire
#

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

indigo sapphire
#

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
snow plover
#
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")
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @snow plover, du bist jetzt Level 2 🎉

snow plover
#

der slash comamnd gibt error warum

solid ingot
#

was für ein error bekommst du?

snow plover
#

ja

paper iris
snow plover
#

es passiert nur mit dem teil

#

wenn ich den weg mache kommt error incht

paper iris
snow plover
#

hab noch keine cogs lmao

paper iris
#

hmm

#

kannst du mal ein bisschen code ausenrum auch zeigen

snow plover
#

bro

#

das ist der ganze code

#

am schluss ist noch der bot.run teil

paper iris
#

hast du kein import discord?

snow plover
#

hä??

paper iris
#

aso

#

hab ich nicht gesehen

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @paper iris, du bist jetzt Level 3 🎉

snow plover
#

chillig

#

regt schon auf

#

kann nicht weiter machen wegen dem error

#

ich frag mal im pycord server

paper iris
#

mach das

solid ingot
snow plover
#

python 3.11 funktioniert wohl nur mit master branch

paper iris
#

wenn es nur ein wert ist kannst du es auch so rein schreiben(mit eckigen klammern ist eine liste)

#

oder nicht?

solid ingot
solid ingot
paper iris
#

joa

paper iris
#

dann geht es auch mit py 3.11

snow plover
#

pip install -U git+https://github.com/Pycord-Development/pycord

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @snow plover, du bist jetzt Level 3 🎉

paper iris
#

also ich hab es so gemacht

solid ingot
paper iris
solid ingot
#

zum beispiel mit einer for-schleife

viscid lake
#

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

indigo sapphire
#

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

indigo sapphire
#

um deine frage anzuworten schrit für schrit screenshot

open dragon
#

wie soll ich es denn noch installieren

indigo sapphire
#

wie du den programm installiert hast nicht per website

open dragon
#

wait kucke mir grad kurz das tut von tibue an

indigo sapphire
open dragon
#

install now

indigo sapphire
#

1:1 so?

open dragon
#

ja

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @open dragon, du bist jetzt Level 7 🎉

indigo sapphire
#

mit add python path?

open dragon
#

i think yes

indigo sapphire
#

versuch es nochmal genau so

open dragon
#

okry

solid ingot
#

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

open dragon
#

achso

limpid wolf
#

BIn grade beim cogs tutorial aber irgendwie kann ich dotenv nicht installen

viscid lake
#

@limpid wolfkannst du kurz call=

limpid wolf
indigo sapphire
#

pip install ?

viscid lake
indigo sapphire
#

und die .env datei?

#

ja genau hab ich jetzt auch bermekt

limpid wolf
indigo sapphire
#

Du benutzt gerade den Funktionen nicht

viscid lake
#

brauchst eine .env Datei

limpid wolf
viscid lake
limpid wolf
#

habe ich

viscid lake
#

nicht in den cog rein

#

in den bot ordnder

limpid wolf
#

die is nt im cog ordner

viscid lake
#

ah sah grad aus

indigo sapphire
#

joa Mann könnte den Pfad auch ausserhalb von bot Ordner

limpid wolf
viscid lake
#

das du das Plugin schon?

indigo sapphire
viscid lake
#

ich meine das

solid ingot
# limpid wolf

das ist an sich richtig. prüfe mal in den interpreter einstellungen, ob python-dotenv auch aufgelistet wird

viscid lake
#

timo

solid ingot
#

bin gleich da

viscid lake
#

gedankenleser

limpid wolf
viscid lake
open dragon
solid ingot
#

für diese variante musst du git installiert haben

open dragon
#

hmm ok

open dragon
solid ingot
open dragon
#

achsoo

#

ok

open dragon
#

hast du maybe den link zu pycord 3.10

solid ingot
#

du meinst python?

open dragon
#

ja genau

solid ingot
#

ganz runter scrollen und das hier auswählen

open dragon
#

ok danke

solid ingot
#

@solid prism hey, wenn du magst kannst du den code und die fehlermeldung nochmal hier rein schicken, dann schau ich mir das an

open dragon
solid ingot
#

nein eigentlich nicht

open dragon
#

oke

#

kommt immernoch das gleiche xD

solid ingot
#

was denn?

open dragon
#

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

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

solid ingot
#

ja

#

die user bekommst du ja mit guild.users

#

du kannst dann einfach random.choice() benutzen, um einen zufälligen user zu bekommen

urban glen
#

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

solid ingot
#

bots können nur nachrichten senden, wenn sie einen gemeinsamen server mit dem user haben

solid ingot
#

wenn es nicht daran liegt, liegt es an den privatsphäreeinstellungen des users

urban glen
#

hab den vorhin mit dem ban cmd gebannt

open dragon
#

@solid ingot soll ich powerschell instalieren?

solid ingot
#

ne

umbral goblet
#

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

floral monolith
#

ist es möglich 2 mal on_message_delete zu benutzen?

solid ingot
#

ja

floral monolith
solid ingot
floral monolith
solid ingot
#

du erstellst einfach 2 mal das gleiche event xD

umbral goblet
floral monolith
solid ingot
solid ingot
umbral goblet
#

hhm stimmt

solid ingot
#

du hast self.bot = bot vergessen in __init__

urban glen
#

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

lyric coral
#

Ich bin relativ neu und checke nicht wie ich das mit den Shlash commands machen BigBrainTime

@bot.slash_command(description="Sendet den Ping vom Bot.")
async def ping(ctx):
    await ctx.respond(f"Pong! {bot.latency}")

Ist mein Code

solid ingot
#

der code sieht an sich gut aus, was funktioniert nicht?

lyric coral
#

Der shlashcommand kommt nicht bei discord an

solid ingot
#

hm, schwer zu sagen woran das liegt

burnt prairieBOT
#
Level Up!

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

urban glen
lyric coral
#

Ne habe ich nicht

urban glen
#

Hast du nur den einen command da?

#

Schick mal sonst deinen code

lyric coral
#


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

urban glen
umbral goblet
#

in debug guild musst du deinen guild reinschreiebn

umbral goblet
#

ja

solid ingot
#

hast du auch deinen token in bot.run() geschrieben?

lyric coral
solid ingot
#

achso gut

lyric coral
#

Funktioniert dann trzd nicht

atomic jasper
#

Hey JUNGS

#

BRAUCHE HILFE

open dragon
#

jaa

atomic jasper
#

Wie kann ich es so machen das wenn ich zb /id benutze das ich den ID eines members bekomme

urban glen
solid ingot
#

genau

atomic jasper
#

Weil bin in eile

#

AAAAAAAAAAA

#

Putin wird mich heute von der Schule abholen :D

urban glen
#

Hast du nicht tibues video geguckt xd

atomic jasper
#

Doch

#

Aber alles vergessen

#

Und habs jetzt eilig :/

solid ingot
#

einfach nur user.id wenn du einen user parameter hast

urban glen
#
@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
#

@vivid sky

lyric coral
#

Okay der Command ist da aber trotzdem macht er nichts bzw reagiert nicht

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @lyric coral, du bist jetzt Level 3 🎉

urban glen
#

:-

atomic jasper
urban glen
#

1040982554184011797

lyric coral
#

nvm es klappt jetzt danke :D

atomic jasper
urban glen
#

Junge das geht

atomic jasper
#

Wenn ich es versuche

urban glen
atomic jasper
#

Huh

#

Kein error

#

Aber warum steht dann das die Anwendung nicht reagiert?

urban glen
atomic jasper
#

Ja

#

Denke schon

urban glen
#

from discord.commands import slash_command

atomic jasper
#

Nope

#

Du hattest einfach @bot.... vergessen gehabt

#

Habs zugefügt

#

Da es ansonsten error gezeigt hat

urban glen
#

Ja ich weißt ja nicht in welchen Format du das haben willst xd

atomic jasper
#

Lass mich mal sehen

urban glen
#

Aber geht das jz?

atomic jasper
#

Nope

urban glen
#

Hast du das self entfernt

atomic jasper
#

NEIN

#

Lass mir dir den error zeigen

#

Wenn ich den befehl benutzer

urban glen
#

jo

atomic jasper
#
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?

urban glen
#

Zeig mal deinen code

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @craggy yew, du bist jetzt Level 16 🎉

atomic jasper
#

Oke

urban glen
#

Sollte es dann direkt erkennen

atomic jasper
#
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

urban glen
#

._.

#

Das ist auch net richtig eingerückt

atomic jasper
#

Oke keine ahnung

atomic jasper
solid ingot
#

das self muss weg

atomic jasper
#

Oh

#

Oke

solid ingot
#

und bei debug guilds muss eine ID rein

atomic jasper
#

Habe ich

#

Aber

#

Es geht nicht

#

Anwendung reagiert nicht

solid ingot
urban glen
#

xdd

#

Weil du dass richtig einrücken musst

solid ingot
#

das auch

urban glen
#

nach den Doppelpunkt drück enter paste den code da rein

solid ingot
#

das await ctx.respond ist ein tab zu weit rechts

atomic jasper
#

Oh :(

atomic jasper
#

Ansonsten zeigt es mir error

urban glen
#

@solid ingot ich überlass es dir

atomic jasper
#

Ich fühle mich dumm

#

Achso und timo

#

Du wurdest gehackt

#

Sieh dir dein name an

solid ingot
atomic jasper
#

Uhm

#

Okay

open dragon
#

`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)`
urban glen
#

@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)
atomic jasper
#

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")
#

:/

urban glen
open dragon
#

@solid ingot

urban glen
#

alles was nach bot.run() kommt, wird nicht geladen

lyric coral
#

Okay ich habe es schon aber trzd danke für den hinweis

open dragon
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @open dragon, du bist jetzt Level 8 🎉

open dragon
#

achso

urban glen
#

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

solid ingot
#

activity ist das allgemeine

#

game und steam sind unterformen davon

urban glen
#

also kann ich das mit ins slash command einbauen?

solid ingot
#

ja

#

schau dir am besten nochmal das bot status video an

urban glen
#

oki

open dragon
#

ine 17, in <module>
bot.load_extension("cogs.greet")

#

bot.load_extension("cogs.greet")

#

dass die line

open dragon
solid ingot
#

watching geht noch

#

ja listening auch denke ich

open dragon
#

doch

#

mit listen oder listening

open dragon
#

@solid ingot

solid ingot
#

welcher fehler kommt denn bei der zeile?

urban glen
#

Ne frage

#

bei den activity command

#

ja?

#

also in der main.py hab ich ganz normal activity drinne etc
und den command
und immer wen ich neu starte kommt das von main.py

wen ich das jetzt aus main.py lösche
bleibt den nach den restart immer noch der z.b. Streamt Test Status
?

#

also bleibt das noch vom command drinne nachm restart

#

ach ich teste mal

#

ich rentner

#

ne leider nicht

#

sad

balmy roost
#

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

solid ingot
#

hey, kannst du mal "pip freeze" in dein terminal eingeben und schicken, was als antwort kommt?

balmy roost
urban glen
#

WIE VIEL

balmy roost
#

😅

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @balmy roost, du bist jetzt Level 2 🎉

urban glen
#

BRUDA HERZ WAS MACHST DU

solid ingot
#

am besten deinstallierst du discord.py und installierst danach pycord nochmal neu

#

für weitere infos siehe #🔍・pycord-help

balmy roost
#

klappt jetzt. Vielen Dank

open dragon
#

degga

#

mir wird dieser button net angezeigt aber alle anderen schon

#

wie denn

#

soll ich dropdown

#

hinschreiben

#

hab

#

ist immernoch das gleiche

lofty haven
#

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

urban glen
#

und was ist jetzt das problem ? @lofty haven

lofty haven
#

neija hab ich doch gesagt

#

3 commands sind eingestellt er macht nur 1

solid ingot
#

evtl hast du das cog nicht richtig geladen?

lofty haven
solid ingot
lofty haven
#

ka😂

#

er ist jetzt weg

#

hab nochmal neu geladen

#

was soll ich jetzt machen es geht nicht 🤣wie dumm

solid ingot
#

gute frage, der code sieht an sich gut aus

solid ingot
urban glen
#

kann dir das dan besser erklären

open dragon
urban glen
#

wenn es okay ist

urban glen
#

Ist über strg

#

Dann kannst du einen screenshot machen und einfach strg v

lofty haven
#

danke mein pc ist nur leider von 1900 deswegen lass ich solche experimente lieber

lofty haven
urban glen
#

ah ok xd

#

Mein Laptop ist auch net der beste aber geht

urban glen
floral monolith
#

also erstmal heyrivex_himself

solid ingot
floral monolith
#

weisst einer wie ich mehrere rollen festlegen kann wie im diesem vid https://youtu.be/x8Z1D-0mFzU

solid ingot
#

im video ist ja eine if abfrage für eine rolle, davon musst du einfach mehrere machen

floral monolith
#

🤙

urban glen
#

@urban glen musst mir später helfeeeen

urban glen
#

Frage zu active developer
mann muss ja 1 tag warten
muss man voher das schon mit den link machen oder erst nach 24h

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @fringe pond, du bist jetzt Level 8 🎉

solid ingot
#

erst danach

urban glen
#

Hi

#

gibt es eig. nh variable die anzeigt auf wie vielen Servern der Bot ist?

solid ingot
#

len(bot.guilds)

urban glen
#

{len(bot.guilds)}

#

glaube so

solid ingot
#

genau, also du musst das halt als variable in einen f-String einbauen

urban glen
solid ingot
#

also du musst halt auf deinen bot zugreifen

#

in cogs geht das zum beispiel mit self.bot

urban glen
#

hab jetzt {len(discord.Bot.guilds)} gemacht

floral monolith
#

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

urban glen
#

TypeError: object of type 'property' has no len()

urban glen
#

In nen embed kann man kein ping machen, nur eine mention

#

Mit user.mention halt

floral monolith
#

ja meine menion

#

mention

urban glen
floral monolith
urban glen
#

?

#

Muss

solid ingot
#

f"<@{user_id}>"

urban glen
#

@floral monolith der ping kommt aber nicht an nh

#

ah

#

Da war ja was

#

lol

floral monolith
solid ingot
urban glen
#

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

solid ingot
#

wenn du user_id vorher nicht definiert hast, geht es natürlich nicht. wieso nimmst du nicht einfach message.author.mention?

floral monolith
#

weiss ich selber nicht