#Allgemeine Hilfe
1 messages · Page 28 of 1
timo
.
Oder Prefix
ist ja ez
musst nur ein channel definieren und dann channel.send
hat timo aber auch erklärt in seinem video
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github
► https://github.com/tibue99/tutorial-bot
Tutorial Playlist
► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Discord Developer Portal
► https://discord.com/developers/applications
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/i...
ah wait
schau dir das an ;)
ig ich habe das die ganze zeit nur net ausprobiert den cmd
ich habe den channel gefetch
danke :))
:)
oder was du auch machen kannst ist await ctx.send
Ja du kannst das doch einfach in die andere On Ready mit rein schreiben??
Kann man irgendwie machen das nur eine Bestimmte Person die Nachricht vom Bot sieht?
ephemeral=True geht ja nur bei einem slash command
geht nur bei /cmds ephemeral = True i guess
Also kann man nicht die Nachricht nur für eine Person anzeigen?
okey dann mach ich das die person privat message bekommt
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?
ja, das kannst du mit einer datenbank machen, zb mit sqlite
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
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
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...
hier bobby das ist genau dein error
wenn du bei sqlite einen integer primary key hast zählt der automatisch hoch, generell empfehle ich https://sqlbolt.com/ zum sql lernen
SQLBolt provides a set of interactive lessons and exercises to help you learn SQL
Hab jetzt als Primary die USER ID genommen
so gehts auch
wie muss ich das bei einem Embed einnfügen?
nach den yaml muss du ein \n damit du in die nächste Zeile kommstpy \n
wenn man ein levelsystem nur für seinen server macht braucht man keine datenbank oder?
Glaub schon aber ich weiss es nicht ganz
kann man aber nicht empfehlenswert
weshalb?
nach Neustart sind die Daten weg wenn du die lediglich Zwischenspeichers
Ich verstehe es nicht ich habe die vaulue nirgents vorher geused
Ist #💻・cookie-hosting gratis?
Danke
Ach kein Problem 😌
Wie muss man das dann verlängern?
welche Datein muss ich dort hochladen?
Deine bot datein
also main.py und den cogs Ordner
Ja
Und .env
Danke
Und deine ganzen commands in cogs order machen
danke
in diesem fall nicht
hab den in der main datei
aber hab ne idee wie ich das in nen cog mach thx
hey, was steht davor für ein error?
da steht der Fehler drjn...
dein cogs ordner wird nicht gefunden
Der gleiche Error kommt wieder.
dann wird dein cogs ordner immer noch nicht gefunden
schick vlt mal deine dateistruktur
Grr ich wurde gepingt?

sorry, war unabsichtlich. Habe es deswegen gleich gelöscht
also die orderstruktur sieht schonmal gut aus
wie kann ich den Fehler beheben?
gute frage, weiß ich aktuell auch nicht
@reef wing schick Mal bitte den Code wo er die cogs lädt
Code nicht Dateien...
ich mache einen eigenen Post
was kann ich machen das meine Cpu aufm server nicht immer so viel leistung zieht
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
?
Du kannst folgende Level-Rollen erhalten.
Level 2
Level 5
Level 10
Level 15
Level 20
Level 25
Level 30
Level 35
<@&1042123300970696705>
<@&1024276691205496872>
<@&1032921984612433952>
<@&1024276907136663562>
<@&1032922136068763718>
<@&1036805482217746523>
<@&1024277010593366017>
<@&1032922470673547274>
wo fügst du die daten denn ein?
damit ersetzt du die alte bestellung wenn du eine neue einfügst
Ja aber wie kann ich das ändern dass es das nicht tut=
?
Anstatt Update Insert nehmen?
Jetzt hab ich es mir zerschossen..
ja genau mit insert
schau dir nochmal die syntax von insert an, und wenn du irgendwo where hast, brauchst du AND statt komma
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
ja das stimmt mein fehler, aber where kannst du in einem insert statement gar nicht nutzen
ja ich denke schon
wie macht man das untere built in weg
bzw alle / commands von discord selbst
Soweit ich weiß gar nicht es ist eine Allgemeine Discord Funktion.
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
du meinst
if reason is None:
reason = "Keinen Grund Angegeben."
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
also dass da statt None einfach das field Reason gar nicht gibt
aber wenn ich als reason test mache, das field doch da ist
ja wie ich oben gemacht habe "Keinen Grund Angegeben."
mach einfach in der Option py default="Keine gründe angegeben"
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?
if reason is Not None
embed.add_field(name="Reason", value=reason, inline=False)
jo das wollte ich, danke
dieses Not wäre in java !=null und das wusste ich nicht
achso
kannst du das if statment nicht über dem embed machen und den name in {reason} machen?
welchen namen
embed.add_field(name="Reason")
habe ich doch? oder was meinst du
hier
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?
Aber warum die {} ?
Schick trotzdem Mal den code
kann sein das ich den selbst gefixxt habe einen moment
Und wie muss ich das machen..
Jo
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..
ctx.respond statt channel.send
du musst noch ein ctx.respond einfügen
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

