#Allgemeine Hilfe

1 messages · Page 5 of 1

heavy timber
#

Hey Leute ich bin ganz frisch am Bot-Coden und habe ein problem mit dem slash_command... hat jemand einen Rat oder Tipp?

solid ingot
#

hey, du benutzt wahrscheinlich python 3.11, oder?

heavy timber
#

yes, sir

#

3.11.0 64bit

solid ingot
#

python 3.11 ist noch sehr neu, deswegen funktioniert die aktuelle pycord version noch nicht mit python 3.11.
entweder müsstest du python 3.10 benutzen, oder du installierst die master branch version von pycord mit pip install -U git+https://github.com/Pycord-Development/pycord

heavy timber
#

ah ok! Ich versuche es mal mit 3.10

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @heavy timber, du bist jetzt Level 2 🎉

heavy timber
#

Muss ich, wenn ich bei vscode den interpreter wechsel' dann py-cord nochmal installieren?

solid ingot
#

ich kenne mich zwar mit vscode nicht so gut aus, aber das sollte nicht nötig sein

heavy timber
#

Ich habe mir jetzt die 3.10 installiert (via MSStore). Jedoch muss man pip explizit sagen, dass man auf 3.10 installieren will (pip3.10 install py-cord)
Aber es geht nun - danke!

urban glen
#

