#Allgemeine Hilfe

1 messages · Page 28 of 1

urban glen
#

aha

#

AHHAHA

open dragon
#

timo

urban glen
#

das 2 on_ready nicht gehen sagt timo?

#

oder was sagt timo

open dragon
#

.

urban glen
#

ja nicht in einer datei

#

kannst einfach eine andere machen WOOOAH

#

oder / command benutzen KEKW

open dragon
#

Oder Prefix

urban glen
#

ist ja ez

#

musst nur ein channel definieren und dann channel.send

#

hat timo aber auch erklärt in seinem video

open dragon
#

ah wait

urban glen
#

schau dir das an ;)

open dragon
#

ig ich habe das die ganze zeit nur net ausprobiert den cmd

#

ich habe den channel gefetch

open dragon
urban glen
#

:)

urban glen
limpid wolf
# open dragon .

Ja du kannst das doch einfach in die andere On Ready mit rein schreiben??

compact mantle
#

Kann man irgendwie machen das nur eine Bestimmte Person die Nachricht vom Bot sieht?

#

ephemeral=True geht ja nur bei einem slash command

limpid wolf
compact mantle
#

Also kann man nicht die Nachricht nur für eine Person anzeigen?

limpid wolf
#

nope

#

nur bei slash cmds oder interaction oder sowas

compact mantle
#

okey dann mach ich das die person privat message bekommt

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @compact mantle, du bist jetzt Level 9 🎉

Du hast insgesamt 351 Nachrichten geschrieben.

civic granite
#

Servus Freunde der Welt.

Heute mal was größeres:

Ich habe vor eine Art "Verkaufsbot" zu programmieren
Als kleines Beispiel habe ich mal Schrauben und Nägel genommen.

Als erstes:

Mit dem Bot soll man sich einen Acc erstellen wodurch dann eine Kunden Nummer zugewiesen wird.
Oder falls man sich schon sag ich mal angemeldet hat dass man die Kunden Nummer hat.

Mein Plan ist folgender:

Der User soll sich anmelden können und es soll dann innerhalb entweder einer Datenbank oder in Excel ein Datensatz erstellt werden

Da drin soll die Kunden Nummer stehen, die Menge, Den Artikel

Wäre so etwas umsetzbar?

solid ingot
#

ja, das kannst du mit einer datenbank machen, zb mit sqlite

civic granite
#

ahhh okay

#

Und wie krieg ich das hin dass der User eine zufällige Kundennummer bekommt

#

Oh hab ne Idee ich kann die Kundennummer als Primary Key nehmen

#

Die dann immer +1 hochzählt

#

Aber wie krieg ich es hin dass es automatisch der User bekommt

#
# Abfrage ob neu Kunde oder nicht
#

Und wie kriege ich das hin

vivid sky
#
Ignoring exception in command fmc-likes:
Traceback (most recent call last):
  File "C:\Users\WorkHome\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\WorkHome\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "c:\Users\WorkHome\Desktop\baris\fmc bot\commands\likes.py", line 18, in likes
    await reaction.add_reaction("👍")
          ^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Interaction' object has no attribute 'add_reaction'

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

Traceback (most recent call last):
  File "C:\Users\WorkHome\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\bot.py", line 1114, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "C:\Users\WorkHome\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 375, in invoke
    await injected(ctx)
  File "C:\Users\WorkHome\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 132, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'Interaction' object has no attribute 'add_reaction'
``` kann jemand helfen
burnt prairieBOT
#

Mein Discord Server
https://discord.gg/zfvbjTEzv6

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot

PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discord.gg/pycord

Discord Developer Portal ► https://discord...

▶ Play video
solid ingot
#

hier bobby das ist genau dein error

solid ingot
civic granite
solid ingot
#

so gehts auch

compact mantle
#

wie muss ich das bei einem Embed einnfügen?

storm seal
snow hatch
#

wenn man ein levelsystem nur für seinen server macht braucht man keine datenbank oder?

compact mantle
#

Glaub schon aber ich weiss es nicht ganz

wise stone
snow hatch
wise stone
#

nach Neustart sind die Daten weg wenn du die lediglich Zwischenspeichers

old ore
#

Ich verstehe es nicht ich habe die vaulue nirgents vorher geused

reef wing
#

Ist #💻・cookie-hosting gratis?

floral monolith
reef wing
#

Danke

floral monolith
#

Ach kein Problem 😌

reef wing
floral monolith
#

/ extend

#

So

reef wing
#

Ok

#

Danke

reef wing
floral monolith
#

Deine bot datein

reef wing
floral monolith
#

Ja

ruby sparrow
reef wing
ruby sparrow
restive herald
#

in diesem fall nicht

#

hab den in der main datei

#

aber hab ne idee wie ich das in nen cog mach thx

solid ingot
#

hey, was steht davor für ein error?

wise stone
#

da steht der Fehler drjn...

solid ingot
#

dein cogs ordner wird nicht gefunden

reef wing
solid ingot
#

dann wird dein cogs ordner immer noch nicht gefunden

#

schick vlt mal deine dateistruktur

limpid wolf
#

Grr ich wurde gepingt?

solid ingot
limpid wolf
reef wing
solid ingot
#

also die orderstruktur sieht schonmal gut aus

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @reef wing, du bist jetzt Level 4 🎉

Du hast insgesamt 41 Nachrichten geschrieben.

reef wing
solid ingot
#

gute frage, weiß ich aktuell auch nicht

wise stone
#

@reef wing schick Mal bitte den Code wo er die cogs lädt

wise stone
#

Code nicht Dateien...

reef wing
old ore
#

was kann ich machen das meine Cpu aufm server nicht immer so viel leistung zieht

civic granite
#

Hey hey

Folgendes Problem:

Ich habe eine Datenbank erstellt in der Kundenbestellungen gespeichert werden sollen

Wenn ich nun die Datenbank ausgeben will macht er das auch ohne Probleme aber er überschreibt bei mehreren Bestellungen die vorherigen.

Was kann ich tun damit das aufhört?

Als Beispiel habe ich einmal als erstes 50 SCHRAUBEN bestellt und danach 50 NÄGEL

#

@solid ingot

#

?

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @civic granite, du bist jetzt Level 5 🎉

Du hast insgesamt 106 Nachrichten geschrieben.

Du hast <@&1024276691205496872> erhalten!

#
Level Rollen

Du kannst folgende Level-Rollen erhalten.

Level

Level 2
Level 5
Level 10
Level 15
Level 20
Level 25
Level 30
Level 35

Rolle

<@&1042123300970696705>
<@&1024276691205496872>
<@&1032921984612433952>
<@&1024276907136663562>
<@&1032922136068763718>
<@&1036805482217746523>
<@&1024277010593366017>
<@&1032922470673547274>

solid ingot
#

wo fügst du die daten denn ein?

civic granite
solid ingot
#

damit ersetzt du die alte bestellung wenn du eine neue einfügst

civic granite
#

Ja aber wie kann ich das ändern dass es das nicht tut=

#

?

#

Anstatt Update Insert nehmen?

#

Jetzt hab ich es mir zerschossen..

solid ingot
#

ja genau mit insert

#

schau dir nochmal die syntax von insert an, und wenn du irgendwo where hast, brauchst du AND statt komma

civic granite
#

Hab da irgendwie so in der Richtung was gelesen

#

Aber klappt irgendwie auch nicht..

#

Kannst du mir vielleicht den Insert Code schreiben..?

#
"INSERT INTO bestellungen2 artikel = ? AND menge = ? WHERE kundennr = ?", (artikel, menge, message.author.id)
#

Auch so macht er es nicht

#

Hier noch die Beschreibung vom INSERT den ich von meiner Arbeit habe

#

Arbeite ja als Softwareentwickler und arbeiten tagtäglich mit SQL aber selten mit INSERT meistens mit SELECT weil wir Daten auslesen müssen und dem Kunden zur Verfügung stellen

solid ingot
# civic granite

ja das stimmt mein fehler, aber where kannst du in einem insert statement gar nicht nutzen

#

ja ich denke schon

mint gate
#

wie macht man das untere built in weg
bzw alle / commands von discord selbst

vivid sky
mint gate
#

wie kann ich in python abfragen ob ein grund angegeben wurde?
in java kenn ich das nur so
if(reason != null){
...
}else{
reason="kein grund"

#

so in der art vom ding her

vivid sky
mint gate
#

hm also ich will das so machen dass wen kein grund angegeben ist, "embed.add_field" nicht passiert aber wenn ein grund angegeben wird, doch

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @mint gate, du bist jetzt Level 4 🎉

Du hast insgesamt 48 Nachrichten geschrieben.

mint gate
#

also dass da statt None einfach das field Reason gar nicht gibt

#

aber wenn ich als reason test mache, das field doch da ist

vivid sky
storm seal
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @storm seal, du bist jetzt Level 22 🎉

Du hast insgesamt 1,646 Nachrichten geschrieben.

mint gate
#
 embed = discord.Embed(title="You have been kicked", color=discord.Color.red())
        embed.add_field(name="Server", value=ctx.guild.name, inline=False)
        embed.add_field(name="Reason", value=reason, inline=False)

ich will, dass dort irgendwo eine funktion ist, dass wenn ein grund angegeben ist, dass embed.add_field(name="Reason) passiert
wenn KEIN grund angegeben wird, also die option reason nicht ausgefüllt ist, dass embed.add_field reason NICHT passiert

#

checkt ihr?

storm seal
#

if reason is Not None
embed.add_field(name="Reason", value=reason, inline=False)

mint gate
#

jo das wollte ich, danke
dieses Not wäre in java !=null und das wusste ich nicht

vivid sky
#

achso

#

kannst du das if statment nicht über dem embed machen und den name in {reason} machen?

mint gate
#

welchen namen

vivid sky
#

embed.add_field(name="Reason")

mint gate
#

habe ich doch? oder was meinst du

vivid sky
#

ach egal

#

alles gut

#
Ignoring exception in on_member_update
Traceback (most recent call last):
  File "/home/container/.local/lib/python3.10/site-packages/discord/client.py", line 377, in _run_event
    await coro(*args, **kwargs)
  File "/home/container/commands/levelsystem.py", line 86, in on_member_update
    before_level = self.cursor.execute(f'SELECT level FROM users WHERE user_id = {before.id}').fetchone()[0]
TypeError: 'NoneType' object is not subscriptable

Kann jemand bitte Helfen?

mystic flower
#

Aber warum die {} ?

mystic flower
vivid sky
#

kann sein das ich den selbst gefixxt habe einen moment

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @vivid sky, du bist jetzt Level 11 🎉

Du hast insgesamt 398 Nachrichten geschrieben.

civic granite
mystic flower
#

Jo

civic granite
#

Okay hab es herausgefunden es funktioniert soweit bis auf eine Kleinigkeit:

Wie Sie im Bild sehen wird bei jeder Bestellung mit einem Text geantwortet aber es erscheint immer noch "Die Anwendung reagiert nicht"

Wieso weshalb warum kein Plan

Weiß auch nicht wie ich das beheben soll..

solid ingot
#

ctx.respond statt channel.send

vivid sky
civic granite
#

Aber habe ctx gar nicht definiert

#

Bzw wenn ich das bei der Methode mit reinschreibe will der auch einen Wert haben

#

Wie umgehe ich das

vivid sky
#

warte mal

#

versuch

await message.respond("HIER DIE MESSAGE")
civic granite
#

Ahh ich versuchs mal

#

Cool danke dir das wars

#

Muss ich mir merken

vivid sky
solid ingot
#

denk aber daran dass dein "message" parameter trotzdem kein message objekt ist, sondern vom typ ApplicationContext ist

civic granite
#

Das wiederum heißt?

vivid sky
#

Wenn du willst kannst du den parameter "message" in "ctx" umwandeln

#

Das sollte gehen

civic granite
#

wenn ich ctx.respond mache wird ctx rot unterstrichen

vivid sky
#

ja du musst es mit "message" umwandeln also

(self, ctx, artikel, menge):
civic granite
#

Achsoo

#

Okay danke dir

vivid sky
civic granite
#

Aber wenn willst kannst mir gerne nochmals helfen:

Also in der Datenbank sind folgende Spalten:

Artikel, Menge, Kundennr, LFDNR (PRIMARY KEY)

Die LFDNR ist die Bestellnummer

Nun will ich dass auch die Bestellnummer (also die LFDNR) angezeigt wird sobald eine Bestellung raus ist.

Aber irgendwie mag er das nicht..

Wie krieg ich das in den Griff

#

Brauche das weil anhand der LFDNR der ja der Primary Key ist soll man auch Bestellungen wieder stornieren können

#

So soll das ungefähr aussehen nur anstatt LFDNR dann natürlich die Nummer

mint gate
#
Traceback (most recent call last):
  File "C:\Users\simon\PycharmProjects\stunniBot\venv\Lib\site-packages\discord\cog.py", line 786, in _load_from_module_spec
    setup(self)
  File "C:\Users\simon\PycharmProjects\stunniBot\cogs\clear.py", line 68, in setup
    bot.add_cog(Clear(bot))
  File "C:\Users\simon\PycharmProjects\stunniBot\venv\Lib\site-packages\discord\cog.py", line 656, in add_cog
    cog = cog._inject(self)
          ^^^^^^^^^^^^^^^^^
  File "C:\Users\simon\PycharmProjects\stunniBot\venv\Lib\site-packages\discord\cog.py", line 567, in _inject
    raise e
  File "C:\Users\simon\PycharmProjects\stunniBot\venv\Lib\site-packages\discord\cog.py", line 561, in _inject
    bot.add_application_command(command)
  File "C:\Users\simon\PycharmProjects\stunniBot\venv\Lib\site-packages\discord\bot.py", line 129, in add_application_command
    if self._bot.debug_guilds and command.guild_ids is None:
                                  ^^^^^^^^^^^^^^^^^
AttributeError: 'Command' object has no attribute 'guild_ids'

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

Traceback (most recent call last):
  File "C:\Users\simon\PycharmProjects\stunniBot\main.py", line 30, in <module>
    bot.load_extension(f"cogs.{filename[:-3]}")
  File "C:\Users\simon\PycharmProjects\stunniBot\venv\Lib\site-packages\discord\cog.py", line 910, in load_extension
    self._load_from_module_spec(spec, name)
  File "C:\Users\simon\PycharmProjects\stunniBot\venv\Lib\site-packages\discord\cog.py", line 791, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.clear' raised an error: AttributeError: 'Command' object has no attribute 'guild_ids'

hilfe

#

ich check das mit guild ids nicht

solid ingot
#

was willst du den damit erreichen?

civic granite
#

Oh mir fällt soeben was auf:

Kann man bei einem Primary Key einen DEFAULT Wert setzen?

#

Wenn ja muss der DEFAULT vor oder nach dem Parameter Primary Key sein

solid ingot
#

naja, der primary key muss ja immer unterschiedlich sein, also nein

mint gate
#

verstehe deine frage nicht ganz

civic granite
#

Wäre das irgendwie möglich?

solid ingot
#

also hochzählen geht, aber ich weiß nicht ob das ab einem bestimmten wert geht

civic granite
#

Hm okay danke dir

civic granite
#

@solid ingot

compact mantle
#

BRUH

#

Hab ausversehen selber gepingt sry

mint gate
#

ne hast nur hydra gepingt

compact mantle
#

Mein ich ja

civic granite
#

Oh sorry

mint gate
#

hä leute pingen juckt doch keinen menschen außer fame leute

civic granite
#

Kann mir jemand bei helfen?

civic granite
#

Ich hab absolut kein Plan wie ich das lösen soll

civic granite
#

Hallo?

#

Bobby? 😅

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @civic granite, du bist jetzt Level 6 🎉

Du hast insgesamt 149 Nachrichten geschrieben.

vivid sky
civic granite
#

Du hast eben geschrieben ^^

#

Dachte du wolltest helfen 😅

vivid sky
#

timo kennt sich mehr damit aus

civic granite
#

Der schläft glaub schon 😦

lucid furnace
#
  File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 786, in _load_from_module_spec
    setup(self)------------------------------------------------
  File "C:\Dev\Nimbus\cogs\banliste.py", line 22, in setup
    bot.add_cog(Banliste(bot))
  File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 646, in add_cog
    raise TypeError("cogs must derive from Cog")
TypeError: cogs must derive from Cog

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

Traceback (most recent call last):
  File "C:\Dev\Nimbus\main.py", line 52, in <module>
    print_percent_done(i,r)
  File "C:\Dev\Nimbus\main.py", line 48, in print_percent_done
    load()
  File "C:\Dev\Nimbus\main.py", line 26, in load
    client.load_extension(f"{folder.replace('/', '.')}.{file[:-3]}")
  File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 910, in load_extension   
    self._load_from_module_spec(spec, name)
  File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 791, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.banliste' raised an error: TypeError: cogs must derive from Cog```