denk aber daran dass dein "message" parameter trotzdem kein message objekt ist, sondern vom typ ApplicationContext ist
Das wiederum heißt?
wenn ich ctx.respond mache wird ctx rot unterstrichen
ja du musst es mit "message" umwandeln also
(self, ctx, artikel, menge):

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
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
was willst du den damit erreichen?
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
naja, der primary key muss ja immer unterschiedlich sein, also nein
keine ahnung, ich will einfach dass die fehlermeldung weggeht und der command funktioniert um ehrlich zu sein
verstehe deine frage nicht ganz
Ah shit ja aber dachte man setzt den Primary Key mit Default auf zb 100 und dass er dann ab 100 hoch zählt
Wäre das irgendwie möglich?
also hochzählen geht, aber ich weiß nicht ob das ab einem bestimmten wert geht
Hm okay danke dir
Kannst mir hier vllt noch kurz helfen 😅
@solid ingot
Bitte nicht Pingen
BRUH
Hab ausversehen selber gepingt sry
ne hast nur hydra gepingt
Mein ich ja
Oh sorry
hä leute pingen juckt doch keinen menschen außer fame leute
Kann mir jemand bei helfen?
Es geht um das
Ich hab absolut kein Plan wie ich das lösen soll
Alles gut mich darf man pingen
Hallo?
Bobby? 😅
was?
timo kennt sich mehr damit aus
Der schläft glaub schon 😦
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```
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?
bei discord.Option kannst du choices festlegen
perfekt ich liebs ihn wird zu erst geholfen obwohl ich zuerst nh fehler hatte, naja egal jeder ignoriet mich ja
@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
naja wenn man nicht die antwort funktion nutzt sehe ich das nd
die nachrichten wurden ja zusamm geklept
?
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))```
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
Perfekt danke dir
ne beschweren tue ich nicht
aber anderes thema sonst krieg ich noch nh warn rein gescheppert
commands.Cog
Wie war das nochmal mit mehreren Optionen ^^
choices=["option 1", "option 2"]
Und kannst mir da nochmal helfen schnell
das war die 30.000ste nachricht hier im channel 
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.
intents müssen im developer portal aktiviert werden
Bedanke mich halt wenigstens gibt bestimmt viele die sich nicht bedanken xD
aso ja hab nh neuen bot gemacht hab ich vergessen
danke
Wäre cool wenn ne Antwort käme will auch nicht hetzen oder so aber ohne dem kann ich nicht weitermachen 😅
Ouhhh jetzt verstehe ich was du meinst
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'
Du musst erstmal eine variable mit der Bestellnummer erstellen. Wenn du keine hast kannst du auch keine in die Datenbank eintragen
Der findet das File nicht
warum soll er die nicht finden wenn die erstellt wird 
Guck im Ordner nach
Code?
hä aber die anderen gehen auch und da ist nicht so eine datei
Dann wird da wohl ein Fehler sein
soll ich dir mal den code dm schicken?
Ich bin nicht zuhause kann dir da nixht helfen