@urban glen mein bot gibt wieder fehlermeldungen raus :(((((

#

jo ist immernoch nicht da dachte liegt an den Fehlermeldungen

#

die meinen irgendwas mit man muss bist dienstag warten weils irgendwelche Fehler gab

#

das gleiche wie gestern

vivid sky
#

Brauche auch hilfe....

urban glen
#

UND WIE GEHT ER ONLINE HAHAHAH

#

ACHSOOO MAN MUSS DIE OFFEN HABEN

quiet socket
#

Wie reagiere ich auf messages mit emojis in einem bestimmten channel?

solid ingot
#

Du kannst mit einer if-Abfrage prüfen, ob der Channel der Nachricht eine bestimmte Channel ID hat

quiet socket
#

?

solid ingot
#

ja

quiet socket
#

okay thx

quiet socket
solid ingot
#

eher ein on_message event

#

oder wolltest du auf Nachrichten reagieren die schon da sind bevor der bot gestartet wurde?

quiet socket
#

also in einem bestimmten channel

urban glen
solid ingot
quiet socket
#

thx

quiet socket
umbral goblet
#

und self halt

solid ingot
#

genau, die on_message Methode hat nur einen member als parameter

#

und es sieht so aus als hättest du die anführungszeichen hinter den emojis vergessen

#

obwohl ne ich glaub das sieht nur so aus

#

aber das Event heißt nur on_message, nicht on_messahe_event

umbral goblet
#

wie kann man in einem modal die inputs optional machen?

solid ingot
#

required=False

umbral goblet
#

ah danke

urban glen
#

Brauch wen der schon das level.db hatt
bei mir in der SQLite App
wird mein user id nicht angezeigt wen ich aktualisiere

#

bin bei der ersten folge

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

import aiosqlite

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


    @commands.Cog.listener()
    async def on_ready(self):
        async with aiosqlite.connect("level.db") as db:
            await db.execute(
                """
                CREATE TABLE IF NOT EXISTS users (
                user_id INTEGER PRIMARY KEY,
                msg_count INTEGER DEFAULT 0,
                xp INTEGER DEFAULT 0
                )
                """
            )

    @commands.Cog.listener()
    async def on_message(self, message):
        async with aiosqlite.connect("level.db") as db:
            await db.execute(
                "INSERT OR IGNORE INTO users (user_id) VALUES (?)", (message.author.id,)
            )
            await db.commit()


def setup(bot):
    bot.add_cog(LevelSystem(bot))
umbral goblet
#

wird die funktion überhaupt aufgerufen?

urban glen
#

oder xp oder msg_count gehen nicht hoch

umbral goblet
#

was ist mit raise ValueError("could not find open space for item") gemeint? ich habe eigentlich am code nichts geändert ur textfelder zum modal hinzugefügt

umbral goblet
urban glen
umbral goblet
#

wird die on message funktion überhaupt ausgeführt

urban glen
#

hab das gleiche gemacht wie bei den tutorial

umbral goblet
#

ja das heisst nicht dass es auch geht xD

urban glen
#

ausgeführt = starten?

#

also bot neu starten

umbral goblet
#

nein wird bei einer nachricht die funktion on_message ausgeführt also der code der darin steht ausgeführt

urban glen
#

idk what u mean

umbral goblet
#

schreib mal print("dfs ") in die on message funktion rein

urban glen
#

check halt nicht was du meinst

umbral goblet
umbral goblet
urban glen
#

ah da

umbral goblet
#

nein eine zeile runter

urban glen
umbral goblet
#

wird dann etwas in die konsole geschrieben?

urban glen
#

ya

umbral goblet
#

hhhm dann sollte eigentlich alles funktionieren

burnt prairieBOT
#
Level Up!

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

Du hast <@&1032921984612433952> erhalten!

solid ingot
urban glen
umbral goblet
solid ingot
urban glen
#

?

solid ingot
#

also nicht bei on_ready, sondern bei on_message

umbral goblet
#

nein bei deiner on message funktion

#
@commands.Cog.listener()
    async def on_message(self, message):

        print("sdfdsf")

        async with aiosqlite.connect("level.db") as db:
            await db.execute(
                "INSERT OR IGNORE INTO users (user_id) VALUES (?)", (message.author.id,)
            )
            await db.commit()```
urban glen
umbral goblet
#

ja und jetzt neustarten und eine nachricht senden

urban glen
#

ja jetzt kam dsf

umbral goblet
#

und jetzt mahst due es eine zeile runter

#

also nach dem doppelpunkt

#

damit du weisst wo es nicht funktioniert

#

zeile für zeile

#

das print halt

urban glen
#

also bei jeden doppelpunkt?
soll ich darunter
print("dsf")

umbral goblet
#

ja jetzt ausführen

#

und wieder schauen

#

und danach nach dem execute usw

urban glen
urban glen
#

der hatt kein :

umbral goblet
#

nach await db. execute

#

egal das hat nichts mit dem u tun

urban glen
#

aber was hat es damit zu tun?
das in der SQLite meine user_id nicht kommt?

umbral goblet
#

warte du musst nach db. execute immer ein db.commit haben auch oben in der on ready funktion

umbral goblet
urban glen
#
import discord
from discord.ext import commands
from discord.commands import slash_command, Option

import aiosqlite

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


    @commands.Cog.listener()
    async def on_ready(self):
        async with aiosqlite.connect("level.db") as db:
            await db.execute(
                """
                CREATE TABLE IF NOT EXISTS users (
                user_id INTEGER PRIMARY KEY,
                msg_count INTEGER DEFAULT 0,
                xp INTEGER DEFAULT 0
                )
                """
            )

    @commands.Cog.listener()
    async def on_message(self, message):
        print("dsf")
        async with aiosqlite.connect("level.db") as db:
            print("dsf")
            await db.execute(
                print("dsf")
                "INSERT OR IGNORE INTO users (user_id) VALUES (?)", (message.author.id,)
            )
            await db.execute(
                "UPDATE users SET msg_count = msg_count + 1 WHERE user_id = ?", (message.author.id,)
            )
            await db.execute(
                "UPDATE users SET xp = xp + ? WHERE user_id = ?", (10, message.author.id)
            )
            await db.commit()


def setup(bot):
    bot.add_cog(LevelSystem(bot))
umbral goblet
#
import discord
from discord.ext import commands
from discord.commands import slash_command, Option

import aiosqlite

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


    @commands.Cog.listener()
    async def on_ready(self):
        async with aiosqlite.connect("level.db") as db:
            await db.execute(
                """
                CREATE TABLE IF NOT EXISTS users (
                user_id INTEGER PRIMARY KEY,
                msg_count INTEGER DEFAULT 0,
                xp INTEGER DEFAULT 0
                )
                """
            )
await db.commit

    @commands.Cog.listener()
    async def on_message(self, message):
        print("dsf")
        async with aiosqlite.connect("level.db") as db:
            print("dsf")
            await db.execute(
                print("dsf")
                "INSERT OR IGNORE INTO users (user_id) VALUES (?)", (message.author.id,)
            )
            await db.execute(
                "UPDATE users SET msg_count = msg_count + 1 WHERE user_id = ?", (message.author.id,)
            )
            await db.execute(
                "UPDATE users SET xp = xp + ? WHERE user_id = ?", (10, message.author.id)
            )
            await db.commit()


def setup(bot):
    bot.add_cog(LevelSystem(bot))
```so
#

glaube ich

#

halt noch richtig einrücken

urban glen
#

bin jetzt kurz afk

umbral goblet
#

ja in den execute command kannst du kein print machen xD

solid ingot
old ore
#

bin ich dumm?! Ich versuche gerade einen warteschlange command zu machen kann mir es aber auch nicht erklären

umbral goblet
#

da muss doch ein option(discord.member ) sein statt discord.member oder

urban glen
burnt prairieBOT
#
Level Up!

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

umbral goblet
urban glen
#

wasn

umbral goblet
#

die muss immer noch am gleichen ort sein

urban glen
#

ok

umbral goblet
#

du musst due datenbank öffnen, die in deinem projekt drinn ist

urban glen
#

dan such ich halt mein dings

#

wo finde ich die pycharm app

umbral goblet
umbral goblet
urban glen
#

also

#

ah ne glaube weil mein bot geschrieben hatt
also mee6

umbral goblet
#

ja der bot auch

#

lade dir das plugin simplesqlitebrowser runter in pycharm damit kannst du die datenbanken n pycharm anschauen

urban glen
#

wo mach ich das

#

also auf plugins in pycharm

#

und nach simplesqlitebrowser suchen?

umbral goblet
#

oben rechts aufs zahnrad

#

und dann plugins

#

und dann marketplace danach suchen

urban glen
#

brauch ich trz print?

#

weil der bot nicht startet

umbral goblet
#

nein das ist nur zum debuggen das kannst du löschen

urban glen
#

okay

umbral goblet
#

und danach einfach die datei doppelklicken

urban glen
umbral goblet
#

ok

limpid wolf
#

Kann mir jemand sagen warum der den on cooldown embed 2x schickt? xd

urban glen
open dragon
#

wie fügt man einen cog in die main datei nochmal??

limpid wolf
#
open dragon
open dragon
#

discord.errors.NoEntryPointError: Extension 'cogs.ticket' has no 'setup' function.

limpid wolf
#

Hast du das unten am Code in der Cog stehen?

#

Bei mir steht da grade "Commands"

#

das Tauschst du dann durch ticket aus

limpid wolf
#

kann mir da jemand maybe helfen?

#

Bei nem anderen cmd is das bei dem cooldown error auch

limpid wolf
#

nope

#

Ist auch nur beim cooldown

#

alles andere ist nur 1x

#

._. was jz? Sehe halt in dem Code auch nt, dass es 2x gesendet wird

#
@commands.Cog.listener()
    async def on_application_command_error(self, ctx, error):
        if isinstance(error, commands.CommandOnCooldown):
            seconds = ctx.command.get_cooldown_retry_after(ctx)
            final_time = self.convert_time(seconds)

        pingcembed = discord.Embed(title=":x: On Cooldown",
                                   description=f"Du musst noch {final_time} warten.",
                                   color=discord.Color.from_rgb(47, 49, 54),
                                   timestamp=discord.utils.utcnow()
)
        pingcembed.set_footer(text=f"{ctx.guild.name}", icon_url=self.bot.user.avatar.url)
        await ctx.respond(embed=pingcembed, ephemeral=True)```
#

ich auch nt

#

@solid ingot Wann biste eig wieder home?

#

xd

floral monolith
#

Kennt sich einer mit configs aus?

open dragon
#

Ok thanks

solid ingot
solid ingot
floral monolith
#

Oder das man in der config die lvl up Nachrichten ändern kann

solid ingot
#

achso ja

#

mach ich bald ein Video zu

floral monolith
#

Man

#

❤️

urban glen
solid ingot
#

sag ruhig du

#

bin auf dem Weg nach Hause jetzt in der bahn

urban glen
#

okay

#

wo warst du den wen ich fragen darf

solid ingot
#

bei meinen Eltern

floral monolith
#

jajaj du warst feiern

solid ingot
#

ups

floral monolith
#

🤙

wise stone
#

Was ist der Hex Code vom discord.Colour.red?

urban glen
#

Geh mal auf einen deiner discords
Rollen
Farbe
Mach auf rot
Unten steht dann eine Zahl mit buchstaben, das ist der HexCode

Im code sieht das dann so aus als bsp: 0xfffff

indigo sapphire
#

hey wollte mal fragen wie macht man mit ein modal in einem button?

zusätzlich wie kann ich value von modal vererben?

iron apex
#

sind hypertext/links in einem embed bei author nicht möglich ?

viscid lake
#

Was soll das bringen?

iron apex
#

will das so haben das der link hinterlegt ist

#

aber glaub das geht bei author nicht, muss iwas anderes sein aber komm grad nicht drauf

indigo sapphire
#

Allgemein geht das nicht als embed

#

😅

iron apex
#

wie meinst das ?

viscid lake
#

Es geht nicht als embed

indigo sapphire
iron apex
#

doch doch safe , geht ja auch hier

burnt prairieBOT
#
Level Up!

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

iron apex
#

brauche es aber ganz oben in groß

#

glaub da gabs irgendeinen trick

indigo sapphire
#

Kann jemand mir heute Abend helfen ein Button zumachen genau genommen.

Select Menü auswählen dann kommt ein Button wenn man darauf drückt schickt es ein Modal

indigo sapphire
urban glen
#

Wenn ich mich recht erinnere

#

Habs lange nicht mehr genutzt

urban glen
#

Das auf button klick ein modal erscheint?

#

Oder von rinem modal zu einem button

indigo sapphire
#

Ich schaff es nicht in eine classe zu tun

urban glen
#

Du musst eine class erstellen

class modal(discord.ui.View)

Dann halt normales modal erstellen
Dann musst du wenn man auf den button klickt (ebenfalls in einer class)

class button(discord.ui.View)


@discord.ui.button(label=……)
async def callback(self, ctx):
await interaction.response.send_modal(modal(title=‘title‘))

#

Bitte sehr

#

@indigo sapphire

indigo sapphire
#

Ah das mit dem Button

#

Jetzt noch bei modal.

Ich wollte den modal für eine such Anfrage für Datenbank nutzen

urban glen
indigo sapphire
#

Ich schick heute Abend hier die Code rein

urban glen
#

Tf?

#

Du willst nen button
Jzt kommt select menu

#

Wtf

indigo sapphire
indigo sapphire
urban glen
#

Aha

indigo sapphire
#

Hab verschiedene Option suche

urban glen
#

Ja dann auf callback des select menus den button schicken

indigo sapphire
#

Evt ist es so kompliziert wäre sehr offen wenn man einfacher machen kann

urban glen
#

Es würde 10 mal leichter gehen das sage ich dir so

#

Aber nicht auf eine so komplizierte art und weiße

indigo sapphire
burnt prairieBOT
#
Level Up!

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

urban glen
#

Ein select menu, soll zu einem button callbacken, daraufhin, gibt es ein modal welches kein richtigen nutzen hat meines wissens in diesem code

indigo sapphire
indigo sapphire
urban glen
#

okay macht sinn
Allerdings wieso das modal überhaupt?

indigo sapphire
#

Um nicht erneut den slash command auszuführen

urban glen
#

Was willst du überhaupt machen

indigo sapphire
urban glen
#

welche suche?

indigo sapphire
#

Da benötigt man für den Slash command keine rechte zu schreiben

indigo sapphire
urban glen
#

aha

indigo sapphire
#

Ich weiss ich mach es unötig kompliziert

umbral goblet
iron apex
solid ingot
#

das was noe geschrieben hat geht auch bei set_author

iron apex
#

ne geht leider auch nicht

solid ingot
iron apex
#

so gehts

#

bin bisschen lost heute

viscid lake
#

@little lynx also gibt es ein Fehler?

#

Schick mal dein Code

urban glen
# iron apex

wasn das für ein versuch

embed = discord.Embed(
  title='whatever',
  description=f'(text)[Link/{sku}]',
  color=discord.Color.brand_green()
)

embed.set_author(url=f'link', name='Test'
burnt prairieBOT
#
Level Up!

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

umbral goblet
#

beim titel kannst du auf jeden fall auch eine url einfügen bei author weiss ich nicht

urban glen
#

Geht bei Author genauso

iron apex
floral monolith
#

@solid ingot peepothink

burnt prairieBOT
#
Level Up!

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

floral monolith
#

Will da nicht drauf drücken

#

Was sagst du?

solid ingot
#

ist ein midjourney bild, aber wieso?

#

@indigo sapphire

floral monolith
solid ingot
#

ja er hat das formatting falsch

indigo sapphire
solid ingot
#

nutze deinen testserver wenn du sachen testen willst, nicht diesen help channel

indigo sapphire
#

Versteh die klammern nicht

solid ingot
#

das geht nur bei embeds

floral monolith
indigo sapphire
#

Schade

indigo sapphire
urban glen
#

hört doch auf zu @'

#

ich schaue es mir später an

#

zocke gerade FiveM

indigo sapphire
floral monolith
indigo sapphire
#

😂

#

Ich weiss wie es funktioniert

#

😅

urban glen
#

kann mir jmd erklären was das für ein Error ist? Nie gehabt und verstehe es nicht wirklich

Traceback (most recent call last):
  File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 715, in _load_from_module_spec
    spec.loader.exec_module(lib)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "c:\Users\DBXFl\Desktop\Coding Locations\_specialCoding\Mr.Poopybutthole\Setup\Verification.py", line 6, in <module>
    class Verify(commands.Cog):
  File "c:\Users\DBXFl\Desktop\Coding Locations\_specialCoding\Mr.Poopybutthole\Setup\Verification.py", line 15, in Verify
    msgChannel: Option(discord.channel, "Select a Channel where the Verifiaction MSG should go.", required=True),
  File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\options.py", line 134, in __init__
    elif issubclass(input_type, (Enum, DiscordEnum)):
TypeError: issubclass() arg 1 must be a class

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

#
Traceback (most recent call last):
  File "c:\Users\DBXFl\Desktop\Coding Locations\_specialCoding\Mr.Poopybutthole\main.py", line 57, in <module>
    asyncio.run(main())
  File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 646, in run_until_complete
    return future.result()
  File "c:\Users\DBXFl\Desktop\Coding Locations\_specialCoding\Mr.Poopybutthole\main.py", line 54, in main
    await load()
  File "c:\Users\DBXFl\Desktop\Coding Locations\_specialCoding\Mr.Poopybutthole\main.py", line 50, in load
    client.load_extension(f'{folder}.{file[:-3]}')
  File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 787, in load_extension
    self._load_from_module_spec(spec, name)
  File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 718, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'Setup.Verification' raised an error: TypeError: issubclass() arg 1 must be a class
solid ingot
#

du hast das c von discord.Channel klein geschrieben

#

der datentyp muss halt immer eine klasse sein. discord.Channel ist eine klasse, aber discord.channel nicht

urban glen
#

ahhh ok thx

viscid lake
#

hey ich hab ein problem wenn ich die command ausführe überschneiden sie sich dann ist alter gemischt mit geschlecht und anderes rum ich habe keine Ahnung mehr warum kann mir jemand helfen

#

ALTER

#

geschlecht

urban glen
#

Wenn ich später von der Schule komme kann ich dir helfen
Schick mir die dateien bitte per dm, so dass ich es nicht vergesse

wise stone
# viscid lake ALTER
class DropdownView1(discord.ui.View):
    def __init__(self):
        super().__init__()
        self.add_item(Dropdown())````
#

hast es hier falsch gebannt

#

da musst Dropdown1 stehen

urban glen
viscid lake
#

Okey danke mach ich gleich

urban glen
#

bro?

#

lese deine sache
lese meine sache

#

es gab kein grosen unterschied
allerdings hast du die view trzd falsch benannt

urban glen
#

schick mir deinen code mal

#

oder warte

#

call?

viscid lake
#

@urban glengleich

urban glen
#

wie kann man einen sub ordner laden lassen?
[ einen ordner in einem anderen ordner ]

solid ingot
#

meinst du wie man den importiert

urban glen
#

naja

async def load():
    folders = [
        "Commands__General", 'Commands__Moderation', 'Events', 'Config', 'Level', 'Economy', 'Setup'
        ]
    for folder in folders:
        for file in os.listdir(f"./{folder}"):
            if file.endswith(".py"):
                client.load_extension(f'{folder}.{file[:-3]}')

so halt

#

nicht importieren, das weiss ich, aber nicht wie ich die laden lassen kann

#

bsp wär:

Config/...

solid ingot
#

achso als cog

urban glen
#

korrekt

solid ingot
#

statt einem Slash musst du da einen . benutzen

#

bin grad nur am handy

urban glen
#

ahhh ok

#

perfekt thx

#

das war mir nicht bewusst dachte man muss / benutzen 😂

#
Traceback (most recent call last):
  File "c:\Users\DBXFl\Desktop\Coding Locations\_specialCoding\Mr.Poopybutthole\main.py", line 51, in <module>
    asyncio.run(main())
  File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 646, in run_until_complete
    return future.result()
  File "c:\Users\DBXFl\Desktop\Coding Locations\_specialCoding\Mr.Poopybutthole\main.py", line 48, in main
    await load()
  File "c:\Users\DBXFl\Desktop\Coding Locations\_specialCoding\Mr.Poopybutthole\main.py", line 43, in load
    for file in os.listdir(f"./{folder}"):
FileNotFoundError: [WinError 3] Das System kann den angegebenen Pfad nicht finden: './Commands.Commands__General'

@solid ingot ?

#

es ist richtig geschrieben

solid ingot
#

warte ich bin gleich zu hause

floral monolith
urban glen
#

k

solid ingot
#

so bin zu hause

#

schickst du nochmal den code

urban glen
#
async def load():
    folders = [
        "Commands.Commands__General", 'Commands.Commands__Moderation', 'Events', 'Config', 'Config.Setup', 'Level', 'Economy', 'Setup'
        ]
    for folder in folders:
        for file in os.listdir(f"./{folder}"):
            if file.endswith(".py"):
                client.load_extension(f'{folder}.{file[:-3]}')
solid ingot
#

Hab jetzt mal 2 Beispiele gemacht zu der Codestruktur

urban glen
#

und wie soll ich das bei meiner list angeben>

#

?

solid ingot
#

achsoo jetzt weiß ich wie dus haben willst

urban glen
#

jaaaaa

solid ingot
#

bei os.listdir musst du mit / arbeiten, bei bot.load_extension mit punkten

#

du könntest es zb so machen

    folders = ["cogs/dbx"]

    for folder in folders:
        for filename in os.listdir(folder):
            if filename.endswith(".py"):
                bot.load_extension(f"{folder.replace('/', '.')}.{filename[:-3]}")
urban glen
#

ahhh

#

ok ok ok ok

#

JUHUHUHUHU

#

ES KLAPPT

#

FINALLY

solid ingot
urban glen
#

danke sehr :D

obtuse estuary
solid ingot
#

du nitro flexer

#

ich will auch nitro

viscid lake
#

Und Geringverdiener

solid ingot
viscid lake
#

Asoo

balmy roost
#

Wollte den developer badge claimen, aber ich kann keinen support server für mein Bot auswählen. Hab ich da was falsch verstanden?

solid ingot
#

um einen server auszuwählen, brauchst du einen server, der community features aktiviert hat

balmy roost
#

da könnte der Fehler liegen 😅

indigo sapphire
#

hey hätte da eine frage wie kann man am besten eine such anfrage für die datenbank machen?

#

es existiert zb 2 leute mit dem selben vorname aber die nachname ist anders. Wie kann ich da am besten eine suchmaschine in der datenbank machen?

solid ingot
#

was soll denn das suchergebnis sein?

indigo sapphire
#

und in der datenbank gibt es ja nix mit sar

#

aber es gibt zb ähnlichkeiten

#

und die ähnlichkeiten soll es ausgeben.

solid ingot
#

schau dir mal den LIKE operator an: https://www.w3schools.com/sql/sql_like.asp

indigo sapphire
#

i hope in Sqlite gibt eslevenshtein distance

indigo sapphire
solid ingot
#

#1020461010097819668

indigo sapphire
#

werde ich machen

indigo sapphire
# solid ingot schau dir mal den `LIKE` operator an: https://www.w3schools.com/sql/sql_like.asp

Wie soll das genau funktioniert naja ich hab fast 1:1 Kopiert aus dein guide.
https://youtu.be/lKTBnxiCGFU
11:00 Minuten

solid ingot
#

like habe ich im guide nicht erklärt, das musst du woanders lernen

indigo sapphire
#

Kk

#

Naja ich frag nur nach Ausgabe werd versuchen den Code zu ändern

obtuse estuary
solid ingot
#

slash commands?

obtuse estuary
quiet socket
#

wie kann ich einen cmd erstellen der gleichzeitig mit prefix funkt und slash ist?

solid ingot
quiet socket
#

thx

#

so?

#
bot = bridge.Bot(
    command_prefix="!",
    intents=intents,
    debug_guilds=None,
    status=status,
    activity=activity)```
indigo sapphire
#

Ja

quiet socket
#

okay thx

indigo sapphire
#

Dann musst du noch Bridge command importieren

quiet socket
#

habe ich schon

indigo sapphire
#

Was ich dir sagen kann für den Bridge command hab ich den bot ping benutzt

quiet socket
#

okay

wise stone
solid ingot
#

naja, aber wenn du den gleichen command als prefix und slash haben willst, müsstest du den code ja doppelt schreiben

#

das geht mit bridge commands ohne doppelten code

urban glen
#

korrekt

#

Hi

#

mein Admin hat sich heute durch einen ban slash command selber gebannt...

floral monolith
urban glen
#

gäbe es da nh Möglichkeit um zu verhindern dass der author nicht gebannt werden kann

solid ingot
#

ja, dafür kannst du ne if abfrage machen

quiet socket
urban glen
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @elder epoch, du bist jetzt Level 8 🎉

solid ingot
#

if ctx.author.id == ID:

wise stone
#

oder so wie bei timo xD

indigo sapphire
indigo sapphire
#

Help error

Ignoring exception in modal <cogs.SevenDSGC.TextInputModalView object at 0x00000240F2E42C50>:
Traceback (most recent call last):
  File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\modal.py", line 324, in dispatch
    await value.callback(interaction)
  File "c:\Users\Manuel Berchtold\OneDrive - Kantonale Schule für Berufsbildung\Dokumente\Python\ShrioLaplaceBot\ShiroSystem\cogs\SevenDSGC.py", line 145, in callback
    Unit_Name, Unit_Icon, Unit_Title_Name, Race, Attribute, Reco_PvP_Gear, Reco_PvE_Gear, Reco_Substats, Author_id = results_7DSGC_Unit
ValueError: too many values to unpack (expected 9)
#
#sql code
        async with aiosqlite.connect('ShiroSQLite.db') as db: # Lite connect
            async with db.execute(f""" 
                SELECT * FROM SevenDSGC_Unit
                WHERE Unit_Name LIKE '%{self.children[0].value}%'
                OR Alias LIKE '%{self.children[0].value}%'
                OR Alias_2 LIKE '%{self.children[0].value}%'
                OR Unit_Title_Name LIKE '%{self.children[0].value}%'
                """,) as cursor:
                results_7DSGC_Unit = await cursor.fetchone()

                if results_7DSGC_Unit is None:
                    await ctx.respond('Suchergebnisse: Not Found', ephemeral=True)
                    return
                Unit_Name, Unit_Icon, Unit_Title_Name, Race, Attribute, Reco_PvP_Gear, Reco_PvE_Gear, Reco_Substats, Author_id = results_7DSGC_Unit
#

das wird ausgeben aber es kann damit nichts anfangen.

(1, 650456829712793655, 'Sariel', 'r sariel', 'Sariel [die vier erzengel]', '[Die vier Erzengel]', 'Stärke', 'Göttin', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 'https://cdn.discordapp.com/attachments/1021771684589604907/1032704337509625986/r-sariel.png', None, None, None, None, None)
wise stone
#

Wie bekommt man den User Banner?

indigo sapphire
#

aus welche kontext?

wise stone
#

steht doch so wie es geschrieben wurde

#

egal habs schon

indigo sapphire
#

Ich versteh einfach die frage nicht

wise stone
#

@indigo sapphire bro

#

user banner

#

das profil banner

indigo sapphire
#

ist doch nur für nitro

#

naja mal so ein kurze frage wie kann ich ein bild schicken ohne url? im embed?

#

hätte eine frage zu SQL.

Ich würde gerne, wenn in der Datenbank mehrere Name existiert als auswahlt select menü wie kann ich das machen?

Mein code:

#

hätte noch ein flash frage kann man in view noch den button einfügen möchte den select und button einfügen

urban glen
#

Ja kannst du eigentlich

indigo sapphire
#

Wie soll ich das bewerkstelligen?

#

Omg für so ein simple cogs script mach ich so ein Aufwand

wise stone
#

wie kann mit aiocron (jede 14 tage) eine bestimmte json datei clearen das am ende nur noch {} steht?

urban glen
#

Schich ich dir wenn ich zu hause bin

solid ingot
wise stone
#

ja ik

#

habs auch xD

#

aber wieso musstet man den member fetchen überhaup

#

t

solid ingot
#

gute Frage

wise stone
#

auch so*

solid ingot
#

ja das liegt an discord

#

wahrscheinlich um irgendwas zu optimieren

indigo sapphire
#

hey kann mir jemand sagen warum es nur 1 Name aus der datebank ausgiebt?
obwohl 2 existieren?

#
async with aiosqlite.connect('ShiroSQLite.db') as db: # Lite connect
            async with db.execute(f""" 
                SELECT * FROM SevenDSGC_Unit
                WHERE Unit_Name LIKE '%{self.children[0].value}%'
                OR Alias LIKE '%{self.children[0].value}%'
                OR Unit_Title_Name LIKE '%{self.children[0].value}%'
                """,) as cursor:
                results_7DSGC_Unit = await cursor.fetchone()

                if results_7DSGC_Unit is None:
                    await interaction.response('Suchergebnisse: Not Found', ephemeral=True)
                    return
                print(results_7DSGC_Unit)
                rowID, Author_id, Unit_Name, Alias, Unit_Title_Name, Attribute, Race,Reco_PvP_Gear, Reco_PvE_Gear, Reco_Substats, Skill_1_Name,Skill_1_Bronze_Effect, Skill_1_Silver_Effect, Skill_1_Gold_Effect,Skill_2_Name, Skill_2_Bronze_Effect, Skill_2_Silver_Effect, Skill_2_Gold_Effect, Ultimate_Skill_Name, Ultimate_Skill_Effect, Passive_Unique_Skill_Name, Passive_Unique_Skill_Effect, Extra_Passive_Unique_Skill_Name, Extra_Passive_Unique_Skill_Effect, Relic_Name, Unit_Icon, Skill_1_Icon,Skill_2_Icon, Ultimate_Skill_Icon, Passive_Unique_Skill_Icon, Extra_Passive_Unique_Skill_Icon = results_7DSGC_Unit
                print(Unit_Title_Name)
                # für results_7DSGC_Unit None DatenBank ersetzen machen
#

Ich suche zb den Name Sariel

wise stone
#

Grund: Performance bzw. Network

viscid lake
#
 teamembed.add_field(name='**<@&1036820947795189837>**', value=f"@viscid lake ", inline=True)```
#

wie kann ich da mehr abstand rein machen

solid ingot
#

ist das die description oder embed fields?

viscid lake
#

fields

wise stone
solid ingot
#

wie hast du fields ohne inhalt gemacht?

#

es ist so dass \n am ende eines field inhalts von discord entfernt wird

thick haven
#

Tibue wie berechnus du das level an hand der xp kannst du mir das ma aus deinem bot geben

floral monolith
urban glen
#
Ignoring exception in command mute:
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\Commands__Moderation\mute.py", line 20, in mute
    await user.timeout_for(duration)
  File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\member.py", line 857, in timeout_for
    await self.timeout(datetime.datetime.now(datetime.timezone.utc) + duration, reason=reason)
  File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\member.py", line 832, in timeout
    await self.edit(communication_disabled_until=until, reason=reason)
  File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\member.py", line 808, in edit
    data = await http.edit_member(guild_id, self.id, reason=reason, **payload)
  File "C:\Users\DBXFl\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: 50013): Missing Permissions
#
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: Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

egal was ich tue, ich kriege perm diesen Error
der Bot hat alle berechtigungen [ wirklich, alle ]

floral monolith
#

hatte ich auch mal

#

aber weiss nicht mehr was ich gemacht habe um es weg zu kriegen

wise stone
solid ingot
wise stone
#

😳

thick haven
solid ingot
#

doch

urban glen
#

Oh

thick haven
#
    @staticmethod
    def get_level(self, xp):
        lvl = 0

        while True:
            if xp < ((50 * (lvl ** 2)) + (50 * lvl)):
                break
            lvl += 1


    # test level
    @slash_command(name="test_level", description="Test Level")
    @commands.has_permissions(administrator=True)
    async def test_level(self, ctx, user: discord.Member):
        async with connect() as (conn, cur):
            await cur.execute(f"SELECT xp FROM levels WHERE user = {user.id} AND guild = {ctx.guild.id}")
            xp = await cur.fetchone()
            # get level
            level = self.get_level(xp[0])
            await ctx.send(f"{user.mention} is Level {level}")```


Wieso fehlöt da nen args
solid ingot
#

bei staticmethods musst du das self entfernen

wise stone
#

@solid ingot bruddi brauche wieder deine hilfe xD

#

wie kann ich ne werte an ne class zu ne andere class übertragen?

#

also User Command > button > modal

urban glen
#

hatte er doch ein tutorial zu gemacht?

urban glen
#

wie du werte von anderen class's zu ner anderen übergibst

wise stone
#

er findet angeblich member nicht

#

und die andere frage ist

#
class ReportNein(discord.ui.Button):
    def __init__(self, bot):
        self.bot = bot
        super().__init__(
            label="Nein",
            style=discord.enums.ButtonStyle.red, 
            custom_id="interaction:ReportNein"
        )
    async def callback(self, interaction: discord.Interaction):  
#

wie kann ich machen wenn man z.b. hier auf den button nein drückt und dann das die buttons verschwinden oder bzw. weg sind (die nachrichten wären ephemeral)

urban glen
#

wenn ichs recht in erinnerung habe [kann sein das ichs verwechsel]

du musst die nachrichten editieren und in den () muss view=None hin

wise stone
#

ok

wise stone
#

sp

#

so?

urban glen
#

ja eig. schon

wise stone
#

.____.

#

ist in ne cog

solid ingot
#

das musst du schon in die button klasse schreiben, nicht in ein cog

#

es soll ja passieren wenn der user den button drückt

wise stone
#

wenn ich den timeout auf 1 setze wird der dann nach ne minuten nicht mehr gehen?

solid ingot
#

timeout is in sekunden, nicht minuten

wise stone
#

okok

wise stone
# solid ingot timeout is in sekunden, nicht minuten
class ReportNein(discord.ui.Button):
    def __init__(self, bot):
        self.bot = bot
        super().__init__(
            label="Nein",
            style=discord.enums.ButtonStyle.red, 
            custom_id="interaction:ReportNein"
        )
    async def callback(self, interaction: discord.Interaction):  
        await interaction.response.edit_message(view=None)```
#

da 0 passieren

urban glen
#

bei callback muss die klammer so aussehen: (self, button: discord.Button, interaction: discord.Interaction):

wise stone
# urban glen bei callback muss die klammer so aussehen: `(self, button: discord.Button, inter...
Ignoring exception in view <View timeout=30 children=2> for item <ReportNein style=<ButtonStyle.danger: 4> url=None disabled=False label='Nein' emoji=None row=None>:
Traceback (most recent call last):
  File "/home/container/.local/lib/python3.9/site-packages/discord/ui/view.py", line 414, in _scheduled_task
    await item.callback(interaction)
TypeError: callback() missing 1 required positional argument: 'interaction'```
urban glen
#

zeig mal code

#

ah

#

jzt weiss ich

#

button muss doch weg
deine class ist ja discord.ui.button

#

also only button

#

wusste ich ned

wise stone
#

button stehen?

#
class ReportNein(button):
    def __init__(self, bot):
        self.bot = bot
        super().__init__(
            label="Nein",
            style=discord.enums.ButtonStyle.red, 
            custom_id="interaction:ReportNein"
        )
    async def callback(self, button: discord.Button, interaction: discord.Interaction):  
        await interaction.response.edit_message(view=None)
#

also so

urban glen
#

ne

#

ne

#

ne

#

ne

#

ich war gerade verwirrt

class ReportNein(discord.ui.Button):
    def __init__(self, bot):
        self.bot = bot
        super().__init__(
            label="Nein",
            style=discord.enums.ButtonStyle.red, 
            custom_id="interaction:ReportNein"
        )
    async def callback(self, interaction: discord.Interaction):  
        await interaction.response.edit_message(view=None)
  

#

so

#

aber ich verstehe nicht wieso das nicht funktioniert

wise stone
#

hä hatte ich auch so

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @wise stone, du bist jetzt Level 8 🎉

urban glen
#

ja ik

#

und so sollte es funktionieren

solid ingot
wise stone
#

HÄÄÄÄ

#

jz geht es

#

wtf

solid ingot
#

🤨

#

dbx hat es repariert

wise stone
#
Traceback (most recent call last):
  File "/home/container/.local/lib/python3.9/site-packages/discord/ui/view.py", line 414, in _scheduled_task
    await item.callback(interaction)
  File "/home/container/cog/app.py", line 40, in callback
    modal = ReportModal(self.bot, member)
NameError: name 'member' is not defined```
#

jz findet er den member net

#

class ReportYes(discord.ui.Button):
    def __init__(self, bot, member):
        self.bot = bot
        self.bot = member
        super().__init__(
            label="Ja",
            style=discord.enums.ButtonStyle.green, 
            custom_id="interaction:ReportYes"
        )
    async def callback(self, interaction: discord.Interaction):  
        modal = ReportModal(self.bot, member)
        await interaction.response.send_modal(modal)    
        
        
class ReportNein(discord.ui.Button):
    def __init__(self, bot):
        self.bot = bot
        super().__init__(
            label="Nein",
            style=discord.enums.ButtonStyle.red, 
            custom_id="interaction:ReportNein"
        )
    async def callback(self, interaction: discord.Interaction):  
        await interaction.response.edit_message(view=None)
  
  
                

class ReportModal(discord.ui.Modal):
    def __init__(self, bot, member, **kwargs) -> None:
        self.bot = bot
        self.bot = member
        super().__init__(**kwargs, title=f'Report Modal')
        self.add_item(discord.ui.InputText(
            label=f"Grund?",
            style=discord.InputTextStyle.short,
            required=True,
            placeholder=f'Bitte ausführlich schreiben!',
            min_length=5
        ))
        self.add_item(discord.ui.InputText(
            label=f"Beweise?",
            style=discord.InputTextStyle.short,
            required=False,
            placeholder=f'Link! Falls keinen einfach Leer lassen',
            min_length=5,
        ))             
        self.add_item(discord.ui.InputText(
            label=f"ID?",
            style=discord.InputTextStyle.short,
            required=True,
            placeholder=f'Bitte ausführlich schreiben!',
            min_length=5,
            value=f"hahahaah"
        ))   
      

    async def callback(self, interaction: discord.Interaction):
        embed = discord.Embed(
            color=discord.Colour.red(), 
            title=f"User Reportet von {interaction.user} `(ID: {interaction.user.id})`")
        embed.add_field(name="Grund:", value=f"```py\n{self.children[0].value}```", inline=False)        
        if self.children[1].value:
            embed.add_field(name="Beweis:", value=f"```py\n{self.children[1].value}```", inline=False)
        else:
            embed.add_field(name="Beweis:", value=f"```py\n/```", inline=False)
        embed.add_field(name="User ID:", value=f"\r\n```py\n{self.children[2].value} (Name: )```", inline=False)

        await interaction.response.send_message(f"Dein User Report wurde erfolgreich Abgesendet!", ephemeral=True)
        await self.bot.get_channel(1041016397028937748).send(embed=embed)        ```
#

so ist mein code

solid ingot
#

das da oben muss self.member heißen und da unten auch self.member

wise stone
#

😂 achso

#

xD

urban glen
#
Ignoring exception in view <VerifyView timeout=None children=1> for item <Button style=<ButtonStyle.success: 3> url=None disabled=False label='Verify' emoji=<PartialEmoji animated=False name='✔️' id=None> row=None>:
Traceback (most recent call last):
  File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\view.py", line 371, in _scheduled_task
    await item.callback(interaction)
  File "c:\Users\DBXFl\Desktop\Coding Locations\_specialCoding\Mr.Poopybutthole\Config\Setup\Verification.py", line 131, in callback
    if data[str(interaction.guild_id)]['captcha'] == 'yes':
UnboundLocalError: local variable 'data' referenced before assignment

was das für error

wise stone
#

und await interaction.response.edit_message(f"Report wurde abgebrochen.", view=None) wie kann man es bearbeiten

urban glen
#

soweit war ich auch

wise stone
#

also wo json teil öffnest

#

data = json.load...

#

halt das

urban glen
#

ik

#

with open('verify.json', 'r', encoding='utf-8') as f:
data = json.load(f)

#

am anfang der file

#

es sollte den gesamten code so funktionieren

#

bei meinem ticket system klappt es so ja auch

#

aber bei verify dann wiederrum nicht

floral monolith
wise stone
#

🤷‍♂️

solid ingot
#

hm, bin mir nicht sicher wie gut das innerhalb einer klasse funktioniert, wenn du es am anfang der datei geschrieben hast

wise stone
solid ingot
#

ja, ich glaub ich habe damals methoden geschrieben die jedes mal ne neue verbindung aufgemacht haben

wise stone
solid ingot
#

ich verstehe die frage nicht

wise stone
#

aber edit_message will ja nicht

solid ingot
#

kein error?

wise stone
wise stone
# solid ingot kein error?
Traceback (most recent call last):
  File "/home/container/.local/lib/python3.9/site-packages/discord/ui/view.py", line 414, in _scheduled_task
    await item.callback(interaction)
  File "/home/container/cog/app.py", line 53, in callback
    await interaction.response.edit_message(f"Report wurde abgebrochen.", view=None)
TypeError: edit_message() takes 1 positional argument but 2 positional arguments (and 1 keyword-only argument) were given
Ignoring exception in view <View timeout=30 children=2> for item <ReportYes style=<ButtonStyle.success: 3> url=None disabled=False label='Ja' emoji=None row=None>:```
#

hö jz geht es

#

checke nichts mehr

solid ingot
#

sus

#

falls es demnächst mal wieder nicht geht versuch es hiermit:

await interaction.response.edit_message(content=f"Report wurde abgebrochen.", view=None)
wise stone
#

thanks

wise stone
#

hey

#

"809739434537910283": {}

#
async def reset(data, user, server):
    del data[str(server.id)][str(user.id)]['msg']```
#

es sollte eigentlicht den user ganz löschen

#

will aber nicht und zudem gehen die {} nicht weg

#

was soll ich machen?

urban glen
#

in einer json muss immer min. so eine klammer da sein {}

wise stone
#

will aber das der ganz weg ist also die usr.id und {}

urban glen
#
   with open('filename.json', 'w') as f:
       f.write(json.dumps(data))
#

so muss das heisen

wise stone
urban glen
#

nein

burnt prairieBOT
#
Level Up!

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

urban glen
#

warte kurz

#

wenn du deine guild am anfang hast, und eine neue {} öffnest, löscht er die guild.id mit den zugehörigen daten

wise stone
#

will nur den bestimmte user gelöscht

urban glen
wise stone
#

weil ohne die guild.id findet er bei mir die id halt nicht

wise stone
#

egal habs anders gelöst

iron apex
#

wisst ihr was man bei einem 429 webhook rate limit machen kann ?

solid ingot
#

weniger API anfragen senden hilft wahrscheinlich nur

iron apex
#

scheiße hmm

old ore
#

ich hab mal eine frage könnte mal bitte jmd kur Talk kommen? maybe du @solid ingot

wise stone
#

@old ore einfach sagen

quiet socket
#

Frage.
Ich habe einen Help Command nun habe ich kein Bock den bei jedem neuen CMD upzudaten, gibt es eine Möglichkeit das der bot die Cog Klassen im Help Command auflistet oder alle Commands?

indigo sapphire
#

Ja sollte gehen

quiet socket
#

Und wie mache ich das?

indigo sapphire
#

Dort wo du cogs eigentlich eunfügst Solltest du auch machen können

#

Bzw Versuch mal mit Print

#

Mit bei for Schleife idk 😶 hab noch nie gemacht sollte aber gehen

quiet socket
#

Ich habe von einem Freund d.py Help Command der sich automatisch aktualisiert bekommen und deswegen Frage ich halt wie ich es in Pycord mache.

indigo sapphire
#

Ich versuche es heute mal zu coden wenn es geht schick ich dir

quiet socket
#

Jo thx

indigo sapphire
#

hab es mit print gemacht in der main

#

du könntest das als json speichern

#

ist dir überlassen

quiet socket
#

Danke

quiet socket
indigo sapphire
#

oder du machst ein def funktion dafür

#

idk wie du es am besten machen soll

quiet socket
#

Könnte ich nicht den d.py Code einfach umschreiben?

indigo sapphire
#

idk

#

es lädt nur die cogs name datei theoretisch kannst du dafür ein def funktion machen

#

und es mit from Main Import CogsName zb

#

dann sollte auch in slash command funktionieren

#

ich weiss nicht wie man ein help command macht

#

@quiet socket

indigo sapphire
#

hey tibue wie kann ich so ein invite button machen ich weiss nicht welche folge

indigo sapphire
#

ty

urban glen
#

Wieso wird die ausgewählte Rolle im Slash Command nicht geaddet?

#
    raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'Member' object has no attribute 'add_role'
solid ingot
#

add_roles statt add_role

wise stone
#

@solid ingot wie kann man eine ephemeral nachricht löschen also das die automatisch weg geht

#

und wie kann man ein respond editieren das vom nen slash command kommt?

#

weil die übliche arten gehen nicht

solid ingot
urban glen
#

wenn du bei deinem slash command mit interaction anstelle von ctx arbeitest, mach:
await interaction.response.edit_message

#

bei ctx
ka

solid ingot
#

ja aber erst seit 2 oder 3 wochen glaube ich

wise stone
#

ok

wise stone
#

async def nachrichten_leaderboard(self, interaction):

#

so?

urban glen
#

self, interaction: discord.Interaction

wise stone
#

ok

#

aber ist nicht ephemeral@urban glen

#

geht es auch?

urban glen
#

ja

#

genau gleich

#

das ist kein unterschied

wise stone
#

ok

#
            await interaction.response.send_message(embed=embed1)           
            await asyncio.sleep(2)
            await interaction.response.edit_message(embed=em)```
@urban glen
#

geht nicht

open dragon
#

@solid ingot bei mir kommt dieser Fehler:

 raise final_out
discord.errors.ExtensionNotFound: Extension 'cogs.Level' could not be found.
urban glen
wise stone
#
Application Command raised an exception: InteractionResponded: This interaction has already been responded to before```
solid ingot
solid ingot
wise stone
#

.______.

open dragon
open dragon
#

habs stehen in meinen cog

solid ingot
#

aber die datei an sich wird nicht gefunden

open dragon
#

hm

wise stone
solid ingot
#

willst du das embed bearbeiten was du davor gesendet hast?

wise stone
#

ja

solid ingot
#

das musst du anders machen, aktuell sendest du erst ein embed und versuchst dann die ursprüngliche nachricht zu bearbeiten, aber nicht das embed dass du davor gesendet hast

wise stone
#

Oder ne

#

Danke

#

Ging perfekt

solid ingot
#

den message content intent peepoez

#

intents.message_content = True

#

nicht unbedingt

#

wenn du default intents hast ist das zb schon mit drin

#

also intents.messages ist keiner von denen die du im developer portal extra anschalten musst

indigo sapphire
#

Hey kann mir jemand sagen wie ich mir dem bot ein bild schicken kann?
Als normal msg?

#

Beides

#

@urban glen

#

Möchte das eben als blob Speichern in Datenbank und danach als normales Bild schicken.
@urban glen

solid ingot
#

bitte nicht immer pingen, siehe #🔰・old-help-rules

quiet socket
#

Error: ```py
C:\Users\Georgi\AppData\Local\Programs\Python\Python310\python.exe "C:\Users\Georgi\PycharmProjects\py-cord projekt eucord ai\main.py"
Traceback (most recent call last):
File "C:\Users\Georgi\PycharmProjects\py-cord projekt eucord ai\main.py", line 2, in <module>
from discord.commands import Option
File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands_init_.py", line 27, in <module>
from .core import *
File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 49, in <module>
from ..enums import MessageType, SlashCommandOptionType, try_enum
ImportError: cannot import name 'SlashCommandOptionType' from 'discord.enums' (C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\enums.py)

Process finished with exit code 1```

#

Code

#
import discord
from discord.commands import slash_command
import pytz
from discord.ext import commands, bridge


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

    @bridge.bridge_command()
    async def userinfo1(self, ctx, member):
        if member is None:
            member = ctx.author
        de = pytz.timezone('Europe/Berlin')
        embed1 = discord.Embed(
            title=f'Userinfo für {member.mention}',
            color=0x202225)
        embed1.add_field(name="Name", value=f"{member}", inline=True)
        embed1.add_field(name="User ID", value=f"{member.id}", inline=True)
        embed1.add_field(name="Bot", value=f'{"Ja" if member.bot else "Nein"}', inline=True)
        embed1.add_field(name="Nick", value=f'{(member.nick if member.nick else "Nicht gesetzt")}', inline=True)
        embed1.add_field(name="Server beigetreten", value=f'{member.joined_at}', inline=True)
        embed1.add_field(name="Discord beigetreten", value=f'{(member.created_at.strftime("%d.%M.%y %H:%m"))}',
                         inline=True)
        embed1.add_field(name="Rollen", value=f'{len(member.roles)}', inline=True)
        embed1.add_field(name="Höchste Rolle", value=f'{member.top_role.mention}', inline=True)
        embed1.add_field(name="Farbe", value=f'{member.color}', inline=True)
        embed1.add_field(name="Booster", value=f'{("Ja" if member.premium_since else "Nein")}', inline=True)
        embed1.set_footer(text=f'Angefordert von {ctx.author.name} & {ctx.author.id}', icon_url=ctx.author.avatar)
        await ctx.response.send_message(embed=embed1)


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

schau mal in #🔍・pycord-help, wahrscheinlich hast du discord.py installiert oder die falsche pycord version

viscid lake
#

hat wer eine eine idee?

wise stone
#

@viscid lake py-cord?

#

am besten auch command code + imports

wise stone
#

@aiocron.crontab('*/1 * * * *', start=True, tz=timezone)
async def reset():
    with open('Data/Event/messages.json', 'r') as f:
        data = json.load(f)    
    print(1)          
    guild = bot.get_guild(903725994907693096)
    for user_id in data["903725994907693096"].keys():
        userr = guild.get_member(int(user_id))                      
        user_id = int(user_id)  
        
        guild = str(guild.id)
        user = [str(guild)][str(user_id)]
        await reset(data, user, guild)
        print(3)
    
        with open('Data/Event/messages.json', 'w') as f:
            json.dump(data, f, indent=4)   
        print(4)   

async def reset(data, user, server):
    role = discord.utils.get(message.guild.roles, id=903725994962219035)                    
    if role in user.roles:
        if not str(user.id) in data[str(server.id)]:  
            return
        elif str(user.id) in data[str(server.id)]:
            data[str(server.id)][str(user.id)]['msg'] = 0    
#

error kommt gleich

#
[     LOG     ] - Exception in callback Cron.set_result(<_GatheringFu...s, not str')]>)
handle: <Handle Cron.set_result(<_GatheringFu...s, not str')]>)>
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/home/container/.local/lib/python3.9/site-packages/aiocron/__init__.py", line 112, in set_result
    raise result
  File "/home/container/main.py", line 66, in reset
    user = [str(guild)][str(user_id)]
TypeError: list indices must be integers or slices, not str```
#

@solid ingot 👀

solid ingot
#

ich weiß nicht genau wie deine json datei aussieht, aber du hast da auf jeden fall eine liste drin. auf die elemente aus der liste musst du mit zahlen zugreifen, also zb mit list_name[0]

floral monolith
quiet socket
#

Error:

#
C:\Users\Georgi\AppData\Local\Programs\Python\Python310\python.exe "C:\Users\Georgi\PycharmProjects\py-cord projekt eucord ai\main.py" 
Traceback (most recent call last):
  File "C:\Users\Georgi\PycharmProjects\py-cord projekt eucord ai\main.py", line 2, in <module>
    from discord.commands import Option
  File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\__init__.py", line 27, in <module>
    from .core import *
  File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 49, in <module>
    from ..enums import MessageType, SlashCommandOptionType, try_enum
ImportError: cannot import name 'SlashCommandOptionType' from 'discord.enums' (C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\enums.py)

Process finished with exit code 1
#

Code:

solid ingot
#

denselben error hast du doch eben schon reingeschickt

quiet socket
#

hä hmm

#

ich installiere pycord einfach neu

solid ingot
#

ja gut, irgendwas wurde da nicht richtig installiert

wise stone
# solid ingot ich weiß nicht genau wie deine json datei aussieht, aber du hast da auf jeden fa...
{
    "903725994907693096": {
        "809739434537910283": {
            "msg": 995
        },
        "830552140149686303": {
            "msg": 12
        },
        "967026422906503208": {
            "msg": 4
        },
        "603953653493137438": {
            "msg": 4
        },
        "706207165970513980": {
            "msg": 3
        },
        "745171643042889799": {
            "msg": 127
        },
        "841215181857751071": {
            "msg": 167
        },
        "770636457043034112": {
            "msg": 27
        },
        "621766518509928448": {
            "msg": 36
        },
        "852878080447741952": {
            "msg": 112
        },
        "782276733616783390": {
            "msg": 45
        },
        "1019835713476382740": {
            "msg": 127
        },
        "791431165487087616": {
            "msg": 10
        },
        "827438018029027414": {
            "msg": 1
        },
        "808410552166514698": {
            "msg": 87
        },
        "941750986551205930": {
            "msg": 45
        },
        "704629185808695338": {
            "msg": 20
        },
        "609323544110956546": {
            "msg": 1
        },
        "930106233971679252": {
            "msg": 1
        },
        "807440483621666854": {
            "msg": 49
        },
        "1006214607490265128": {
            "msg": 2
        },
        "1028382779144163429": {
            "msg": 87
        },
        "1006945435946078289": {
            "msg": 0
        },
        "1029263386288078899": {
            "msg": 7
        },
        "555631805928046593": {
            "msg": 2
        },
        "639618996278132776": {
            "msg": 133
        },
        "750021132903776276": {
            "msg": 5
        },
        "659472300873089026": {
            "msg": 0
        },
        "1000332493444096081": {
            "msg": 4
        },
        "1008690808582590494": {
            "msg": 29
        }
    }
}```
quiet socket
#

uhmm meine id ist da drinne haha

wise stone
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @wise stone, du bist jetzt Level 9 🎉

wise stone
quiet socket
wise stone
solid ingot
wise stone
#

Wait geht

#

Ging davor net

wise stone
#

@solid ingot

   

[     LOG     ] - Exception in callback Cron.set_result(<_GatheringFu...ibute 'id'")]>)
handle: <Handle Cron.set_result(<_GatheringFu...ibute 'id'")]>)>
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/home/container/.local/lib/python3.9/site-packages/aiocron/__init__.py", line 112, in set_result
    raise result
  File "/home/container/main.py", line 68, in reset
    user_id = data[str(guild.id)][str(user_id)]
AttributeError: 'dict' object has no attribute 'id'```
solid ingot
#

deine guild scheint kein guild objekt zu sein

wise stone
#

Ist es aber :/

solid ingot
#

sicher? sussypeepo

wise stone
#

Ja

#

Soll ich ne guild ID Fake 😂?

solid ingot
wise stone
quiet socket
solid ingot
#

schick mal deine pip freeze liste

old ore
#

wieso will der meine Token .env datei nicht erkennen oder wie?

solid ingot
#

code?

quiet socket
# solid ingot schick mal deine pip freeze liste
PS C:\Users\Georgi\PycharmProjects\pythonProject> pip freeze
aiohttp==3.8.3
aiosignal==1.2.0
aiosqlite==0.17.0
async-timeout==4.0.2
attrs==22.1.0
certifi==2022.9.24
charset-normalizer==2.1.1
colored==1.4.3
discord-webhook==0.17.0
discord.py==2.1.0
ffmpeg-python==0.2.0
frozenlist==1.3.1
future==0.18.2
idna==3.4
imageio-ffmpeg==0.4.7
magiclog==1.0.2
multidict==6.0.2
numpy==1.23.4
option==2.1.0
py-cord==2.2.2
python-dotenv==0.21.0
pytz==2022.5
requests==2.28.1
stackclimber==0.99
typing_extensions==4.4.0
urllib3==1.26.12
v2==1.0.7
yarl==1.8.1
PS C:\Users\Georgi\PycharmProjects\pythonProject> 
solid ingot
quiet socket
#

egal

#

ich mache es wieder

solid ingot
#

da ist wohl was schief gelaufen, checke am besten immer mit pip freeze oder in den interpreter settings, ob es auch wirklich weg ist

quiet socket
#

jetzt isses wegpy PS C:\Users\Georgi\PycharmProjects\pythonProject> pip freeze aiohttp==3.8.3 aiosignal==1.2.0 aiosqlite==0.17.0 async-timeout==4.0.2 attrs==22.1.0 certifi==2022.9.24 charset-normalizer==2.1.1 colored==1.4.3 discord-webhook==0.17.0 ffmpeg-python==0.2.0 frozenlist==1.3.1 future==0.18.2 idna==3.4 imageio-ffmpeg==0.4.7 magiclog==1.0.2 multidict==6.0.2 numpy==1.23.4 option==2.1.0 py-cord==2.2.2 python-dotenv==0.21.0 pytz==2022.5 requests==2.28.1 stackclimber==0.99 typing_extensions==4.4.0 urllib3==1.26.12 v2==1.0.7 yarl==1.8.1 PS C:\Users\Georgi\PycharmProjects\pythonProject>

#

jetzt zumindest nh neuer error

#
C:\Users\Georgi\AppData\Local\Programs\Python\Python310\python.exe "C:\Users\Georgi\PycharmProjects\py-cord projekt eucord ai\main.py" 
Traceback (most recent call last):
  File "C:\Users\Georgi\PycharmProjects\py-cord projekt eucord ai\main.py", line 2, in <module>
    from discord.commands import Option
  File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\__init__.py", line 26, in <module>
    from .context import *
  File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\context.py", line 29, in <module>
    import discord.abc
ModuleNotFoundError: No module named 'discord.abc'

Process finished with exit code 1```
wise stone
solid ingot
#

jetzt wo discord.py weg ist, installiere pycord am besten nochmal neu

quiet socket
#

kk

solid ingot
quiet socket
# solid ingot jetzt wo discord.py weg ist, installiere pycord am besten nochmal neu

jetzt nh neuer error haha: ```py
C:\Users\Georgi\AppData\Local\Programs\Python\Python310\python.exe "C:\Users\Georgi\PycharmProjects\py-cord projekt eucord ai\main.py"
Traceback (most recent call last):
File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 757, in _load_from_module_spec
spec.loader.exec_module(lib) # type: ignore
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "C:\Users\Georgi\PycharmProjects\py-cord projekt eucord ai\cogs\helpcmd.py", line 4, in <module>
class Helpcmd(commands.Cog):
NameError: name 'commands' is not defined

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

Traceback (most recent call last):
File "C:\Users\Georgi\PycharmProjects\py-cord projekt eucord ai\main.py", line 132, in <module>
bot.load_extension(f"cogs.{filename[:-3]}")
File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 893, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 760, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.helpcmd' raised an error: NameError: name 'commands' is not defined

Process finished with exit code 1```

solid ingot
#

ich nehme mal an du hast den import vergessen

solid ingot
#

na gut

open dragon
#
await mesg.delete()
IndentationError: unexpected indent
open dragon
#

@solid ingot?

#
await mesg.delete()
solid ingot
#

die einrückung ist falsch

open dragon
#

dass ist dat was net geht

#

hö wie den?

wise stone
#

@open dragon ganzer Code.

wise stone
#

@tibue99#3529


@aiocron.crontab('*/1 * * * *', start=True, tz=timezone)
async def reset():
    with open('Data/Event/messages.json', 'r') as f:
        data = json.load(f)    
    print(1)          
    guild = bot.get_guild(903725994907693096)
    for user_id in data["903725994907693096"].keys():
        userr = guild.get_member(int(user_id))                      
        user_id = int(user_id)  
        print(type(guild))
        
        guild = str(guild.id)
        user = [str(guild)][str(user_id)]
        await reset(data, user, guild)
        print(3)
    
        with open('Data/Event/messages.json', 'w') as f:
            json.dump(data, f, indent=4)   
        print(4)    


<class 'discord.guild.Guild'>
[     LOG     ] - Exception in callback Cron.set_result(<_GatheringFu...s, not str')]>)
handle: <Handle Cron.set_result(<_GatheringFu...s, not str')]>)>
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/home/container/.local/lib/python3.9/site-packages/aiocron/__init__.py", line 112, in set_result
    raise result
  File "/home/container/main.py", line 67, in reset
    user = [str(guild)][str(user_id)]
TypeError: list indices must be integers or slices, not str```
viscid lake
#

hey ich hab ein code der immer ging aber jz ein fehler hat kann mir wer helfen

#
Ignoring exception in view <regeln timeout=None children=1> for item <Button style=<ButtonStyle.success: 3> url=None disabled=False label='Ich habe die Regeln gelesen und akzeptiere sie!' emoji=<PartialEmoji animated=False name='✅' id=None> row=2>:
Traceback (most recent call last):
  File "C:\Users\sebas\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\ui\view.py", line 414, in _scheduled_task
    await item.callback(interaction)
TypeError: regeln.button_callback1() takes 2 positional arguments but 3 were given
wise stone
#

@viscid lake code?

#

da steht auch zudem du hast 3 argumente angegeben obwohl nur 2 erlaubt sind

viscid lake
quiet socket
#

Mein cmd funktioniert net

#

und kein error

#

code:

#
import discord
import pytz
from discord import Embed
from discord.ext import commands, bridge


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

    @bridge.bridge_command()
    async def userinfo1(self, ctx, member):
        if member is None:
            member = ctx.author

        pytz.timezone('Europe/Berlin')
        embed1 = discord.Embed(
            title=f'Userinfo für {member.mention}',
            color=0x202225)
        embed1.add_field(name="Name", value=f"{member.mention}", inline=True)
        embed1.add_field(name="User ID", value=f"{member.id}", inline=True)
        embed1.add_field(name="Bot", value=f'{"Ja" if member.bot else "Nein"}', inline=True)
        embed1.add_field(name="Nick", value=f'{(member.nick if member.nick else "Nicht gesetzt")}', inline=True)
        embed1.add_field(name="Server beigetreten", value=f'{member.joined_at}', inline=True)
        embed1.add_field(name="Discord beigetreten", value=f'{(member.created_at.strftime("%d.%M.%y %H:%m"))}',
                         inline=True)
        embed1.add_field(name="Rollen", value=f'{len(member.roles)}', inline=True)
        embed1.add_field(name="Höchste Rolle", value=f'{member.top_role.mention}', inline=True)
        embed1.add_field(name="Farbe", value=f'{member.color}', inline=True)
        embed1.add_field(name="Booster", value=f'{("Ja" if member.premium_since else "Nein")}', inline=True)
        embed1.set_footer(text=f'Angefordert von {ctx.author.name} & {ctx.author.id}', icon_url=ctx.author.avatar)
        await ctx.response.send_message(embed=embed1)


def setup(bot):
    bot.add_cog(Userinfo(bot))
viscid lake
#

gibt es eig ein fehler der kommt außer das

quiet socket
#

Ne

cloud cedar
#

Hab jetzt nen Button der eine Rolle gibt, wie mach ich das, dass wenn ein Member die Rolle schon hat sie wieder entnommen wird?
(bitte pingen)

solid ingot
cloud cedar
#

und role = "id"?

#

oder als int

solid ingot
#

role muss ein role-objekt sein

#

also das was du in die add_roles methode geschrieben hast

cloud cedar
#

also bei mir einfach die Id

burnt prairieBOT
#
Level Up!

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

solid ingot
cloud cedar
solid ingot
#
if muterolle not in ctx.author.roles
cloud cedar
solid ingot
#

eher an den anfang, da du ja erst prüfen willst ob der user die rolle schon hat, bevor du dem user die rolle gibst

cloud cedar
solid ingot
#

ja zum beispiel, das hintere könntest du auch mit einem else machen

solid ingot
wise stone
#

Ja

#

1 Zeile vom error

#

Da steht was kam

solid ingot
#

jetzt fehlt bei dieser zeile aber wieder das data

user = [str(guild)][str(user_id)]
#

was möchtest du mit der zeile genau machen?

wise stone
#

Nur der Rest ja nicht xd

solid ingot
wise stone
#

Hatte davor Data drinnen und kam auch Error kannst dir später zeigen nach Arbeit

solid ingot
#

naja, nur weil da auch ein error kam heißt das nicht automatisch, dass es aktuell richtig ist

indigo sapphire
#

Lohnt sich in Pycord eine Mathematik Rechner zu machen mit Lösungsweg?

wise stone
#

@solid ingot

async def reset(data, user, server):
    role = discord.utils.get(message.guild.roles, id=903725994962219035)                    
    if role in user.roles:
        if not str(user.id) in data[str(server.id)]:  
            return
        elif str(user.id) in data[str(server.id)]:
            data[str(server.id)][str(user.id)]['msg'] = 0    


@aiocron.crontab('*/1 * * * *', start=True, tz=timezone)
async def reset():
    with open('Data/Event/messages.json', 'r') as f:
        data = json.load(f)    
    print(1)          
    guild = bot.get_guild(903725994907693096)
    for user_id in data["903725994907693096"].keys():
        userr = guild.get_member(int(user_id))                      
        user_id = int(user_id)  
        
        guild = str(guild.id)
        user = data[str(guild)][str(user_id)]
        await reset(data, user, guild)
        print(3)
    
        with open('Data/Event/messages.json', 'w') as f:
            json.dump(data, f, indent=4)   
        print(4)    ```
#
[     LOG     ] - Exception in callback Cron.set_result(<_GatheringFu...were given')]>)
handle: <Handle Cron.set_result(<_GatheringFu...were given')]>)>
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/home/container/.local/lib/python3.10/site-packages/aiocron/__init__.py", line 112, in set_result
    raise result
  File "/home/container/main.py", line 68, in reset
    await reset(data, user, guild)
TypeError: Cron.__call__() takes 2 positional arguments but 4 were given```
#

.__.

#
{
    "903725994907693096": {
        "809739434537910283": {
            "msg": 1314
        },
        "830552140149686303": {
            "msg": 12
        },
        "967026422906503208": {
            "msg": 4
        },
        "603953653493137438": {
            "msg": 10
        },
        "706207165970513980": {
            "msg": 3
        },
        "745171643042889799": {
            "msg": 152
        },
        "841215181857751071": {
            "msg": 267
        },
        "770636457043034112": {
            "msg": 37
        },
        "621766518509928448": {
            "msg": 50
        },
        "852878080447741952": {
            "msg": 112
        },
        "782276733616783390": {
            "msg": 57
        },
        "1019835713476382740": {
            "msg": 141
        },
        "791431165487087616": {
            "msg": 10
        },
        "827438018029027414": {
            "msg": 1
        },
        "808410552166514698": {
            "msg": 89
        },
        "941750986551205930": {
            "msg": 60
        },
        "704629185808695338": {
            "msg": 20
        },
        "609323544110956546": {
            "msg": 1
        },
        "930106233971679252": {
            "msg": 1
        },
        "807440483621666854": {
            "msg": 65
        },
        "1006214607490265128": {
            "msg": 2
        },
        "1028382779144163429": {
            "msg": 87
        },
        "1006945435946078289": {
            "msg": 0
        },
        "1029263386288078899": {
            "msg": 7
        },
        "555631805928046593": {
            "msg": 2
        },
        "639618996278132776": {
            "msg": 135
        },
        "750021132903776276": {
            "msg": 5
        },
        "659472300873089026": {
            "msg": 0
        },
        "1000332493444096081": {
            "msg": 4
        },
        "1008690808582590494": {
            "msg": 29
        },
        "831061076501069845": {
            "msg": 1
        },
        "712343666949095504": {
            "msg": 5
        },
        "835578843200356432": {
            "msg": 4
        },
        "831128442535018548": {
            "msg": 4
        },
        "780393150237376553": {
            "msg": 10
        },
        "851458673515036702": {
            "msg": 3
        },
        "1026721193111330877": {
            "msg": 44
        },
        "804841274725105694": {
            "msg": 1
        },
        "785059784604778496": {
            "msg": 16
        },
        "999386640894152744": {
            "msg": 10
        }
    }
}```
#

die json sieht so aus

solid ingot
#

du darfst deine crontab methode nicht genauso nennen wie die andere methode, bei dir heißen aktuell beide reset

wise stone
#

ok .__.

wise stone
# solid ingot du darfst deine crontab methode nicht genauso nennen wie die andere methode, bei...
[     LOG     ] - Exception in callback Cron.set_result(<_GatheringFu...te 'roles'")]>)
handle: <Handle Cron.set_result(<_GatheringFu...te 'roles'")]>)>
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/home/container/.local/lib/python3.10/site-packages/aiocron/__init__.py", line 112, in set_result
    raise result
  File "/home/container/main.py", line 68, in remove
    await reset(data, user, guild)
  File "/home/container/main.py", line 43, in reset
    if role in user.roles:
AttributeError: 'dict' object has no attribute 'roles'


async def reset(data, user, server):
    guild = bot.get_guild(903725994907693096)    
    role = discord.utils.get(guild.roles, id=903725994962219035)                    
    if role in user.roles:
        if not str(user.id) in data[str(server.id)]:  
            return
        elif str(user.id) in data[str(server.id)]:
            data[str(server.id)][str(user.id)]['msg'] = 0 ```
solid ingot
#

dein user ist jetzt kein user objekt, deswegen hat user auch kein roles parameter

wise stone
solid ingot
#

dafür brauchst du das user objekt

wise stone
#

.___.

solid ingot
#

wenn du das nächste mal so ein umfangreiches problem hast, mach dafür am besten einen eigenen post auf, damit es nicht so unübersichtlich wird

wise stone
solid ingot
#

wenn du die ID des Users hast, kannst du diese in bot.get_user() einsetzen, um den User zu bekommen

wise stone
#

ok

wise stone
# solid ingot wenn du die ID des Users hast, kannst du diese in `bot.get_user()` einsetzen, um...
[     LOG     ] - Exception in callback Cron.set_result(<_GatheringFu...pe: 'dict'")]>)
handle: <Handle Cron.set_result(<_GatheringFu...pe: 'dict'")]>)>
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/home/container/.local/lib/python3.10/site-packages/aiocron/__init__.py", line 112, in set_result
    raise result
  File "/home/container/main.py", line 71, in remove
    await reset(data, user, guild)
  File "/home/container/main.py", line 43, in reset
    users = bot.get_user(user)
  File "/home/container/.local/lib/python3.10/site-packages/discord/client.py", line 928, in get_user
    return self._connection.get_user(id)
  File "/home/container/.local/lib/python3.10/site-packages/discord/state.py", line 370, in get_user
    return self._users.get(id)  # type: ignore
TypeError: unhashable type: 'dict'



async def reset(data, user, server):
    guild = bot.get_guild(903725994907693096)    
    role = discord.utils.get(guild.roles, id=903725994962219035)                   
    users = bot.get_user(user)
    if role in users.roles:
        if not str(user.id) in data[str(server.id)]:  
            return
        elif str(user.id) in data[str(server.id)]:
            data[str(server.id)][str(user.id)]['msg'] = 0    
    else:
        pass
solid ingot
#

bot.get_user() funktioniert nur mit der ID des users

wise stone
#

pls

solid ingot
#

zuerst musst du die ID des users bekommen

#

die kannst du dann einsetzen

#

user ist bei dir aktuell keine ID. lass dir das gerne mal printen damit du weißt was deine variable gerade für einen wert hat

wise stone
#

Ok

#

@solid ingot loool {'msg': 1362}

#

das kam beim user raus

#

tf

solid ingot
#

das sieht nicht nach einer user ID aus sussypeepo

wise stone
#

joah xD

#

ich gebs auf

old ore
#

kann mir jmd sagen wieso er das nicht findet

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @old ore, du bist jetzt Level 8 🎉

cloud cedar
#

    @discord.ui.select(
        placeholder="Wähle eine Option",
        options=[
            discord.SelectOption(label="Embed Bearbeiten", value="1", description="Dies ist ein bearbeiteter Embed", emoji="🍕"),
            discord.SelectOption(label="Nachricht Bearbeiten", value="2", description="Dies ist eine bearbeiteter Nachricht"),
            discord.SelectOption(label="Normale Nachricht", value="3", description="Dies ist eine Normale Nachricht"),
        ]
    )
    async def select_callback(self, select, interaction):

        if select.value[0] == "1":
            em = discord.Embed()
            em.set_author(name="Das ist bearbeitet")
            em.add_field(name="Bot", value="Hallo", inline=False)
            await interaction.response.edit_message(embed = em)
        if select.value[0] == "2":
            await interaction.response.edit_message(content="Bearbeitet")
        if select.value[0] == "3":
            await interaction.response.send_message("Lol")
@bot.command()
async def mens(ctx):
    view = Auswahl()
    await ctx.send("Hello", view = view)``` Interaktion fehlgeschlagen, aber zumindest zeigt es das menü an
Error: AttributeError: 'Interaction' object has no attribute 'value'
solid ingot
solid ingot
#

bitte nicht pingen, siehe #🔰・old-help-rules

cloud cedar
#

sry

solid ingot
cloud cedar
solid ingot
#

dann musst du wahrscheinlich die parameter interaction und select tauschen

#

die sind bei pycord genau andersrum

cloud cedar
#

is ja wie bei button

solid ingot
#

ja, da ist es auch andersrum

cloud cedar
#

geht immernoch nich

#

line 316

solid ingot
#

fehler?

cloud cedar
#

ja

solid ingot
#

und ich denke es heißt select.values statt select.value

cloud cedar
#

hatte ich vorher

#

jetzt gehts

#

thx

old ore
#

digga will der mich rollen

balmy roost
#

Ich wollte das mit github education machen, aber seitdem ich mein Bild hochgeladen habe kommt "502 Bad Gateway"

cloud cedar
#

Ich hab ``` if select.values[0] == "2":
role = interaction.guild.get_role(1043621177287004170)
if role not in interaction.user.roles:
await interaction.user.add_roles(role)

        if role in interaction.user.roles:
         await interaction.user.remove_roles(role)
solid ingot
old ore
old ore
balmy roost
burnt prairieBOT
#
Level Up!

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

old ore
quiet socket
#

wie erwähne ich die höchste rolle von einem User?

#
embed.add_field(name="Höchste Rolle", value=f'{user.top_role.mention}', inline=True)```
#

so?

old ore
#

@solid ingot ich weiß es nicht genau

quiet socket
#

nicht pingen bei hilfe

old ore
#

jap der ping war für dich

old ore
open dragon
#

hey kann mir kurz jmd den code schicken wenn du auf ein Button drückst dass nur du die naricht sehen kannst

floral monolith
#

Ephemeral=True

old ore
open dragon
floral monolith
#

ja

floral monolith
solid ingot
#

die einrückung ist falsch

old ore
solid ingot
#

dann benutz doch vs

old ore
solid ingot
old ore
old ore
old ore
solid ingot
#

mach mal die strings so dass die nur in einer zeile sind

old ore
old ore
solid ingot
#

Muss grad arbeiten
Benutze entweder mehrere strings oder einen großen String mit """Test"""

open dragon
#

hey @solid ingot hätte nh frage

#

weißt du wie man im Embed eine rolle markiert

solid ingot
#

genauso wie außerhalb eines embeds

#

es geht aber nicht im titel oder im namen von fields

open dragon
#

also @rolle

open dragon
solid ingot
#

genau

open dragon
#

@solid ingot so geht net oder

solid ingot
#

<@&ID>

open dragon
#

achso oke danke

open dragon
solid ingot
#

das geht in embeds nicht

open dragon
#

hm

open dragon
floral monolith
#

irgendwie so

#

bin mir aber nicht sicher

open dragon
#

wait ich kuck ma nach

open dragon
#

oke... die letzte frage dann bin ich ready

burnt prairieBOT
#
Level Up!

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

open dragon
#

cool

#

huh habs selbst hinbekommen xD

solid ingot
#

sehr gut peepoez

open dragon
#

ja

#

hatte await zu aweit vorne xD

cloud cedar
#

bitte mal wieder pingen

wise stone
wise stone
#

Wtf BILLA nein

#

await interaction.response.send_message(...)

cloud cedar
#

Alles klar

#

kann das dann auch nen Emphemeral sein

burnt prairieBOT
#
Level Up!

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

Du hast <@&1024276691205496872> erhalten!

wise stone
#

Warum bitte ctx.response

wise stone
cloud cedar
wise stone
#

#

Was labern sie bitte

#

Lern bitte die basics oder schau die Videos von @solid ingot noch Mal an.

cloud cedar
wise stone
#

Tuto anschauen bitte.

#

Dazu gibt's die ja ^^

cloud cedar
wise stone
#

#📹・neue-videos

#

Selber gucken da sind alle

#

Auf sein YT Kanal ebenso

cloud cedar
#

woran lag das, dass ich nicht zwei mal hintereinander das selbe wählen kann? War das self als Attribut

wise stone
#

Stelle bitte richtige fragen

quiet socket
#

error:

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

Traceback (most recent call last):
  File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ext\commands\bot.py", line 346, in invoke
    await ctx.command.invoke(ctx)
  File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ext\commands\core.py", line 950, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ext\commands\core.py", line 187, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'str' object has no attribute 'mention'
#

code:

#
import discord
import pytz
from discord.ext import commands, bridge


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

    @bridge.bridge_command()
    async def userinfo(self, ctx, member):
        if member is None:
            member = ctx.author

        pytz.timezone('Europe/Berlin')
        embed = discord.Embed(
            title="Userinfo",
            description="Zeigt dir die Userinfo eines Users an",
            color=0x202225)
        embed.add_field(name="Name", value=f"{member.mention}", inline=True)

        embed.add_field(name="User ID", value=f"{member.id}", inline=True)
        embed.add_field(name="Bot", value=f'{"Ja" if member.bot else "Nein"}', inline=True)
        embed.add_field(name="Nick", value=f'{(member.nick if member.nick else "Nicht gesetzt")}', inline=True)
        embed.add_field(name="Server beigetreten", value=f'{member.joined_at}', inline=True)
        embed.add_field(name="Discord beigetreten", value=f'{(member.created_at.strftime("%d.%M.%y %H:%m"))}',
                        inline=True)
        embed.add_field(name="Rollen", value=f'{len(member.roles)}', inline=True)
        embed.add_field(name="Höchste Rolle", value=f'{member.top_role.mention}', inline=True)
        embed.add_field(name="Farbe", value=f'{member.color}', inline=True)
        embed.add_field(name="Booster", value=f'{("Ja" if member.premium_since else "Nein")}', inline=True)
        embed.set_footer(text=f'Angefordert von {ctx.author.name} & {ctx.author.id}', icon_url=ctx.author.avatar)

        embed.set_footer(text=f'Angefordert von {ctx.author.name} & {ctx.author.id}', icon_url=ctx.author.avatar)
        await ctx.response.send_message(embed=embed)


def setup(bot):
    bot.add_cog(Userinfo(bot))
cloud cedar
wise stone
#

Natürlich?

#

Einfach nen anderen wählen und wieder den Favoriten

urban glen
#

Einf discord neustarten

urban glen
#
C:\Users\Nikolai\AppData\Local\Microsoft\WindowsApps\python3.9.exe C:\Users\Nikolai\PycharmProjects\Testing\main.py 
Traceback (most recent call last):
  File "C:\Users\Nikolai\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\discord\cog.py", line 757, in _load_from_module_spec
    spec.loader.exec_module(lib)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "C:\Users\Nikolai\PycharmProjects\Testing\cogs\verify.py", line 4, in <module>
    from colorama import Fore
ModuleNotFoundError: No module named 'colorama'

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

Traceback (most recent call last):
  File "C:\Users\Nikolai\PycharmProjects\Testing\main.py", line 43, in <module>
    bot.load_extension(f"cogs.{filename[:-3]}")
  File "C:\Users\Nikolai\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\discord\cog.py", line 893, in load_extension
    self._load_from_module_spec(spec, name)
  File "C:\Users\Nikolai\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\discord\cog.py", line 760, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.verify' raised an error: ModuleNotFoundError: No module named 'colorama'
#

keine ahnung was pycharm wieder hatt

old ore
#

kann mir bitte wer helfen

urban glen
# urban glen ```py C:\Users\Nikolai\AppData\Local\Microsoft\WindowsApps\python3.9.exe C:\User...

Mein python main datei:

import discord
import os
from discord.commands import Option
import asyncio
from dotenv import load_dotenv

bot = discord.Bot(
    intents=discord.Intents.all(),
    debug_guilds=[1043600679807225928],
)

@bot.event
async def on_ready():
    print(f"{bot.user}")
    print('ist online!')
    bot.loop.create_task(status_task())

@bot.event
async def status_task():
    while True:
        await bot.change_presence(activity=discord.Game('BanHammer'), status=discord.Status.online)
        await asyncio.sleep(60)
        await bot.change_presence(activity=discord.Game('Moderation'), status=discord.Status.online)
        await asyncio.sleep(60)
        await bot.change_presence(activity=discord.Game(name=f"Mit {len(bot.users)} Membern"), status=discord.Status.online)
        await asyncio.sleep(60)




@bot.slash_command(description="Lass den bot eine naricht senden")
async def say(
        ctx,
        text: Option(str, "Lass den bot eine naricht senden"),
        channel: Option(discord.TextChannel)
):
    await channel.send(text)
    await ctx.respond("Die Naricht wurde gesendet", ephemeral=True)

if __name__ == "__main__":
    for filename in os.listdir("cogs"):
        if filename.endswith(".py"):
            bot.load_extension(f"cogs.{filename[:-3]}")

    load_dotenv()
    bot.run(os.getenv("TOKEN"))
cloud cedar
#

Was gibt es eigentlich noch so für Menüs usw. außer Button und dem Select?

solid ingot
#

Modals zum Beispiel

solid ingot
solid ingot
urban glen
#

ja okay habs

#

danke

quiet socket
#

wie macht man das mit den optionen nochmal?

solid ingot
#

choices=["gutenmorgen", "gutenacht"]

quiet socket
#

thx

#

so?

#
async def wünschen(ctx,choices=["gutenmorgen", "gutenacht"]):```
solid ingot
#

achso ne

#

das choices muss innerhalb von einer option sein

urban glen
#

sprich

#
async def test123(ctx, testchoice: Option(choices=['1','2']))
quiet socket
#

thx

#

Immer wenn ich meinen Bot starte kommt nh error , aber dann startet er

#
C:\Users\Georgi\AppData\Local\Programs\Python\Python310\python.exe "C:\Users\Georgi\PycharmProjects\py-cord projekt eucord ai\main.py" 
Ignoring exception in on_connect
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\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 1138, in on_connect
    await self.sync_commands()
  File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 692, in sync_commands
    registered_commands = await self.register_commands(
  File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 581, in register_commands
    registered = await register("bulk", data, _log=False)
  File "C:\Users\Georgi\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 29: Application command names must be unique
----Bot Infos----    
Bot-User: ΞUROPΞ CORD ΛI#2725
Bot-Ping: 0.12521970000125293
Bot.ID: 1005727762910302318
----Server Infos----
Member:1
Kanäle: 122
The File 'context' started succesfully!
The File 'Commands__General / Fun' started succesfully!
wise stone
#

@quiet socket steht da

#

ein command ist doppelt

urban glen
#

Brauche Hilfe bei den Kick/ban commands

solid ingot
#

ja das geht

#

im on_message event mit msg.channel.category

wise stone
urban glen
#

hab schon gefixt

old ore
#

wie kann ich es machen das wenn min bot einen server erstellt das er dann in einen versteckten Link den Serverinvite schickt und mir quasi ownerrechte gibt

solid ingot
quiet socket
#

Error:

#

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

Traceback (most recent call last):
File "C:\Users\Georgi\Documents\Georgi\Developer stuff\Europecord Global\main.py", line 37, in <module>
bot.load_extension(f"cogs.{filename[:-3]}")
File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 893, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 774, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.helpcmd' raised an error: TypeError: cogs must derive from Cog

Process finished with exit code 1

solid ingot
#

bei cog klassen muss immer commands.Cog in der klammer stehen

quiet socket
solid ingot
urban glen
#

wie dmt man einen member