civic granite
#

Bitte noch den Code welcher der Fehler betrifft mitsenden!

#

Sonst können wir nicht helfen

#

Kein Mensch kann aus einer Fehlermeldung herauslesen was falsch programmiert wurde

#

Naja egal anderes Thema:

Wie war das nochmal mit den Slash Commands?

Es gibt ja die Möglichkeit nur bestimmte Werte vorzugeben. Müsste glaub Choose sein.

Wo trage ich das nochmals ein?

solid ingot
#

bei discord.Option kannst du choices festlegen

lucid furnace
#

perfekt ich liebs ihn wird zu erst geholfen obwohl ich zuerst nh fehler hatte, naja egal jeder ignoriet mich ja

solid ingot
#

@lucid furnace alle helfen hier freiwillig. wenn du toxisch bist, haben die leute bestimmt nicht mehr lust, dir zu atnworten. außerdem hat hydra bereits etwas zu deiner nachricht gesagt und dich gefragt, ob du den code schicken kannst

lucid furnace
#

naja wenn man nicht die antwort funktion nutzt sehe ich das nd

#

die nachrichten wurden ja zusamm geklept

solid ingot
#

?

lucid furnace
#

ist aber alles gut bin das gewohnt egal, hier ist der code dazu ```py
import discord
from discord.ext import commands

class Banliste(commands.Command):
def init(self, bot):
self.bot = bot

@commands.command(description="Alle Banned-Mitglieder auf dem Server abrufen")
@commands.has_permissions(ban_members=True)
async def banlist(self, ctx):
        bans = ctx.guild.bans()
        pretty_list = ["• {0.name}#{0.discriminator}".format(entry.user) async for entry in bans]
        if pretty_list == []:
            em = discord.Embed(description="Niemand wurde auf den Server verbannt **Großartig!**", color=discord.Color.blue())
            return await ctx.respond(embed=em)
        embed = discord.Embed(title="Ban Liste für diesen Server", description="\n{}".format("\n".join(pretty_list)), color=discord.Color.blue())
        embed.set_author(name=f"{ctx.author}",  icon_url=f"{ctx.author.avatar.url}")

def setup(bot):
bot.add_cog(Banliste(bot))```

solid ingot
#

bevor du dich das nächste mal beschwerst, dass dir niemand antwortet, schau doch vorher wenigstens nach, ob dir jemand geantwortet hat. die antwort war nur 2 nachrichten über deiner nachricht

civic granite
lucid furnace
#

ne beschweren tue ich nicht

#

aber anderes thema sonst krieg ich noch nh warn rein gescheppert

solid ingot
#

commands.Cog

civic granite
#

Wie war das nochmal mit mehreren Optionen ^^

solid ingot
#

choices=["option 1", "option 2"]

civic granite
solid ingot
lucid furnace
# solid ingot commands.Cog

danke, hab noch was, was heisst das Traceback (most recent call last): File "C:\Dev\Nimbus\main.py", line 74, in <module> client.run(bot_token) File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 717, in run return future.result() File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 696, in runner await self.start(*args, **kwargs) File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 660, in start await self.connect(reconnect=reconnect) File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 599, in connect raise PrivilegedIntentsRequired(exc.shard_id) from None discord.errors.PrivilegedIntentsRequired: Shard ID None is requesting privileged intents that have not been explicitly enabled in the developer portal. It is recommended to go to https://discord.com/developers/applications/ and explicitly enable the privileged intents within your application's page. If this is not possible, then consider disabling the privileged intents instead.

solid ingot
#

intents müssen im developer portal aktiviert werden

civic granite
lucid furnace
#

danke

civic granite
civic granite
vivid sky
#

Kann jemand helfen?