Alles gut habe es schon selber danke für deine hilfe!
Weiss einer wie kann man mehr status machen bei dem bot?
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?
ja das geht, zum Beispiel mit einem Task loop
mir Kommas würde es so gehen:
zahl = 3000
print(f"{zahl:,}")
Wenn du den Status durchwechseln willst dann kannst du das über eine Loop machen. Ihm mehrere gleichzeitig zu geben sollte eigentlich nicht funktionieren
Ja halt über dem discord bot
Er Bot hat mehr status !
Was meinst du?
Wie über @burnt prairie
Was genau meinst du? schreib bitte verständlich
Also du meinst, dass der Status wechselt?
ja
Ja dann musst du eine Loop machen welche eine bestimmte Zeit wartet und dann den Status wechselt
wie heiße das
Wie heißt was?
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
UTC Zeitzone
► https://time.is/de/UTC
Code auf Github
► https://github.com/tibue99/tutorial-bot
Tutorial Playlist
► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Discord Developer Portal
► https://discord.com/developers/applications
Pycord
Docs ► https://docs.pycord....
kannst du dem commad sagen
Schreib bitte mal in ganzen Sätzen ich hab keine Ahnung was du von mir willst
wie er bot Status wechselt
Das ist immer noch kein Satz, aber ich habe dir doch grade schon erklärt wie er den Status wechselt
.
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
hast du vielleicht Änderungen gemacht und vergessen zu speichern?
Das bedeutet, dass dir Datenbank von etwas anderem aufgehalten wird, z.b. nicht bestätigte changes über einen DB Browser
meinst du in der datenbank?
ok scaue mal
oh lag wirklich daran
Dachte hätte gespeichert🤦♂️
was machst du da für ein shop
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()
du versuchst etwas einzufügen, was schon existiert
bzw der primary Key existiert schon
ok
aber ich will ja mehrere user eintragen
muss ich dann einfach primary key wegmachen oder was

ah ne
ich weiß wie
ist egal
du versuchst eine User ID einzutragen, die schon in der DB idt
du könntest insert or ignore oder insert or replace nutzen
ja hab ich jz auch gemacht :D
Was soll eigentlich der fehler bedeuten?
await self.callback(self.cog, ctx, **kwargs)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
test
Timo wann kommst du? Ich brauch mal bitte kurz Hilfe
Andere können auch helfen, Timo hat nicht immer Zeit und wir anderen Beißen nicht 
keine fehlermeldung?
Hab ich ja nicht gesagt, ich weis das die anderen nicht beißen 
🤨 nicht so
Bei Pascal musst du aufpassen der knabbert andere gerne mal an 
pascal das kleine schleckermaul
also nikos das war jetzt schon bisschen komisch😳
Pascal ist ein ganz netter der hat mir schon oft geholfen 
Ja nh kleines schleckermaul halt wie Timo schon gesagt hat 😮
Da passt man kurz nicht auf und dann wird man angeknabbert
Kurze Frage wie macht man bei einem Embed ein Banner dran Python?
embed.set_image()
In den Klammern ein String?
embed.set_image(url="URL")
Danke
True
brauche hilfe ich befinde mich in #1020759567421931620
brauchst noch Hilfe?
ja
bist nicht weitergekommen mit deine derzeitige Hilfe ?
Wie meinst du?
Ich helfe ihn nicht er hilft mir xD
achso 

hm
versuchst Mal mit range + Len zusammen
würde ich normalerweise machen bei nen Python Code 😅
also str weg machen?
ne
das kann dir helfen
ist ein Beispiel wie du es beheben kannst
Kann man in aiosqlite ein bild in die db einsetzten wenn ja wie?
könnte man, ich würde aber eher empfehlen den link zum bild einzufügen
warum, weil es sonst zu unübersichtlich wird
soll ich eif STRING nutzen oder gibt es was spezielles für links
ja string, bzw bei sqlite TEXT
jo
Des soll erstmal ne Art Template werden bzw Grundgestell
Das Ziel ist es dort verschiedene Sachen anzubieten
So etwas in Richtung Amazon nur für Discord
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
kann man bei einem INTEGER In aiosqlite zb 21/3 nutzen weil ich ein date hinzufühgen will
Nein müsste glaub ich nicht gehen du kannst aber ein Float nutzen
ansonsten halt ein String
Integer = Ganzzahl
Float = Kommazahl
String = Text
dates kannst du bei sqlite direkt eintragen, zb mit einem selbst definierten typ (TIMESTAMP). alternativ als string
Ach echt okay cool
Das wusste ich jetzt nicht aber optimal weil komme auch demnächst dahin.. 😂
ja, man muss dafür detect_types aktivieren
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?
also wenn ich den 6/4/2023 20:19 einfühgen will was mach ich jetzt ein string oder dieses TIMESTAMPT
geht beides, einfacher ist es mit timestamp. du kannst direkt datetime objekte in die datenbank einfügen
War das zweite auf mich bezogen?
ne aber das von dir geht auch
A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
Okay danke dir ^^
Die Idee davon kam weil ich seit langem nicht mehr mit Python programmiert habe und da wieder reinkommen wollte grad in der Discord Programmierung.
Der Vorteil an diesem Vorhaben ist:
Du hast Dankenbanken im Einsatz,
Discord API,
Excel API
Email API
Da ich das alles in eine Excel dann exportieren will und ich eine Bestätigung per Mail machen möchte
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
ok digga du sollst keine geschichte schreiben
gibt es was spezielles für ein user name
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))

du hast 4 werte, aber nur ein fragezeichen
Stark
das heist 4 fragezeichen
wie krieg ich die options aus ein command zu nem anderen wenn ihr wisst was ich mein
wrm stark
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)```
die spalte "member" ist nicht in der DB
doch eig schon
aso ich habs user_name genant
aber wo muss ich member mit user:name austauschen
ah ich sehe wo
was ist der untiershied zwischen cursor.fetchone und fetchall
fetchone liefert nur eine zeile zurück
also bei diesem projekt ist fetchall besser?
kommt drauf an ob du alle ergebnisse haben willst oder nur eins
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
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?
genau das war auch meine frage
Dann sitzen wir im selben Boot xD
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
mit result[1] versuchst du auf das zweite element in result zuzugreifen, aber result hat maximal 1 element
aber wie krieg ich den bought date und proof aus der db
das geht mit einem select statement
Kannst du mir schnell helfen ich hab jetzt rausgefunden wie ich das machen kann dass ich die lfdnr angezeigt bekomme, allerdings muss ich die beim Slash Command eingeben.
Das soll ja so aber nichts sein weil die lfdnr ja der Index ist und der sich automatisch hochzählen soll
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}")```
@solid ingot ich hab das select doch hier
statt zu Pingen teste es einfach
SELECT
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?
nein
einfach normal SELECT
den table auswählen und dann die Daten per User ID fetchen
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Links aus dem Video
SQL Bolt ► https://sqlbolt.com/
Deutsches SQL Tutorial ► https://sqltutor.de/
DB Viewer ► https://sqlitebrowser.org/dl/
Code auf Github ► https://github.com/tibue99/tutorial-bot
Discord Developer Portal ► https://discord.com/developers/applications
Pycord
Docs ► https://d...
vlt da hier angucken
Mein Problem liegt ja darin es sollen mit dem Command mehrere Sachen passieren bzw 2
- Insert (Kundennr, Artikel, Menge)
- Select (lfdnr)
Die 2 Sachen sollen aber nur in einer Nachricht versendet werden
@civic granite du hast nen command der es zeigt wozu willst du es nochmal zeigen
Ich habe einen Insert
du kannst einfach alles SELECT und nur das lfdnr anzeigen lassen
hier lfdnr kannst du einfach so anzeigen
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
die lfdnr wird ja in der DB gespeichert nh
Genau
Ja mit select
ja
Ja einen INSERT und einen SELECT
try and see
Ohh warte
Stimmt ich kann ja den 2. execute machen und die LFDNR dann in einer Variable speichern right?
ja
Jetzt hab ich es verstanden
Sorry mein Hirn hat grad nich mitgespielt
Danke für deine Hilfe
nein was echt testen gans vergessen das tue ich ja nicht, digga hab ich doch
Chill ma
wozu dient der Channel woher soll ich's wissen schick doch einfach den Error doch
woher soll man es bitte wissen? wohne nicht in dein Gehirn und denke nicht wie du 🤷♂️
error
wieso fetchall
mach fetchone
mit fetchall Holst du alles aus der db
mit fetchone Holst du nur was bestimmtes raus
wie bei dir per User id
ich will die daten user id, bought, date, und proof raus holen
warum mit range
hab ich so von mein Lehrer gelernt 🤔
ja indem du per User ID anfragst -_-
genau so steht es in dein Code....