Ignoring exception in on_interaction
Traceback (most recent call last):
  File "C:\Users\WorkHome\Desktop\baris\Darkplace\commands\ticket.py", line 266, in on_interaction
    with open(f'commands/cog_datas/tickets/bewerben/{member.id}.txt') as f:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'commands/cog_datas/tickets/bewerben/852888051432685608.txt'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\WorkHome\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\client.py", line 378, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\WorkHome\Desktop\baris\Darkplace\commands\ticket.py", line 307, in on_interaction
    with open(f'commands/cog_datas/tickets/bewerben/{member.id}.txt', 'w', encoding='utf-8') as f:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'commands/cog_datas/tickets/bewerben/852888051432685608.txt'
dense magnet
vivid sky
vivid sky
dense magnet
#

Ja merkste selber

#

Ist nicht da die Datei

vivid sky
#

hä aber die anderen gehen auch und da ist nicht so eine datei

dense magnet
vivid sky
dense magnet
vivid sky
vivid sky
ruby sparrow
#

Weiss einer wie kann man mehr status machen bei dem bot?

snow hatch
#

ist es möglich (für level system) alle ... minuten die jemand im voice ist zu machen(in dem fall halt xp geben? Also geht das?

solid ingot
#

ja das geht, zum Beispiel mit einem Task loop

#

mir Kommas würde es so gehen:

zahl = 3000
print(f"{zahl:,}")

dense magnet
ruby sparrow
#

Er Bot hat mehr status !

dense magnet
ruby sparrow
limpid wolf
#

Was genau meinst du? schreib bitte verständlich

dense magnet
ruby sparrow
dense magnet
# ruby sparrow ja

Ja dann musst du eine Loop machen welche eine bestimmte Zeit wartet und dann den Status wechselt

dense magnet
#

Wie heißt was?

ruby sparrow
dense magnet
dense magnet
snow hatch
#

Habe das lvlsystem tutorial gecodet, habe jetzt aber das problem das er immer sobald ich den bot neu starte, sagt die datenbank ist gesperrt
kann es daran liegen das ich schon ein onready event habe? Also neue datenbank erstellt der immer wenn ich die alte lösche
Oder woran kanns liegen?

#

brauchst ihr code? Der fehlercode:sqlite3.OperationalError: database is locked

solid ingot
#

hast du vielleicht Änderungen gemacht und vergessen zu speichern?

dense magnet
snow hatch
#

ok scaue mal

#

oh lag wirklich daran
Dachte hätte gespeichert🤦‍♂️

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @pastel vigil, du bist jetzt Level 2 🎉

Du hast insgesamt 8 Nachrichten geschrieben.

Du hast <@&1042123300970696705> erhalten!

urban glen
#

Error:

Traceback (most recent call last):
  File "C:\Users\gehtd\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
  File "C:\Users\gehtd\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "c:\Users\gehtd\Desktop\Code\Python\Interstellar\Mainn\base\commands\reaction.py", line 44, in _add
    c.execute('INSERT INTO reaction(user_id, emoji) VALUES(?, ?)', (user.id, emoji))
sqlite3.IntegrityError: UNIQUE constraint failed: reaction.user_id

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

Traceback (most recent call last):
  File "C:\Users\gehtd\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\client.py", line 378, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\gehtd\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ezcord\bot.py", line 174, in _error_event
    raise error
  File "C:\Users\gehtd\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\bot.py", line 1114, in 
invoke_application_command
    await ctx.command.invoke(ctx)
  File "C:\Users\gehtd\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\commands\core.py", line 375, in invoke
    await injected(ctx)
  File "C:\Users\gehtd\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\commands\core.py", line 132, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: IntegrityError: UNIQUE constraint failed: reaction.user_id```
#

Codes:

            c.execute('INSERT INTO reaction(user_id, emoji) VALUES(?, ?)', (user.id, emoji))
            db.commit()
db = sqlite3.connect('base/database/reaction.db')
c = db.cursor()

c.execute('''
    CREATE TABLE IF NOT EXISTS reaction
    (
        user_id INTEGER PRIMARY KEY,
        emoji TEXT
     )
 ''')
db.commit()
solid ingot
#

du versuchst etwas einzufügen, was schon existiert

#

bzw der primary Key existiert schon

urban glen
#

ok

#

aber ich will ja mehrere user eintragen

#

muss ich dann einfach primary key wegmachen oder was

#

ah ne

#

ich weiß wie

#

ist egal

solid ingot
#

du versuchst eine User ID einzutragen, die schon in der DB idt

#

du könntest insert or ignore oder insert or replace nutzen

urban glen
#

ja hab ich jz auch gemacht :D

urban glen
#

Was soll eigentlich der fehler bedeuten?

  await self.callback(self.cog, ctx, **kwargs)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
mystic flower
#

Du hast etwas nicht awaited

#

Schick Mal den Code

#

@urban glen

vivid sky
#
test
peak prawn
#

Timo wann kommst du? Ich brauch mal bitte kurz Hilfe

limpid wolf
solid ingot
#

keine fehlermeldung?

peak prawn
storm seal
#

🤨 nicht so

limpid wolf
solid ingot
#

pascal das kleine schleckermaul

storm seal
peak prawn
limpid wolf
#

Ja nh kleines schleckermaul halt wie Timo schon gesagt hat 😮

#

Da passt man kurz nicht auf und dann wird man angeknabbert

manic tusk
#

Kurze Frage wie macht man bei einem Embed ein Banner dran Python?

solid ingot
#

embed.set_image()

manic tusk
solid ingot
#

embed.set_image(url="URL")

manic tusk
#

Danke

tawdry leaf
vivid sky
#

brauche hilfe ich befinde mich in #1020759567421931620

wise stone
vivid sky
#

ja

wise stone
#

bist nicht weitergekommen mit deine derzeitige Hilfe ?

vivid sky
peak prawn
wise stone
#

achso DP_Flushed

vivid sky
wise stone
#

hm

#

versuchst Mal mit range + Len zusammen

#

würde ich normalerweise machen bei nen Python Code 😅

vivid sky
wise stone
#

das kann dir helfen

#

ist ein Beispiel wie du es beheben kannst

lucid furnace
#

Kann man in aiosqlite ein bild in die db einsetzten wenn ja wie?

solid ingot
#

könnte man, ich würde aber eher empfehlen den link zum bild einzufügen

lucid furnace
#

warum, weil es sonst zu unübersichtlich wird

lucid furnace
solid ingot
#

ja string, bzw bei sqlite TEXT

lucid furnace
#

jo

civic granite
#

Wird denke ich aber nicht großartig veröffentlicht sondern eher zum Spaß

#

Könnte aber auch sein dass ich dadurch mir ein kleines Geschäft irgendwann aufmache das wird aber auf jeden Fall noch dauern

lucid furnace
#

kann man bei einem INTEGER In aiosqlite zb 21/3 nutzen weil ich ein date hinzufühgen will

civic granite
#

Integer = Ganzzahl
Float = Kommazahl
String = Text

solid ingot
#

dates kannst du bei sqlite direkt eintragen, zb mit einem selbst definierten typ (TIMESTAMP). alternativ als string

civic granite
#

Ach echt okay cool

#

Das wusste ich jetzt nicht aber optimal weil komme auch demnächst dahin.. 😂

solid ingot
#

ja, man muss dafür detect_types aktivieren

civic granite
#

Kann man sich auch wenn man einen Befehl nutzt

als kleines beispiel

/date

Kann man das Datum und die Uhrzeit zu der der Command verwendet wurde in die Datenbank schreiben?

lucid furnace
solid ingot
#

geht beides, einfacher ist es mit timestamp. du kannst direkt datetime objekte in die datenbank einfügen

civic granite
#

War das zweite auf mich bezogen?

solid ingot
#

ne aber das von dir geht auch

civic granite
#

Okay danke dir ^^

floral monolith
civic granite
#

Weshalb ich dachte das passt ja optimal arg besser kann man praktisch gar nicht lernen

#

Bei mir is eh so learning by doing

#

Also an alle die grad dabei sind Python zu lernen:

Überlegt euch ein eigenes Projekt. Muss auch anfangs gar nicht groß sein.
Aber zieht das durch wenn Fehler auftauchen fragt hier nach aber überlegt auch selbst erstmal.

Ich mach das so sobald ich nicht weiterkomme versuche ich es 30-40 Minuten und wenn es dann immernoch nicht geht erst dann frage ich aber es ist wichtig es erstmal selbst zu versuchen zu lösen

Ich finde den Server hier echt cool, weil ich kenne keinen anderen Server wo die Members so sympathisch drauf sind wie hier.

#

Amen

#

Und auch danke an die Moderator, Developer und allen anderen die helfen dieses Projekt am Leben zu halten.
Und vorallem natürlich an Timo ohne den das alles hier gar nicht erst zu stande kamen

#

So genug geschleimt

lucid furnace
#

ok digga du sollst keine geschichte schreiben

lucid furnace
solid ingot
#

namen sind doch normale strings

lucid furnace
#

ok

#

keine floats wegen den "<#null>

#

was soll das jz

#

wegen den hashtags

lucid furnace
# solid ingot namen sind doch normale strings

geht das hier? py @slash_command(description="Add a user that has bough something out of the shop") async def addbuyer(self, ctx, member: Option(discord.Member), bought: Option(str), date: Option(str), proof: Option(str)): async with aiosqlite.connect(self.db) as db: await db.execute("INSERT INTO purchases (user_id, bought, date, proof, user_name) VALUES (?)", (member.id, date, proof, member))

solid ingot
#

du hast 4 werte, aber nur ein fragezeichen

lucid furnace
#

wie krieg ich die options aus ein command zu nem anderen wenn ihr wisst was ich mein

lucid furnace
#
Traceback (most recent call last):
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Dev\Flixer Buyer Bot\cogs\AddUser.py", line 26, in displaybuyer
    await cursor.execute("SELECT user_id, bought, date, proof, member FROM purchases WHERE user_id = ?", (member.id,))
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\aiosqlite\cursor.py", line 37, in execute
    await self._execute(self._cursor.execute, sql, parameters)
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\aiosqlite\cursor.py", line 31, in _execute
    return await self._conn._execute(fn, *args, **kwargs)
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\aiosqlite\core.py", line 137, in _execute
    return await future
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\aiosqlite\core.py", line 110, in run
    result = function()
sqlite3.OperationalError: no such column: member

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

Traceback (most recent call last):
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\bot.py", line 1114, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 375, in invoke
    await injected(ctx)
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 132, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: OperationalError: no such column: member```
#
    @slash_command(description=("Display what a user has bought"))
    async def displaybuyer(self, ctx, member: Option(discord.Member)):
        async with aiosqlite.connect(self.db) as db:
            async with db.cursor() as cursor:
                await cursor.execute("SELECT user_id, bought, date, proof, member FROM purchases WHERE user_id = ?", (member.id,))
                result = cursor.fetchone()
                # bought = 
                # if result:
                #     embed=discord.Embed(title=f"{member.mention}", description=f"{member.mention} Buyer info:\n\n", color=discord.Color.blue())
                #     embed.add_field(name=f":dot:Member: {member} | {member.id}")
                #     embed.add_field(name=f":dot:Bought: {bought}")
                print(result)```
solid ingot
#

die spalte "member" ist nicht in der DB

lucid furnace
#

doch eig schon

#

aso ich habs user_name genant

#

aber wo muss ich member mit user:name austauschen

#

ah ich sehe wo

lucid furnace
solid ingot
#

fetchone liefert nur eine zeile zurück

lucid furnace
#

also bei diesem projekt ist fetchall besser?

solid ingot
#

kommt drauf an ob du alle ergebnisse haben willst oder nur eins

lucid furnace
#

ich will alle

#
Traceback (most recent call last):
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Dev\Flixer Buyer Bot\cogs\AddUser.py", line 20, in addbuyer
    await db.execute("INSERT INTO purchases (user_id, bought, date, proof, user_name) VALUES (?, ?, ?, ?, ?)", (member.id, bought, date, proof, member))
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\aiosqlite\core.py", line 192, in execute
    cursor = await self._execute(self._conn.execute, sql, parameters)
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\aiosqlite\core.py", line 137, in _execute
    return await future
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\aiosqlite\core.py", line 110, in run
    result = function()
sqlite3.InterfaceError: Error binding parameter 4 - probably unsupported type.

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

Traceback (most recent call last):
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\bot.py", line 1114, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 375, in invoke
    await injected(ctx)
  File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 132, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: InterfaceError: Error binding parameter 4 - probably unsupported type.```
#

codepy @slash_command(description="Add a user that has bough something out of the shop") async def addbuyer(self, ctx, member: Option(discord.Member), bought: Option(str), date: Option(str), proof: Option(str)): async with aiosqlite.connect(self.db) as db: await db.execute("INSERT INTO purchases (user_id, bought, date, proof, user_name) VALUES (?, ?, ?, ?, ?)", (member.id, bought, date, proof, member)) await ctx.respond(f"{member.mention} Added with the details of:\n\nMember: {member} | {member.id}\n\nBought: {bought}\n\nDate: {date}\n\nProof: {proof}")

#

weiss wer wie ich das fixe

civic granite
#

Puh keine Ahnung

#

Hab aber auch ne Frage:

Im Bild sieht man oben die Spalten der Datenbank

Wie kriege ich das Feld LFDNR in den Command unten rein?

lucid furnace
civic granite
#

Dann sitzen wir im selben Boot xD

lucid furnace
#

check ich nd? ```Ignoring exception in command displaybuyer:
Traceback (most recent call last):
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 978, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Dev\Flixer Buyer Bot\cogs\AddUser.py", line 29, in displaybuyer
bought = result[1]
IndexError: list index out of range

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

Traceback (most recent call last):
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\bot.py", line 1114, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 375, in invoke
await injected(ctx)
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 132, in wrapped
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: IndexError: list index out of range```

#

der erste der mir hilft kriegt 30kekse

solid ingot
#

mit result[1] versuchst du auf das zweite element in result zuzugreifen, aber result hat maximal 1 element

lucid furnace
solid ingot
#

das geht mit einem select statement

civic granite
lucid furnace
#

hab ich doch warte ich zeig dir code

#
    @slash_command(description=("Display what a user has bought"))
    async def displaybuyer(self, ctx, member: Option(discord.Member)):
        async with aiosqlite.connect(self.db) as db:
            async with db.cursor() as cursor:
                await cursor.execute("SELECT user_id, bought, date, proof FROM purchases WHERE user_id = ?", (member.id,))
                result = await cursor.fetchall()
                bought = result[1]
                date = result[2]
                proof = result[3]
                if result:
                    embed=discord.Embed(title=f"{member.mention}", description=f"{member.mention} Buyer info:\n\n", color=discord.Color.blue())
                    embed.add_field(name=f":dot:Member: {member} | {member.id}")
                    embed.add_field(name=f":dot:Bought: {bought}")
                    embed.add_field(name=f":dot:Date: {date}")
                    embed.add_field(name=f":dot:Proof: {proof}")```
civic granite
#

Ich will die lfdnr nicht verändern nur anzeigen

lucid furnace
wise stone
wise stone
civic granite
#

Das heißt ich muss noch ein zweiten execute einabuen mit dem Select?

#

Aber Die Nachricht wo es ja angezeigt werden soll soll in einer Nachricht bleiben

#

Wie bekomme ich das hin wenn ich 2 SQLs habe?

wise stone
#

einfach normal SELECT

wise stone
burnt prairieBOT
wise stone
#

schau am besten die sqlite reihen nochmal an

#

da wird alles erklärt

civic granite
#

Hab ich mir schon angeschaut

#

Aber komme damit nicht weiter

civic granite
#

Mein Problem liegt ja darin es sollen mit dem Command mehrere Sachen passieren bzw 2

  1. Insert (Kundennr, Artikel, Menge)
  2. Select (lfdnr)

Die 2 Sachen sollen aber nur in einer Nachricht versendet werden

wise stone
#

hä?

#

der Kontext ergibt keinen sinn

civic granite
wise stone
#

@civic granite du hast nen command der es zeigt wozu willst du es nochmal zeigen

civic granite
#

Ich habe einen Insert

wise stone
#

du kannst einfach alles SELECT und nur das lfdnr anzeigen lassen

wise stone
civic granite
#

Also um es zu besser erklären:

mit dem Command /Bestellung soll man eingeben können welchen Artikel man bestellen will und wie viel

Das wird dann in die Datenbank geschrieben zusätzlich noch mit der Kundennr
Die lfdnr ist der Index bzw der Primary Key welcher sich selbst hochzählen soll

Ich habe jetzt vorrübergehend eine Lösung gefunden wo man die LFDNR angeben muss beim /bestellung command

#

Das will ich aber nicht

#

Ich will sie nur in der message.respond anzeigen lassen

wise stone
civic granite
#

Genau

wise stone
#

dann hol sie doch da raus DP_Facepalm

#

hab ich oben wie gesagt 3x genannt

civic granite
#

Ja mit select

wise stone
#

ja

civic granite
#

Dann hab ich ja aber 2 SQL

#

Wie soll ich das hinbekommen

wise stone
#

wie 2 sql

#

2 Dateien? 2 tables

civic granite
#

Ja einen INSERT und einen SELECT

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @civic granite, du bist jetzt Level 7 🎉

Du hast insgesamt 204 Nachrichten geschrieben.

wise stone
civic granite
#

Ohh warte

#

Stimmt ich kann ja den 2. execute machen und die LFDNR dann in einer Variable speichern right?

wise stone
#

ja

civic granite
#

Jetzt hab ich es verstanden
Sorry mein Hirn hat grad nich mitgespielt

#

Danke für deine Hilfe

lucid furnace
civic granite
#

Chill ma

wise stone
#

woher soll man es bitte wissen? wohne nicht in dein Gehirn und denke nicht wie du 🤷‍♂️

wise stone
#

mach fetchone

#

mit fetchall Holst du alles aus der db

#

mit fetchone Holst du nur was bestimmtes raus

#

wie bei dir per User id

lucid furnace
#

ich will die daten user id, bought, date, und proof raus holen

vivid sky
wise stone
#

hab ich so von mein Lehrer gelernt 🤔

wise stone
#

genau so steht es in dein Code....

tawdry leaf
lucid furnace
#

ja wie den

wise stone
#

...

#

bitte versteh dein eigenen Code 🙏

tawdry leaf
#

😮

tawdry leaf
wise stone
#

so kann man nicht wirklich helfen wenn ich schon wirklich alles gesagt habe

wise stone
tawdry leaf
vivid sky
wise stone
#

funktioniert*

lucid furnace
wise stone
#

hattest du net mehrere Tables?

lucid furnace
#

ne das sind alle

wise stone
#

ah ne

#

sehe scbon

#

ja sollte so funktionieren

lucid furnace
#

hä? ```Ignoring exception in command displaybuyer:
Traceback (most recent call last):
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 978, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Dev\Flixer Buyer Bot\cogs\AddUser.py", line 27, in displaybuyer
await cursor.execute("SELECT user_id, bought, date, proof FROM purchases WHERE user_id, bought, date, proof = ?", (member.id,))
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\aiosqlite\cursor.py", line 37, in execute
await self._execute(self._cursor.execute, sql, parameters)
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\aiosqlite\cursor.py", line 31, in _execute
return await self._conn._execute(fn, *args, **kwargs)
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\aiosqlite\core.py", line 137, in _execute
return await future
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\aiosqlite\core.py", line 110, in run
result = function()
sqlite3.OperationalError: near ",": syntax error

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

Traceback (most recent call last):
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\bot.py", line 1114, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 375, in invoke
await injected(ctx)
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 132, in wrapped
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: OperationalError: near ",": syntax error```

civic granite
#

@wise stone Nochmal danke dir für die Hilfe
Hab es soweit schon mal hinbekommen dass er es mir anzeigt..
Allerdings nur den ersten Satz
Ich weiß auch nicht wie ich das abdefinieren soll dass nur ein bestimmter Satz kommt

Da die Kundennr öfters vorkommen kann, der Artikel und die Menge auch

#

Wie kriege ich das hin?

#

Hätte noch bestdat wo auf das heutige Datum mit der jetzigen Zeit bzw der Zeit und das datum wo die Bestellung aufgegeben wurde

#

Kann ich damit irgendwie arbeiten?
das Feld ist halt vom Typ TIMESTAMP

lucid furnace
civic granite
#

Okay alles gut habs hinbekommen

tawdry leaf
#

supi

lucid furnace
tawdry leaf
#

da haste wohl ein komma wo keins hin kommt gemacht

civic granite
#

Eine Frage:

Wie formatiere ich es in Python dass es folgender maßen aussieht:

Test

#

Fett sind 2 Sterne

civic granite
#

Ahh danke

lucid furnace
#

wie macht man diesen strich vor ner nachricht

civic granite
#

Mag er nicht D:

lucid furnace
#

Hi<<<

civic granite
#

Nur die >>>

lucid furnace
#

Hi

civic granite
#

Und dann eine Leerstelle

lucid furnace
#

Aso

tawdry leaf
#

och mensch

tawdry leaf
#

ohne

civic granite
#

Bei Discord ja

tawdry leaf
#

ja bei discord ist was komplett anderes

civic granite
#

Bei Python egal ob mit oder ohne mag er nich konvertieren

tawdry leaf
#

:|:|

#

mensch

lucid furnace
# tawdry leaf joa also error siehst du

code py @slash_command(description=("Display what a user has bought")) async def displaybuyer(self, ctx, member: Option(discord.Member)): async with aiosqlite.connect(self.db) as db: async with db.cursor() as cursor: await cursor.execute("SELECT user_id, bought, date, proof FROM purchases WHERE user_id, bought, date, proof = ?", (member.id,)) result = await cursor.fetchone() bought = result[1] date = result[2] proof = result[3] if result: embed=discord.Embed(title=f"{member.mention}", description=f"{member.mention} Buyer info:\n\n", color=discord.Color.blue()) embed.add_field(name=f":dot:Member: {member} | {member.id}") embed.add_field(name=f":dot:Bought: {bought}") embed.add_field(name=f":dot:Date: {date}") embed.add_field(name=f":dot:Proof: {proof}") embed.set_footer(text="Made by vEmoGranny#3075 for Ice Generator♥")

#

weil ich check nicht wo

tawdry leaf
#

wieso dahinter ein komma

civic granite
tawdry leaf
#

??????????????

lucid furnace
#

müssen da nd 2 parameters sein

tawdry leaf
#

beispiel

civic granite
#

Hm mag er komischerweise bei mir nicht

civic granite
lucid furnace
civic granite
tawdry leaf
#

sowas geht nd

civic granite
#

Hm blöd

tawdry leaf
#

geht nur ganz vorne

lucid furnace
#

Menge: >>> Menge

tawdry leaf
#

siehste

lucid furnace
#

guck geht nd

tawdry leaf
#

😮

civic granite
#

Naja danke dir/euch
Muss mir was anderes überlegen

lucid furnace
#

😮

lucid furnace
# tawdry leaf jo

error ```Ignoring exception in command displaybuyer:
Traceback (most recent call last):
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 978, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Dev\Flixer Buyer Bot\cogs\AddUser.py", line 27, in displaybuyer
await cursor.execute("SELECT user_id, bought, date, proof FROM purchases WHERE user_id, bought, date, proof = ?", (member.id))
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\aiosqlite\cursor.py", line 37, in execute
await self._execute(self._cursor.execute, sql, parameters)
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\aiosqlite\cursor.py", line 31, in _execute
return await self._conn._execute(fn, *args, **kwargs)
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\aiosqlite\core.py", line 137, in _execute
return await future
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\aiosqlite\core.py", line 110, in run
result = function()
sqlite3.OperationalError: near ",": syntax error

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

Traceback (most recent call last):
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\bot.py", line 1114, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 375, in invoke
await injected(ctx)
File "C:\Dev\Flixer Buyer Bot\venv\lib\site-packages\discord\commands\core.py", line 132, in wrapped
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: OperationalError: near ",": syntax erro```

#

` code py @slash_command(description=("Display what a user has bought")) async def displaybuyer(self, ctx, member: Option(discord.Member)): async with aiosqlite.connect(self.db) as db: async with db.cursor() as cursor: await cursor.execute("SELECT user_id, bought, date, proof FROM purchases WHERE user_id, bought, date, proof = ?", (member.id)) result = await cursor.fetchone() bought = result[1] date = result[2] proof = result[3] if result: embed=discord.Embed(title=f"{member.mention}", description=f"{member.mention} Buyer info:\n\n", color=discord.Color.blue()) embed.add_field(name=f":dot:Member: {member} | {member.id}") embed.add_field(name=f":dot:Bought: {bought}") embed.add_field(name=f":dot:Date: {date}") embed.add_field(name=f":dot:Proof: {proof}") embed.set_footer(text="Made by vEmoGranny#3075 for Ice Generator♥")

tawdry leaf
#

weiß ich

lucid furnace
#

ja aber dieses komma weg machen bringt nix

tawdry leaf
lucid furnace
#

ich hab schon

tawdry leaf
#

ich denke nicht

lucid furnace
#

ay ich frag eif chatgpt

tawdry leaf
#

so lernst du viel

lucid furnace
#

naja gpt hat mir gesagt du kannst keine kommans bei dem

"SELECT user_id, bought, date, proof FROM purchases WHERE user_id, bought, date, proof = ?
haben man muss das so machen
("SELECT user_id, bought, date, proof FROM purchases WHERE user_id = ? AND bought = ? AND date = ? AND proof = ?", (member.id,))

tawdry leaf
#

und geht es nun xD

lucid furnace
#

nicht wirklich

#

das proof etc soll eingefügt werden wenn ich /addbuyer nutze aber es wird nur die id des members eingefügt

tawdry leaf
#

joa ist doch auch sinn

lucid furnace
#

kann man eig das hier machen date INTEGER DEFAULT TIMESTAMP,

lucid furnace
tawdry leaf
#

okay

lucid furnace
#

wie fixe ich das jz 😭

wise stone
solid ingot
lucid furnace
# wise stone am ende nur `WHERE user_id = ?`.....

das hier ist der neue code py @slash_command(description="Add a user that has bought something out of the shop") async def addbuyer(self, ctx, member: Option(discord.Member), bought: Option(str), date: Option(str), proof: Option(str)): async with aiosqlite.connect(self.db) as db: await db.execute("INSERT INTO purchases (user_id, bought, date, proof) VALUES (?, ?, ?, ?)", (member.id, bought, date, proof)) await db.commit() embed=discord.Embed(description=f"{member.mention} Added with the details of:\n\nMember: {member} | {member.id}\n\nBought: {bought}\n\nDate: {date}\n\nProof: {proof}", color=discord.Color.green()) await ctx.respond(embed=embed)

wise stone
lucid furnace
#

das proof etc soll eingefügt werden wenn ich /addbuyer nutze aber es wird nur die id des members eingefügt

wise stone
lucid furnace
#

?

civic granite
#

Will ja nur einen ganz bestimmten

#

Habs jetzt mit dem Bestelldatum gemacht

#

Funktioniert ohne Probleme da es ja genau zur selben Zeit rausgeht

#

Aber danke dirr

#

So da jetzt schon wieder gleich 1 Uhr is mach ich mal Schluss für heute darf morgen wieder aufstehen
Wünsche euch eine gute Nacht

#

Morgen wird meine erste eigene Wohnung fertig eingerichtet

#

Was Möbel betrifft
Internet und Strom dauert noch 1-2 Tage

lucid furnace
lilac wagon
#

Wie installiert man auf Coding Keks Hosting ffmpeg ?

solid ingot
#

ist vorinstalliert peepolove @lilac wagon

lilac wagon
solid ingot
#

schick mal den error, an ffmpeg liegt es dann zumindest nicht

tawdry leaf
#

hat er nd post gemacht?

lilac wagon
#

Es kommt kein error ich starte den bot und der kommt nicht in channel rein und Musik abspielen

tawdry leaf
#

schade

lilac wagon
#

Ja

tawdry leaf
#

also liegt nd am host

civic granite
#

Ouh das wäre auch noch interresant:

Kann man einen normalen Bot machen
Und zusätzlich mit dem selben Bot einen Radiochannel einbauen?

#

Soweit ich weiß ging das bei discord.py nämlich nicht

lilac wagon
#

Kann es nicht mal testen weil es keine verbindung findet zum server

solid ingot
#

hm, vlt kurz warten

#

also der @lusty plaza bot geht noch, der läuft auch über keks hosting

lilac wagon
#

ist aber schon seit 8 minuten so

tawdry leaf
#

seite neuladen einf mal

civic granite
lilac wagon
civic granite
#

Cool das ist gut danke dir
So jetzt wirklich gute Nacht 😂

lilac wagon
#

Was soll man machen wenn der server keine verbindung mehr erstellen kann zum server ?

lucid furnace
#

yessss habs geschafft

tawdry leaf
#

supa

grave sand
#

hey, hab ein problem habe in meinem code eine slashcommandgroup und habe in discord bei integrationen den zugriff von nur bestimmten kanälen eingestellt aber trotzdem kann ich die slash commands von jedem kanal aus ausführen, ist das weil ich der owner des servers bin?

solid ingot
#

ja genau, der owner kann die commands immer überall nutzen

grave sand
#

Achso danke.

manic tusk
#

Wie macht man an ein Embed eine Reaction das wenn man die Reaction drückt eine Rolle bekommt?

wise stone
lilac wagon
#

Hallo, habe auf einmal eine neue funktion aber was bringt die wen ich drauf drücke passiert nichts

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @lilac wagon, du bist jetzt Level 6 🎉

Du hast insgesamt 88 Nachrichten geschrieben.

lilac wagon
#

Wie kann man bei Coding Keks Hosting wieder sachen entfernen also pip install discord.py und wie entfernt man es wieder ?

solid ingot
#

die packages musst du aus der requirements.txt Datei entfernen

#

und evtl musst du den Cache Order und den local Ordner löschen

lilac wagon
#

okay

ocean sandal
#

Ich möchte es zufällige Abfrage von den Questions machen und schauen ob es richtig ist. Wenn es nicht zufällig ist funktioniert es, aber so nicht.

solid ingot
#

kannst du kurz beschreiben was aktuell ausgegeben wird, und was ausgegeben werden soll?
wieso übergibst du der check methode hier die korrekte antwort nicht?

ocean sandal
#

er gibt nur das die random Zahl aus (print(random_number()))

solid ingot
#

hm, was anderes kann auch gar nicht passieren, die question() funktion wird nirgends aufgerufen

ocean sandal
#

uff

#

hats schonmal verbessert, aber es für nur 3 mal Fehler ausgegeben.

lucid furnace
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @lucid furnace, du bist jetzt Level 20 🎉

Du hast insgesamt 1,515 Nachrichten geschrieben.

Du hast <@&1032922136068763718> erhalten!

lucid furnace
#

Oi lvl 20

lilac wagon
manic tusk
#

Wie macht man das nur bestimmte Rollen ein Command ausführen können?

solid ingot
#

bei slash commands kannst du das in den server einstellungen festlegen

lucid furnace
#

ist es möglich etwas wie sowas hier zu machen, wenn der user was gekauft hat zb kekse dan hab ich etwas das sagt das hier

Member: Member | Member.id
Bought: Kekse
date: Datetime
proof: google.com
Payment Method: PayPal

aber was wenn der user noch was kauft dan ist der user in der db und ein fehler kommt der sagt der user ist schon in der db aber wie mache ich es das es dan so hier ist

Member: Member | Member.id
Bought: Kekse, Schoko Kekse
date: Datetime, Datetime
proof: google.com, google.com
Payment Method: PayPal, Visa

#

geht sowas

lucid furnace
#

geile antwort kappa 💀

solid ingot
#

hab geduld

#

du musst mehrere einträge in die DB machen wahrscheinlich

lucid furnace
#

mit user_id2 usw

#

oder wie

solid ingot
#

kommt drauf an wie du deine DB aufgebaut hast. einen primary key kannst du immer nur einmal einfügen

lucid furnace
#

also wichtig wichtig

solid ingot
#

ja

lucid furnace
solid ingot
#

damit jeder wert eindeutig ist

lucid furnace
# solid ingot damit jeder wert eindeutig ist

hmm ok dan könnte ich nicht eine neue file machen mit den gleichen namen nur mit ner 2 und dan alle commands mit ner 2 enden lassen und die db auch ne 2 ran packen dan würde das auch so gehen oder nd

solid ingot
#

hm keine ahnung wieso der andere nicht geht

tawdry leaf
#

xD

#

slq

solid ingot
#

oha ich hab das von nikos kopiert, der ist schuld

limpid wolf
#

Bruh egal haha

solid ingot
#

das werde ich dir nie verzeihen

limpid wolf
#

Oha

#

Jetzt bin ich traurig timo du Blödman

lucid furnace
solid ingot
#

dann stell die frage doch einfach statt mich zu pingen

lucid furnace
#

ok, ehm kann man in einem def init(self, bot) self.log = self.bot.fetch_channel(channel id) rein packen

#

und dan zb await self.log.send("Test")

solid ingot
#

nein, await kannst du in __init__ nicht nutzen

lucid furnace
#

kann ich dan ganz oben irgendwie log = bot.fetch_channel() machen

solid ingot
#

on_ready würde gehen

#

da fehlt aber das await

lucid furnace
#

wie meinst du on_ready würde gehen

dense magnet
tawdry leaf
tawdry leaf
restive herald
#

Hey, ich hab folgendes Problem:

Ich habe eine DB erstellt die die Server_id und die Category_Id speichert, die wird dann ausgegeben und in der Kategorie wird dann das Ticket erstellt. Aber es funktioniert leider nicht, da dieser Error kommt:

discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'NoneType' object has no attribute 'create_text_channel'
(Problem liegt in Zeile 76 das ist die Zeile channel = await category.create_text_channel(f"ticket-{user.name}")

Code:

    @slash_command(description="Create a Ticket")
    @discord.guild_only()
    async def ticket(self, ctx):
        guild_id = ctx.guild.id
        async with aiosqlite.connect(self.DB) as db:
            category_id = await db.execute("SELECT Cat_id FROM channels WHERE server_id  = (?)", (guild_id,))


        guild = self.bot.get_guild(guild_id)
        category = guild.get_channel(category_id)

        user = ctx.author
        channel = await category.create_text_channel(f"ticket-{user.name}")
        await channel.set_permissions(ctx.guild.default_role, read_messages=False)
        await channel.set_permissions(ctx.author, read_messages=True)
        tembed = discord.Embed(
            title=f"Welcome in your Ticket {user.mention}",
            description="Please tell us, why you created the Ticket",
            color=discord.Colour.green())
        tembed.set_footer(text="Project X")

        await channel.send(embed=tembed)

solid ingot
#

die kategorie wird anscheinend nicht gefunden. prüfe am besten mit prints, ob du die richtige ID lädst

dense magnet
restive herald
#

Und hier werden die ausgegeben


    @slash_command(description="Create a Ticket")
    @discord.guild_only()
    async def ticket(self, ctx):
        guild_id = ctx.guild.id
        async with aiosqlite.connect(self.DB) as db:
            category_id = await db.execute("SELECT Cat_id FROM channels WHERE server_id  = (?)", (guild_id,))


        guild = self.bot.get_guild(guild_id)
        category = guild.get_channel(category_id)
        print(category)

        user = ctx.author
        channel = await category.create_text_channel(f"ticket-{user.name}")
        await channel.set_permissions(ctx.guild.default_role, read_messages=False)
        await channel.set_permissions(ctx.author, read_messages=True)
        tembed = discord.Embed(
            title=f"Welcome in your Ticket {user.mention}",
            description="Please tell us, why you created the Ticket",
            color=discord.Colour.green())
        tembed.set_footer(text="Project X")

        await channel.send(embed=tembed)
        await channel.send(view=CloseTicketView())
        await ctx.respond(f"Your Ticket is Created {user}, show {channel}", ephemeral=True)




tawdry leaf
#

wieso benutzt du nicht einf discord.CategoryChannel?

lucid furnace
#
  File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 774, 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:\Dev\Flixer Buyer Bot\cogs\AddUser.py", line 8, in <module>
    log = self.bot.fetch_channel()
NameError: name 'self' is not defined

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

Traceback (most recent call last):
  File "C:\Dev\Flixer Buyer Bot\main.py", line 51, in <module>
    print_percent_done(i,r)
  File "C:\Dev\Flixer Buyer Bot\main.py", line 47, in print_percent_done
    load()
  File "C:\Dev\Flixer Buyer Bot\main.py", line 25, in load
    client.load_extension(f"{folder.replace('/', '.')}.{file[:-3]}")
  File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 910, in load_extension
    self._load_from_module_spec(spec, name)
  File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 777, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.AddUser' raised an error: NameError: name 'self' is not defined```
#

code ```py
@slash_command(description="Add a user that has bought something out of the shop")
#@commands.has_role('~')
async def addbuyer(self, ctx, member: Option(discord.Member), bought: Option(str), proof: Option(str), payment_method: Option(str)):
if not member:
await ctx.respond("Please specify a member.")
return
async with aiosqlite.connect(self.db) as db:
await db.execute("INSERT INTO purchases (user_id, bought, proof, payment_method) VALUES (?, ?, ?, ?)", (member.id, bought, proof, payment_method))
await db.commit()
embed=discord.Embed(description=f"{member.mention} Added with the details of:\n\nMember: {member} | {member.id}\n\nBought: {bought}\n\nProof: {proof}", color=discord.Color.green())
embed.set_footer(text="Made by vEmoGranny#3075 for Ice Generator♥")
if member.avatar:
embed.set_thumbnail(url=member.avatar.url)
log = await self.bot.fetch_channel(self.channel)
log_embed = discord.Embed(title=f"AddBuyer Command", description=f"AddBuyer command used by {ctx.author.mention}", color=discord.Color.red())
log_embed.add_field(name=f"If {ctx.author.mention} is not aloud to use this command, please report this to the owner", value="\n", inline=False)
log_embed.set_footer(text="Made by vEmoGranny#3075 for Ice Generator♥")
await log.send(embed=log_embed)
await ctx.respond(embed=embed)

#

nvm bin eif dumm

civic granite
#

Hey hey hab da mal wieder ein Problem:

Bin dabei den Radio Bot zu erstellen aber bekomme irgendwie nen Fehler kann mir da jemand helfen?

lucid furnace
#

wo für ist dieses def setup(bot: discord.Bot)

#

und oben auch

wise stone
#

Mein Discord Server
https://discord.gg/zfvbjTEzv6

Links aus diesem Video
FFMPEG ► https://ffmpeg.org/download.html
I Love Radio ► https://ilovemusic.de/streams

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot

PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https://guide....

▶ Play video
wise stone
lucid furnace
wise stone
#

ne

lucid furnace
#

was macht es den so wichtig

solid ingot
lucid furnace
solid ingot
#

wenn du zum beispiel bot und dann ein punkt eingibst, werden dir die attribute angezeigt, die der bot hat

civic granite
#

Eins zu eins abgeschrieben

#

Funktioniert nicht

#

Warum

#

Er tritt mir auch bei und alles gut

#

Aber spielt nix ab

#

Sonden kommt der Fehler

vivid sky
#

Warum wird der Button nicht disabled?

        view = discord.ui.View(timeout=None)
        button3 = discord.ui.Button(label="Begrüßen", style=discord.ButtonStyle.green, emoji='![hello](https://cdn.discordapp.com/emojis/1093641780710342797.webp?size=128 "hello")')
        
        async def call1(interaction):
            await interaction.response.send_message(f'{interaction.user.mention} heißt {member.mention} Herzlich Willkommen')
            button3.disabled = True

        button3.callback = call1
        view.add_item(button3)
solid ingot
#

du musst die nachricht noch bearbeiten

vivid sky
#

stimmt mit await interaction.response.edit_message(view=self) oder?

civic granite
#

Traceback (most recent call last):
File "C:\Users\Janek Klick\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 1114, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Users\Janek Klick\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 375, in invoke
await injected(ctx)
File "C:\Users\Janek Klick\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 132, in wrapped
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'NoneType' object has no attribute 'channel'

restive herald
civic granite
#

Hey hey hab noch ne Frage:

Es geht um den Radio Bot:

Kann man auch eigene mp3 Dateien abspielen lassen?
Wenn ja wie?

#

Und wenn ja kann man das auch loopen?

lucid furnace
#

eigene mp3 datein spielst du denke ich ab wie man das immer macht

civic granite
#

Ich meine beim Discord Bot..

lucid furnace
#

ja

civic granite
#

Hab es schon mit dem Pfad von der Datei versucht das mag er nicht

lucid furnace
#

die mp3 datei musst du aber erst in code packen

#

also den pfad dazu

#

weiss wer warum ich das krieg

tawdry leaf
mystic flower
restive herald
tawdry leaf
mystic flower
tawdry leaf
mystic flower
tawdry leaf
#

😦

tawdry leaf
tawdry leaf
#

ja möglich immer

restive herald
tawdry leaf
#

musst halt des dann zur id noch machen

restive herald
#
category_id = category.id

dann oder was

tawdry leaf
#

also alle die auf einem server online sind meinst

restive herald
#

hab jtzt

@slash_command(description="Needed for Ticket-Using!")
    @discord.guild_only()
    @commands.has_permissions(administrator=True)
    async def tsetup(self, ctx, category: Option(discord.CategoryChannel, "The Category where you want your Tickets!")):
        category_id = category.id
        

Klappt aber immer noch nd

mystic flower
#
    for user in ctx.guild.members:
        if user.status == discord.Status.online:```glaube so
tawdry leaf
#
[len(list(filter(lambda m: str(m.status) == "online", ctx.guild.members)))
mystic flower
tawdry leaf
mystic flower
mystic flower
tawdry leaf
#

brauchst des andere trz noch @restive herald

restive herald
tawdry leaf
#

ja

mystic flower
restive herald
# mystic flower Also jetzt nochmal als frage: 1.Ist der ganze code vom command oder nicht? 2. Ko...

nope is nd der ganze code der ganze is

    @slash_command(description="Needed for Ticket-Using!")
    @discord.guild_only()
    @commands.has_permissions(administrator=True)
    async def tsetup(self, ctx, category: Option(discord.CategoryChannel, "The Category where you want your Tickets!")):
        category_id = category.id
        print(category_id)
        guild_id = ctx.guild.id
        sembed = discord.Embed(
            title="Ticket System was set up!",
            description=f"{ctx.author} had set the Ticket System up!",
            colour=discord.Colour.nitro_pink()

        )
        sembed.add_field(name="**Guild-Id**", value=f"{guild_id}")
        sembed.add_field(name="**Category where the Tickets are sent**", value=category_id)
        sembed.set_author(name="Project X | Ticket")
        sembed.set_thumbnail(url=ctx.author.avatar.url)
        sembed.set_footer(text="Project X | Tickets")

        async with aiosqlite.connect(self.DB) as db:
            try:
                await db.execute("INSERT INTO channels (server_id, Cat) VALUES (?, ?)", (guild_id, category_id))
                await db.commit()
                await ctx.author.send(embed=sembed)
                await ctx.respond("Done, check your DM's!")


            except:
                await ctx.respond(
                    "You already registered your Server in the Ticket-Setup! If you want to change the Category, please contact the Bot Staff. You can come to our Discord with /dc",
                    ephemeral=True)
                return

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @restive herald, du bist jetzt Level 6 🎉

Du hast insgesamt 110 Nachrichten geschrieben.

tawdry leaf
#

Das Englisch Wort für abwesend

mystic flower
#

dnd

#

nvm

civic granite
tawdry leaf
#

Schaue dir gerne dazu ein Video an

civic granite
#

Kannst mir eins empfehlen ^^

lucid furnace
#

wie kan ich es so machen sagen wir ich hab ein command der ein key generiert und du kannst sagen /gen_key num_keys:10 hours: 96 und die hours stehen dafür wie lange der code geht aber wenn ich 10 codes gene dan haben alle das gleiche expiry date, aber wie mache ich es so das alle codes einen expiry day abstand haben von 96hours

civic granite
#

Also dass man für 96 Stunden den Command nicht mehr usen kann?

lucid furnace
#

ne

#

ich gene 10keys mit dem gleichen datum aber sie sollen einen abstand haben von 96std

civic granite
#

Puh da hänge ich auch noch an so ner ähnlichen Situation

#

Hab ja ein bestelldatum und ein lieferdatum soll 3 Tage nach dem Bestelldatum sein

lucid furnace
#

also
1st key XXXX XXXX XXXX 4.4.23
2nd Key XXXX XXXX XXXX 4.4.23

aber es soll so sein
1st key XXXX XXXX XXXX 4.4.23
2nd Key XXXX XXXX XXXX 8.4.23

civic granite
#

Da muss ich auch noch gucken wie ich auf das jetzige Datum 3 Tage addieren kann

civic granite
#

Was hast denn überhaupt für ein Projekt vor wenn ich fragen darf

civic granite
restive herald
#

Hey, ich will mit einem button einen channel erstellen aber dieser error kommt:
Ignoring exception in view <CreateTicketView timeout=None children=1> for item <Button style=<ButtonStyle.danger: 4> url=None disabled=False label='Create Ticket' emoji=None row=None>:
Traceback (most recent call last):
File "/Users/konjarehm/PycharmProjects/dbtest/venv/lib/python3.10/site-packages/discord/ui/view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "/Users/konjarehm/PycharmProjects/dbtest/cogs/Setup.py", line 75, in Create
channel = await interaction.guild.create_text_channel(
File "/Users/konjarehm/PycharmProjects/dbtest/venv/lib/python3.10/site-packages/discord/guild.py", line 1263, in create_text_channel
data = await self._create_channel(
File "/Users/konjarehm/PycharmProjects/dbtest/venv/lib/python3.10/site-packages/discord/guild.py", line 1152, in _create_channel
parent_id = category.id if category else None
AttributeError: 'int' object has no attribute 'id'

#

Code:

    @discord.ui.button(label="Create Ticket", style=discord.ButtonStyle.red)
    async def Create(self, button: discord.ui.Button, interaction: discord.Interaction):
        await interaction.response.send_message("Ticket created", ephemeral=True)
        channel = await interaction.guild.create_text_channel(
            name=f"ticket-from-{interaction.user}",
            topic=f"Ticket from {interaction.user}",
            category=self.category
        )
        tembed = discord.Embed(
            title=f"Welcome in your Ticket {interaction.user.mention}",
            description="Please tell us, why you created the Ticket",
            color=discord.Colour.green())
        tembed.set_footer(text="Project X")
        await channel.send(embed=tembed, view=CloseTicketView)


peak prawn
#


@bot.command()
async def status(ctx, user_id: int):
    member = await bot.fetch_user(user_id)
    activity = member.activity
    if activity:
        await ctx.send(f"{member.display_name}'s current status is '{activity.name}'.")
    else:
        await ctx.send(f"{member.display_name} is not currently doing anything.")


lucid furnace
#

das gleiche in einem on ready packen

#

ka

limpid wolf
tawdry leaf
limpid wolf
#

Nee Motten die im Essen Chillen

#

Nicht so lecker

tawdry leaf
#

ne

#

würde ich direkt nicht hinziehen

limpid wolf
#

Die haben überall in jeder ecke verfickte eier gelegt ich könnte heulen

tawdry leaf
#

da will doch keiner wohnen

limpid wolf
#

Mal sehen was draus wird

tawdry leaf
#

dir ist bewusst wenn da einmal welche sind kommen die wieder egal wie oft der Kammerjäger die entfernt..

limpid wolf
#

Ah + wir haben nh Kündigung bekommen (vor 2 Jahren) das heißt wir müssen aus unserer jetzigen Wohnung raus

tawdry leaf
#

ah glaube wir sind im falschen channel

limpid wolf
#

Juckt

#

Hier is wenigstens kein Cooldown

limpid wolf
#

Und die küche + der boden müssen dann halt raus gerissen werden

#

Und wir klagen die vormieter auf Schadensersatz an

tawdry leaf
#

ach

tawdry leaf
limpid wolf
#

Mal sehen was draus wird :/

tawdry leaf
#

gibt es das bald als rpg 👀

limpid wolf
# tawdry leaf gute Harmonie

So viel Abstand wie wir gezahlt haben für die Wohnung ist das echt unmöglich.. und die müssen von denen gewusst haben so viele wie das sind

#

Tja

#

Jetzt sind wir gebumst

tawdry leaf
#

ja

#

kann ich des story game spielen 🙂

limpid wolf
#

Ne

tawdry leaf
#

manno

limpid wolf
#

Oder doch:
Real life

#

Lol

tawdry leaf
#

😮

#

Ich bin der Kammerjäger

wise stone
#

du machst eine Task Loop die den Status abfrägt...

#

wenn es true ist gibt's du die Rolle ansonsten ein Else und nen pass

#

brauchst du die Docs dazu für member Status oder findest du diesen selber?

solid ingot
#

leute das hier ist der help kanal

solid ingot
limpid wolf
#

#

bruhh

#

lol

#

😄

tawdry leaf
solid ingot
#

selbst schuld GHpeepoShrug

tawdry leaf
#

eyy nicht so gemein

#

mein userinfo button geht nd 😦

tawdry leaf
#

welcher

civic granite
#
import aiosqlite
from discord.ext import commands
from discord.commands import slash_command, Option
import discord
from datetime import datetime, timedelta


class Mod(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.DB = "kunden.db"

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

        @slash_command(description="Kicke einen Nutzer!")
        async def kick(self, ctx, Member: Option(discord.Member, "Wähle einen Nutzer aus, der gekickt werden soll!")):
            await Member.kick()
            await ctx.respond(f"{Member.mention} wurde gekickt!")

        @commands.Cog.listener()
        async def on_application_command_error(self, ctx, error):
            await ctx.respond(f"Ups... Da ist etwas schiefgelaufen! Bitte versuche es erneut! Fehler: {error}")

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

Kann es sein dass der Code veraltet ist?

#

Oder hab ich mir da irgendwas falsch zusammen gebastelt?

solid ingot
#

der code funktioniert bei mir noch

urban glen
#

Fortnite

civic granite
#

Und das funktioniert auch nicht
Es wird zwar gelöscht wenn es von der richtigen Person ist aber wenn es jemand anderes versucht zu löschen dann macht er es natürlich nicht aber es wird trotzdem geantwortet dass er es gelöscht haben soll

solid ingot
#

@civic granite schreibe deine probleme bitte immer nur einmal und nicht in fremde posts

civic granite
#

Ja tut mir leid hab mich da vertan hab da vorhin schon was gesucht und war noch in dem Post drin dachte aber ich wäre im allgemeinen

civic granite
lucid furnace
#

Hallo, ich hab nh simple frage wie starte ich eine task, also eigentlich doch in einem on_ready event mit task_name.start()

tawdry leaf
lucid furnace
#

?

solid ingot
#

ja, oder in cogs mit self.task_name.start()

urban glen
#

ja

#

der in den "cogs"

lucid furnace
#

oh, daran liegt es

solid ingot
lucid furnace
#

ey ich hab so ein weirden bug in den terminals

tawdry leaf
civic granite
#

Ja okay aber das ändert ja nichts an der funktionalität im normalfall

lucid furnace
#

wenn ich strg + c drücke sollte ja das abgebrochen werden aber bei mir macht er es nicht

civic granite
#

Also ich denke mal es liegt daran dass die sql immer ausgeführt wird
Und es daher gar nicht zum except kommt

#

Wie kann ich das noch lösen es muss ja irgendwie ne Möglichkeit geben

lucid furnace
#

also bei dem ist es so

tawdry leaf
#

wieso denn einf nd auf des rote quadrat 😮

lucid furnace
#

weill ich das terminal noch brauch

civic granite
lucid furnace
#

ich will den bot ja nochmal starten

tawdry leaf
#

brainfuck

lucid furnace
tawdry leaf
#

die reichen 🙂

tawdry leaf
lucid furnace
#

aber ich nutze grad das CMD Prompt

tawdry leaf
#

schwu

#

😄

lucid furnace
#

ne ist eif besser und übersichtlicher

tawdry leaf
#

hmmm

lucid furnace
#

@civic granite wie machst du das mit dem datum wo du 3 tage druaf addierst

tawdry leaf
#

dann heul nd xD

lucid furnace
tawdry leaf
#

tut macht das auto

lucid furnace
tawdry leaf
#

sei mal nd so gemein ja

#

😦

civic granite
lucid furnace
tawdry leaf
#

steht das so da 😮

lucid furnace
#

boah sag doch eif ja oder Nein das ist doch nd schwer oder

#
Traceback (most recent call last):
  File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ext\tasks\__init__.py", line 169, in _loop
    await self.coro(*args, **kwargs)
  File "C:\Dev\Flixer Buyer Bot\cogs\Key.py", line 121, in check_codes
    today = datetime.date.today()
AttributeError: 'method_descriptor' object has no attribute 'today'``` was das hab das noch nie bekommen
tawdry leaf
#

omg

tawdry leaf
lucid furnace
tawdry leaf
#

du bist seit heute früh hier am gammeln lern mal bisschen und frag nd jedes mal nach

lucid furnace
#

ich bin nicht der einzige

tawdry leaf
#

macht trz kein Unterschied

lucid furnace
#

nerv nd und heul nd

tawdry leaf
#

du bist der der hilfe braucht 🙂

lucid furnace
tawdry leaf
#

ja weil du sachen fragst die einf unnötig sind weil man die einf wissen müse

lucid furnace
#

so das hier ist ein hilfe chat geh zu #💬・chat wenn du diskuitieren willst

civic granite
tawdry leaf
tawdry leaf
civic granite
#

Es kommt ja auch keine Fehlermeldung von dem her passt es schon

#

Aber irgendwie muss es doch die Möglichkeit geben.. oder nicht..?

tawdry leaf
civic granite
tawdry leaf
#

und error?

civic granite
#

Es sollen immer nur die Datensätze/Bestellungen gelöscht werden welche man auch selbst angelegt/bestellt hat

#

Error gibt es keinen

civic granite
#

Nur der Respond noch nicht

#

Er gibt mir IMMER an egal ob es gelöscht werden konnte oder nicht dass er es erfolgreich storniert hat

tawdry leaf
#

glaube bei dem except fehlt was

civic granite
#

Ich hab es auch schon mit except aiosqlite.Error: versucht in der Hoffnung dass die SQL fehlerhaft ist

tawdry leaf
#

ka 🙂

lucid furnace
#
Traceback (most recent call last):
  File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
  File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Dev\Flixer Buyer Bot\cogs\Key.py", line 99, in generate_code
    expiry = days + timedelta(days=4)
TypeError: unsupported operand type(s) for +: 'int' and 'datetime.timedelta'

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

Traceback (most recent call last):
  File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 1114, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 375, in invoke
    await injected(ctx)
  File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 132, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: TypeError: unsupported operand type(s) for +: 'int' and 'datetime.timedelta'```
tawdry leaf
#

@lucid furnace mal nh frage du speicherst doch die zeit in der database oder

lucid furnace
#

ne

#

doch ja

tawdry leaf
#

🤔

#

und als was speicherst du zeit

lucid furnace
#

TEXT

tawdry leaf
#

also zum beispiel timestamp?

#

text hmmm

civic granite
#

Ich nutz Timestamp

#

Würde einfacher gehen

tawdry leaf
#

denke addieren ist mit timestamp einfacher 😅

#

wegen codierung

civic granite
#

Text puh müsste man konvertieren dann addieren dann wieder umkonvertieren

lucid furnace
#

ah ne ich nutze timestamp

tawdry leaf
#

ahja

lucid furnace
#

also wie fix ich den error hab schon pycord docs gesucht

tawdry leaf
#

macht ihr nicht irgendwie des ähnliche 😅

lucid furnace
#

ja

civic granite
#

Nah

#

Ich hab nen Shop vor

tawdry leaf
#

brainfuck

lucid furnace
#

also es hat ähnlichkeiten

tawdry leaf
tawdry leaf
tawdry leaf
#

code?

civic granite
#

Also Leude ich gebs für heute Nacht auf hat keinen Sinn dieser drecks Fehler regt mich so auf bzw dass immer kommt dass es storniert wurde obwohl es gar nicht stimmt

Ich versuche es morgen früh oder mittag mal nochmal wenn ich geschlafen habe

lucid furnace
# tawdry leaf code?
    @slash_command()
    async def generate_code(self, ctx, num_codes: int, days: Option(int, required=False, default=4)):
        char_sets = [
            "2N8F6DDHB",
            "K7Q0JJN05",
            "Q1RTLB943",
        ]
        codes = []
        for i in range(num_codes):
            code = ""
            for j, char_set in enumerate(char_sets):
                if j > 0:
                    code += "-"  # add a space between each set of characters
                code += "".join(random.sample(char_set, k=4))  # randomly select 4 characters from each set
            codes.append(code)

        expiry = days + timedelta(days=4)

            await db.executemany(
                "INSERT INTO codes (code, expiry) VALUES (?, ?)",
                [(code, expiry) for code in codes]
            )
            await db.commit()

        await ctx.respond(f"Generated {num_codes} codes that expire in 4 days each: {', '.join(codes)}")```
civic granite
#

Ein guter Krieger weiß wann die Schlacht verloren ist 😂

lucid furnace
#

haha

tawdry leaf
#

würde mit was einfacheren anfangen 😅

lucid furnace
#

jo ich code weiter und gönn mir das lied "Pink fluffy unicorns dancing on rainbow" 😭

civic granite
civic granite
#

Und ich bin auch relativ gut dabei
Mir fehlen nur noch ein paar Kleinigkeiten

#

Aber wie es nunmal so ist beim programmieren sitzt man manchmal tagelang vor einem Code und denkt sich im Nachhinein ach du scheiße warum bin ich da nicht früher drauf gekommen

tawdry leaf
#

ja aber bei sowas nd bruh

tawdry leaf
#

liegt an der rechnung

civic granite
#

multi-bestellung programmieren

  • bezahlung per bankeinzug, paypal, lastschrift möglich machen

  • extra log channel (bestellungschannel, logs {clear commands, kick, etc})

  • Rabattsystem: je öfter man bestellt desto höher das Bestelllevel desto höher die Rabatte

  • Freundschaftsrabatt (Kai, Lu, Pavel Nadja { freundin von kai}

  • automatischer email versand an die email des kunden mit der bestätigung dass die ware vorrätig ist

  • slashbefehl (/DB) überprüfung der berechtigung

  • ersten 5 kunden das eine mal -10℅ rabatt

  • wenn fertig jubiläumstabatt -10%

  • preis in bestellungs bestätigung

#

Ist nur noch das was fehlt

Der größte Spaß wird es mit der Bezahlfunktion

tawdry leaf
#

bruh sieht aus wie eine excel aufgabe

lucid furnace
civic granite
tawdry leaf
civic granite
#

Oh

#

Das hab ich bisher noch nie verwendet

#

Muss ich mir mal angucken

#

Kannte bisher immer nur except

#

Und except (Fehlermeldung)

lucid furnace
civic granite
#

pycord

tawdry leaf
lucid furnace
#

dan kannst du denke ich bei pycorddocs execption as eingeben

civic granite
#

Da steht aber nix mit Datenbank drin soweit ich weiß

#

Und mag die Docs nich

#

Finde die zu unübersichtlich

lucid furnace
#

same

civic granite
#

Hätte man anders gestalten können

lucid furnace
#

aber manchmal hilfts

civic granite
#

Joa

lucid furnace
civic granite
tawdry leaf
lucid furnace
civic granite
#

Der kennt das auch gar nich..

lucid furnace
#

die ist doch richtig

tawdry leaf
lucid furnace
#

lucky?

tawdry leaf
#

?

lucid furnace
tawdry leaf
lucid furnace
#

oder nd

tawdry leaf
#

ne geht denke bei discord nd bei excel wäre es so xD

civic granite
#

Also bei mir hats so funktioniert:

test = datetime.now() + timedelta(days=3)
tawdry leaf
#

ja so hat er es doch nd

civic granite
#

Wenn er einen TimeStamp als Typ hat dann müsste es eigentlich gehen

#

Er kann anstatt now halt sein anfangsdatum nehmen

lucid furnace
civic granite
#

Mit einer for schleife

#

Oder da der Bot ja eigentlich on is denke ich mal dass es sogar ne while True schleife tut

#

Wenn ein key dazu kommt dann mach +4 hoch

#

Oder bring ich grad shit bei?

lucid furnace
tawdry leaf
#

erstmal langsam anfangen 😐

lucid furnace
tawdry leaf
lucid furnace
#

will ich nd

civic granite
lucid furnace
#

ich will ein key redeemer, key lister und key gener machen

civic granite
#

ich wll shop machen

tawdry leaf
civic granite
#

Das stimmt zählt letztendlich zu den Grundlagen

lucid furnace
#

aber was soll ich jetzt machen ne for schleife oder was

#

was ist das beste und einfachste

#

@tawdry leaf

tawdry leaf
#

ka frag mich nd

#

bruh

lucid furnace
#

ach scheiss drauf mit dir kann man nd reden

tawdry leaf
#

🙂

lucid furnace
vivid sky
#

Kann da wer helfen?

Ignoring exception in on_ready
Traceback (most recent call last):
  File "/home/container/.local/lib/python3.10/site-packages/discord/client.py", line 377, in _run_event
    await coro(*args, **kwargs)
  File "/home/container/commands/Welcome.py", line 34, in on_ready
    view.add_item(modal())
  File "/home/container/.local/lib/python3.10/site-packages/discord/ui/view.py", line 287, in add_item
    raise TypeError(f"expected Item not {item.__class__!r}")
TypeError: expected Item not <class 'commands.Welcome.modal'>
#

nvm timos video weiter geholfen