ja wie den
😮
sus
so kann man nicht wirklich helfen wenn ich schon wirklich alles gesagt habe
ging aber
stark
"aber"
funktioniert*
so hier also py 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]
hattest du net mehrere Tables?
ne das sind alle
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```
@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
ne geht nd
Okay alles gut habs hinbekommen
supi
kannst du mir helfen
joa also error siehst du
da haste wohl ein komma wo keins hin kommt gemacht
Eine Frage:
Wie formatiere ich es in Python dass es folgender maßen aussieht:
Test
Fett sind 2 Sterne
Ahh danke
wie macht man diesen strich vor ner nachricht
Mag er nicht D:
Hi<<<
Nur die >>>
Hi
Und dann eine Leerstelle
Aso
och mensch
Bei Discord ja
ja bei discord ist was komplett anderes
Bei Python egal ob mit oder ohne mag er nich konvertieren
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
Gibts da ne Möglichkeit?
??????????????
müssen da nd 2 parameters sein
Hm mag er komischerweise bei mir nicht
Siehe hier
zeig mal ss
sowas geht nd
Hm blöd
geht nur ganz vorne
Menge: >>> Menge
siehste
guck geht nd
😮
Naja danke dir/euch
Muss mir was anderes überlegen
😮
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♥")
weiß ich
ja aber dieses komma weg machen bringt nix
dann du mussen schauen
ich hab schon
ich denke nicht
ay ich frag eif chatgpt
so lernst du viel
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,))
und geht es nun xD
nicht wirklich
das proof etc soll eingefügt werden wenn ich /addbuyer nutze aber es wird nur die id des members eingefügt
joa ist doch auch sinn
kann man eig das hier machen date INTEGER DEFAULT TIMESTAMP,
das macht auch viel sinn was du gesagt hast
okay
wie fixe ich das jz 😭
am ende nur WHERE user_id = ?.....
date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
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)
in den Klammern fehlt noch nen Komma (member.id,)
Error?
ne kommt keiner ist nur das hier
das proof etc soll eingefügt werden wenn ich /addbuyer nutze aber es wird nur die id des members eingefügt
du musst dann den Text zu TEXT machen in im async der Commands den * nicht vergessen damit auch alles eingetragen wird
?
Dann würden ja alle kommen
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
so hier ? sql await db.execute("INSERT INTO purchases (user_id, bought, proof) VALUES (?, ?, ?) WHERE user_id =? AND bought = ? AND proof = ?", (member.id, bought, proof))
Wie installiert man auf Coding Keks Hosting ffmpeg ?
ist vorinstalliert
@lilac wagon
Ich habe ein Radio code und bei PyCharm funktioniert er beim Hosting nicht
schick mal den error, an ffmpeg liegt es dann zumindest nicht
hat er nd post gemacht?
Es kommt kein error ich starte den bot und der kommt nicht in channel rein und Musik abspielen
schade
aber bei pycharm geht es ..
Ja
also liegt nd am host
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
Kann es nicht mal testen weil es keine verbindung findet zum server
hm, vlt kurz warten
also der @lusty plaza bot geht noch, der läuft auch über keks hosting
ist aber schon seit 8 minuten so
seite neuladen einf mal
Da du auch 2 Bots hast einen für Radio und einen für Commands nehme ich an geht nicht in einem Bot?
ja
den kommt es immer noch
doch
Cool das ist gut danke dir
So jetzt wirklich gute Nacht 😂
Was soll man machen wenn der server keine verbindung mehr erstellen kann zum server ?
yessss habs geschafft
supa
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?
ja genau, der owner kann die commands immer überall nutzen
Achso danke.
Wie macht man an ein Embed eine Reaction das wenn man die Reaction drückt eine Rolle bekommt?
ja
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github ► https://github.com/tibue99/tutorial-bot
Discord Developer Portal ► https://discord.com/developers/applications
Tutorial Playlist ► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/int...
ne das war gemeint bei der Abfrage
Hallo, habe auf einmal eine neue funktion aber was bringt die wen ich drauf drücke passiert nichts
Wie kann man bei Coding Keks Hosting wieder sachen entfernen also pip install discord.py und wie entfernt man es wieder ?
die packages musst du aus der requirements.txt Datei entfernen
und evtl musst du den Cache Order und den local Ordner löschen
okay
Welche denn?
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.
kannst du kurz beschreiben was aktuell ausgegeben wird, und was ausgegeben werden soll?
wieso übergibst du der check methode hier die korrekte antwort nicht?
uff hab ich gerade gelöscht
er gibt nur das die random Zahl aus (print(random_number()))
hm, was anderes kann auch gar nicht passieren, die question() funktion wird nirgends aufgerufen
Ales gut hab's jz
Oi lvl 20
Mitglied Verfiy
Wie macht man das nur bestimmte Rollen ein Command ausführen können?
bei slash commands kannst du das in den server einstellungen festlegen
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
geile antwort kappa 💀
wie den
mit user_id2 usw
oder wie
kommt drauf an wie du deine DB aufgebaut hast. einen primary key kannst du immer nur einmal einfügen
hmmm ist der primary key eig wichtig
also wichtig wichtig
ja
wo für den
damit jeder wert eindeutig ist
als grundlagenübung würde ich https://slqbolt.com/ empfehlen
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
SQLBolt provides a set of interactive lessons and exercises to help you learn SQL
hm keine ahnung wieso der andere nicht geht
oha ich hab das von nikos kopiert, der ist schuld
Bruh egal haha
das werde ich dir nie verzeihen
ich hab ne frage
dann stell die frage doch einfach statt mich zu pingen
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")
nein, await kannst du in __init__ nicht nutzen
kann ich dan ganz oben irgendwie log = bot.fetch_channel() machen
wie meinst du on_ready würde gehen
Wenn dann get_cannel aber fetch_channel ist eine coroutine
er kann nix dafür er zieht doch um 🙂
timo on rage 😐
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)
die kategorie wird anscheinend nicht gefunden. prüfe am besten mit prints, ob du die richtige ID lädst
Scheint so als wenn der den Category Channel nicht findet
ok
Da kommt none, aber ich weiß nicht wieso.
Hier werden die Daten eingetragen:
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)
wieso benutzt du nicht einf discord.CategoryChannel?
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
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?
@civic granite https://youtu.be/l5nETxl7NHM
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....
ist genauer
aber unötig
ne
was macht es den so wichtig
damit gibst du an, von welchem typ der parameter ist. dadurch können wir auch beim coden besser sachen vorgeschlagen werden
meinst du vorschlagen in sinne von wie tabnine
wenn du zum beispiel bot und dann ein punkt eingibst, werden dir die attribute angezeigt, die der bot hat
Davon hab ich den Code ja..
Eins zu eins abgeschrieben
Funktioniert nicht
Warum
Er tritt mir auch bei und alles gut
Aber spielt nix ab
Sonden kommt der Fehler
.
Warum wird der Button nicht disabled?
view = discord.ui.View(timeout=None)
button3 = discord.ui.Button(label="Begrüßen", style=discord.ButtonStyle.green, emoji='')
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)
du musst die nachricht noch bearbeiten
stimmt mit await interaction.response.edit_message(view=self) oder?
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'
hab mich an nem code orientiert... wo müsste es denn hin? (sry wenn die frage Dumm ist)
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?
eigene mp3 datein spielst du denke ich ab wie man das immer macht
Ich meine beim Discord Bot..
ja
Hab es schon mit dem Pfad von der Datei versucht das mag er nicht
die mp3 datei musst du aber erst in code packen
also den pfad dazu
weiss wer warum ich das krieg
beim async def statt des option da
Luuucckkkyyy
also bei dem wo man die in die datenbank eingibt (tsetup) statt der option string oder?
wasn
nichts
stinkst

😦
async def tsetup(self, ctx, category_id: discord.CategoryChannel):```
Wäre das möglich?
ja möglich immer
kann sein das der das aber dann nd in die DB eingeben kann?
musst halt des dann zur id noch machen
category_id = category.id
dann oder was
also alle die auf einem server online sind meinst
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
for user in ctx.guild.members:
if user.status == discord.Status.online:```glaube so
[len(list(filter(lambda m: str(m.status) == "online", ctx.guild.members)))
ja aber was soll der machen ?
wäre es nicht for member xD
kann sein
mach mal print(category_id)
brauchst des andere trz noch @restive herald
welches andere
ja
Also jetzt nochmal als frage:
1.Ist der ganze code vom command oder nicht?
2. Kommt ein error ?
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
Das Englisch Wort für abwesend
Und wie geht das?
Weil den direkten Pfad zur Datei mag er nicht
Schaue dir gerne dazu ein Video an
Kannst mir eins empfehlen ^^
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
Also dass man für 96 Stunden den Command nicht mehr usen kann?
ne
ich gene 10keys mit dem gleichen datum aber sie sollen einen abstand haben von 96std
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
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
Da muss ich auch noch gucken wie ich auf das jetzige Datum 3 Tage addieren kann
Ja da hänge ich auch aktuell noch
Was hast denn überhaupt für ein Projekt vor wenn ich fragen darf
Hast Lust per DM zu schreiben?
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)
@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.")
Vielleicht doch nicht, mal sehen was der Kammerjäger am Dienstag sagt :/
aba lass doch die Mäuse 
Die haben überall in jeder ecke verfickte eier gelegt ich könnte heulen
da will doch keiner wohnen
Ja bruh gut das wir die entdeckt haben seitdem wir 6 Tage den Schlüssel zur Wohnung haben und schon Geld rein gesteckt haben

Mal sehen was draus wird
ja also jagen die dich
dir ist bewusst wenn da einmal welche sind kommen die wieder egal wie oft der Kammerjäger die entfernt..
Ah + wir haben nh Kündigung bekommen (vor 2 Jahren) das heißt wir müssen aus unserer jetzigen Wohnung raus
ah glaube wir sind im falschen channel
Naja solange da kein essen in der küche ist haben die keine Nahrung
Und die küche + der boden müssen dann halt raus gerissen werden
Und wir klagen die vormieter auf Schadensersatz an
ach
gute Harmonie
Mal sehen was draus wird :/
gibt es das bald als rpg 👀
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
Ne
manno
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?
leute das hier ist der help kanal
jetzt schon
du böser bub
selbst schuld 
welcher
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?
der code funktioniert bei mir noch
Fortnite
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
@civic granite schreibe deine probleme bitte immer nur einmal und nicht in fremde posts
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
Ich tu und mach und versuch schon seit bestimmt ner dreiviertel Stunde komme aber nicht drauf woran das liegen könnte geschweige denn wie ich es lösen soll
Hallo, ich hab nh simple frage wie starte ich eine task, also eigentlich doch in einem on_ready event mit task_name.start()

?
ja, oder in cogs mit self.task_name.start()
oh, daran liegt es
dein "message" sollte auf jeden fall ctx heißen
ey ich hab so ein weirden bug in den terminals
cocks
Ja okay aber das ändert ja nichts an der funktionalität im normalfall
wenn ich strg + c drücke sollte ja das abgebrochen werden aber bei mir macht er es nicht
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
im terminal
ja VSC, CMD Prompt oder PyCharm terminal alle buggen so
also bei dem ist es so
wieso denn einf nd auf des rote quadrat 😮
weill ich das terminal noch brauch
Lucky hättest du eine Idee 😦
ich will den bot ja nochmal starten
wozu message wtf
wozu denn dann strg c bruh
brainfuck
häääääääääää, bot neustarten hast du noch nie das terminal benutzt oder was
bot neustarten???
zwei
die reichen 🙂
sieht man trz 😮
aber ich nutze grad das CMD Prompt
ne ist eif besser und übersichtlicher
hmmm
@civic granite wie machst du das mit dem datum wo du 3 tage druaf addierst
dann heul nd xD
einf +3 😮
tue ich nd 😉
tut macht das auto
ey du bist auch so random nh kennst du überhaupt mein code
zum antworten
du willst mir sagen das expiry = datetime.utcnow() + 3 gehen soll
steht das so da 😮
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
omg
sei einf netter dann wird dir eher geholfen 🙂
häää wo bin ich den nicht nd
du bist seit heute früh hier am gammeln lern mal bisschen und frag nd jedes mal nach
ich bin nicht der einzige
macht trz kein Unterschied
nerv nd und heul nd
du bist der der hilfe braucht 🙂
du bist der der rum heult weil man hilfe braucht 🙂
ja weil du sachen fragst die einf unnötig sind weil man die einf wissen müse
so das hier ist ein hilfe chat geh zu #💬・chat wenn du diskuitieren willst
Aber das hat ja nichts mit dem Problem an sich zu tun
Schaue bevor du fragst in Der Dokumentation oder bei 🔍・pycord-help, ob du deine Frage selbst beantworten kannst
was denn dann?
Mein Problem liegt daran..
Es macht halt einfach nicht diesen Unterschied ob es aus der Datenbank gelöscht wurde oder nicht..
Auch nicht mit try..
Es kommt ja auch keine Fehlermeldung von dem her passt es schon
Aber irgendwie muss es doch die Möglichkeit geben.. oder nicht..?
wird es momentan denn aus der db gelöscht?
Wenn ich es von jemand anderes löschen will dann nicht
und error?
Es sollen immer nur die Datensätze/Bestellungen gelöscht werden welche man auch selbst angelegt/bestellt hat
Error gibt es keinen
Das funktioniert auch
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
glaube bei dem except fehlt was
Ich hab es auch schon mit except aiosqlite.Error: versucht in der Hoffnung dass die SQL fehlerhaft ist
ka 🙂
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'```
@lucid furnace mal nh frage du speicherst doch die zeit in der database oder
TEXT
Text puh müsste man konvertieren dann addieren dann wieder umkonvertieren
ah ne ich nutze timestamp
ahja
also wie fix ich den error hab schon pycord docs gesucht
macht ihr nicht irgendwie des ähnliche 😅
ja
brainfuck
also es hat ähnlichkeiten
kommt mir auch so vor
welchen jz genau
.
code?
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
@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)}")```
kenne ich zu gut
Ein guter Krieger weiß wann die Schlacht verloren ist 😂
haha
würde mit was einfacheren anfangen 😅
jo ich code weiter und gönn mir das lied "Pink fluffy unicorns dancing on rainbow" 😭
Naja ne hab mir das extra rausgesucht damit es auch ein bisschen anspruchsvoller ist damit ich wieder bissl reinkomme
wenn du meinen 😄
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
ja aber bei sowas nd bruh
?
liegt an der rechnung
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
bruh sieht aus wie eine excel aufgabe
wo ist die den falsch
Hast du ne Idee wie es noch funktionieren könnte?
exception as ...
Oh
Das hab ich bisher noch nie verwendet
Muss ich mir mal angucken
Kannte bisher immer nur except
Und except (Fehlermeldung)
was nutzt du? pycord oder discord.py
pycord
ja
Da steht aber nix mit Datenbank drin soweit ich weiß
Und mag die Docs nich
Finde die zu unübersichtlich
same
Hätte man anders gestalten können
aber manchmal hilfts
Joa
und?
Hast du davon vielleicht eine Video Empfehlung?
nicht wirklich
wo den
Der kennt das auch gar nich..
die ist doch richtig
Exception
lucky?
?
wo ist die rechnung den falsch
bei den Tagen
ne geht denke bei discord nd bei excel wäre es so xD
wie den
Also bei mir hats so funktioniert:
test = datetime.now() + timedelta(days=3)
ja so hat er es doch nd
Wenn er einen TimeStamp als Typ hat dann müsste es eigentlich gehen
Er kann anstatt now halt sein anfangsdatum nehmen
wie mache ich es den so wenn ich 5 codes generiere das jeder expiry date plus 4 kriegt heist
1st key XXXX XXXX XXXX 8.4.2023
2nd Key XXXX XXXX XXXX 12.4.2023
3rd key XXXX XXXX XXXX 16.4.2023
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?
wie soll die for schleife gehen
erstmal langsam anfangen 😐
was und wie soll ich es jz machen bin überfordert
naja du kannst nd fragen wie die for schleife gehen soll wenn du shop coden willst
will ich nd
Nein er wll was anderes machen
ich will ein key redeemer, key lister und key gener machen
ich wll shop machen
ja da solltest des trz davor wissen..
Das stimmt zählt letztendlich zu den Grundlagen
aber was soll ich jetzt machen ne for schleife oder was
was ist das beste und einfachste
@tawdry leaf
ach scheiss drauf mit dir kann man nd reden
🙂
wie meinst du mein anfangsdatum
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


