import discord
from discord.commands import Option
from discord.commands import slash_command
class role_info(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command()
async def role_info(self, ctx, role : Option(discord.Role)):
embed = discord.Embed(title=f"Infos über die Rolle: {role}", description=f"Die Rolle {role} haben {len(role.members)} Member\n\n Die Rolle hat folgende Berechtigungen: {role.permissions}", color=role.color)
embed.set_footer(text=f"{role.id}")
await ctx.respond(embed = embed)
def setup(bot):
bot.add_cog(role_info(bot))
#Allgemeine Hilfe
1 messages · Page 29 of 1
Traceback (most recent call last):
File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\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 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "C:\Users\Rysii\OneDrive\Desktop\rtzu_discord_bot\rtzu_discord_bot\rtzu discord bot\cogs\rolrinfo.py", line 7, in <module>
class role_info(commands.Cog):
^^^^^^^^
NameError: name 'commands' is not defined
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Rysii\OneDrive\Desktop\rtzu_discord_bot\rtzu_discord_bot\rtzu discord bot\main.py", line 164, in <module>
bot.load_extension(f"cogs.{filename[:-3]}")
File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 910, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\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.rolrinfo' raised an error: NameError: name 'commands' is not defined
``` hier ist error
kann wer hefen
ich brauche auch Option
danke haben
hab
danke
hats sich schon erledigt
Wie macht man es das man die Nachricht auch nach unten erweitern kann ? z.b
description="Hier kannst du ein Ticket aufmachen!"
Test und wenn ich es nach unten erweitern möchte kommt ein Error den . Wie funktioniert das ?
meinst du vlt \n
Ja, danke
Hallo, ich habe folgendes problem, ich hab ein key gener und ein key redeemer command, und beim key redeemer command gibt man ein key ein aber wenn ein user den zeitigen key redeemed dan kann ein andere denn key nicht mehr redeemen aber der andere soll denn key noch redeemen können, weiss wer wie ich das änder
code: ```py
@slash_command()
async def redeem(self, ctx, code):
# Check if the code exists
async with self.db.execute(
"SELECT * FROM codes WHERE code = ? AND redeemed = FALSE",
(code,)
) as cursor:
row = await cursor.fetchone()
if not row:
await ctx.respond("Sorry, that code is invalid or has already been redeemed.")
return
code, role_id, expiry, redeemed = row
# Check if the code has expired
if datetime.now() > datetime(int(expiry)):
await ctx.respond("Sorry, that code has expired.")
return
# Grant the role to the user
role = ctx.guild.get_role(role_id)
if not role:
await ctx.respond("Sorry, the role associated with this code no longer exists.")
return
await ctx.author.add_roles(role)
# Mark the code as redeemed in the database
await self.db.execute(
"UPDATE codes SET redeemed = TRUE WHERE code = ?",
(code,)
)
await self.db.commit()
await ctx.respond(f"Congratulations! You have redeemed the code {code} and received the role {role.name}!", ephemeral=True)
alse jeder user soll ein selben key 1 mal redeemen können
in dem fall müsst du für jeden user einzeln abspeichern, dass der key schon eingelöst würde
also müsste ich die user_id in die db packen
also wenn ich die user_id rein packe und dan das alles anpasse dan wird doch für jeden user die gleichen keys generiert
Mach einf eine neue Tabel wo du userid und key speicherst und wenn man den cmd ausführt wird geschaut ob man in dieser tabel mit dem gleichen key schon drin steht
aber ich hab noch ein ablaufs datum
ich denke ich weiss wie ich das mach
Du kannst ja vorher gucken ob der noch gültig ist und dann schaust du ob der user den schon eingelöst hat
Oder habe ich da grade nh denkfehler?
ja aber die schwierege sache ist, wie?
moin,
ich habe mehre if/elif usw. abfragen in dem je nachdem eine variable in einem embed anders ist. Wenn ich diese variable dann unter den if abfragen nutzen will(gleiche klasse und event) wird diese variable nicht mit genommen bzw. existiert dann nicht
UnboundLocalError: cannot access local variable 'lvluprolle' where it is not associated with a value
Könntest du vllt den Code mit schicken
wie kann ich die variable auch unten nutzen
if new_level == 5:
lvl = message.guild.get_role(962787800984453141)
await message.author.add_roles(lvl)
lvluprolle = discord.Embed(
title="Level up!",
description=f"Herzlichen glückwunsch <@{message.author.id}> du bist jetzt **Level {new_level}!** \nDu "
f"hast insgesamt **{msgcount} Nachrichten** geschrieben!\n Du hast die rolle {lvl.mention} "
f"freigeschaltet!",
color=discord.Color.og_blurple()
)
if lvluprolle is not None:
ch = message.author.dm_channel
if ch is None:
ch = await message.author.create_dm()
try:
await ch.send(embed=lvluprolle)
except discord.HTTPException:
await message.channel.send(embed=lvluprolle, delete_after=80)```#
er soll halt unten das oben senden, aber er sendet die rollen idnicht, die oben festgelegt wurde
das if lvluprolle is not none ist unnötig, weil du ja ein embed erstellst und das zu 100% gibt
ja aber ich habe es so, das er dieses embed nur bei bestimmten level sendet
das hier muss ich alles machen
Zuerst on_ready: Machen Sie ein on_ready-Ereignis in einem Cog für Pycord, das eine Datenbank in Aiosqlite erstellt
Ich brauche das: User_id Keys und Ablaufdatum
erster Befehl: löse einen Code ein, der dir eine Rolle gibt, der Code sollte für jeden Benutzer einmal einlösbar sein
2. Befehl: Listen Sie alle Codes und ihr Ablaufdatum als Einbettung auf
3. Befehl: Generiert einen Code und ein Ablaufdatum mit jeweils 4 Tagen Lücke, die ein Benutzer einlösen kann
Aufgabe: Eine Aufgabe, die das Ablaufdatum überprüft und den Code löscht, wenn das Ablaufdatum gleich dem heutigen Datum ist
ok, aber trotzdem sendet er die rolle nicht bzw. es steht immer deleted... obwohl es die gibt, also irgendwie nimmt er die variable nicht mit aus der if abfrage raus
mache ich doch
Aber in der if abfrage, und in dem embed steht dann nur @deletedrole
hat sich erledigt
da ich dies nicht, finde gibts irgendwo in den docs eine liste mit allen tasks methoden die es gibt, also z.b. on_message
import discord
from discord.ext import commands
from discord.commands import slash_command
import requests
import random
import os
from pprint import pprint
class API(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command()
async def keks(self, ctx):
key = os.getenv("API_KEY")
params = {
"q": "keks",
"key": key,
"limit": "10",
"client_key": "discord_bot",
"media_filter": "gif"
}
result = requests.get("https://tenor.googleapis.com/v2/search?=keks&key={key}", params=params)
data = result.json()
# pprint(data)
number = random.randint(0, 9)
url = data['results'][number]['media_formats']['gif']['url']
embed = discord.Embed(
title="Keks",
color=discord.Color.yellow()
)
embed.set_image(url=url)
embed.set_footer(text="Via Tenor")
await ctx.respond(embed=embed)
def setup(bot):
bot.add_cog(API(bot))
k
ich dem send
Traceback (most recent call last):
File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\Rysii\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\Rysii\OneDrive\Desktop\rtzu_discord_bot\rtzu_discord_bot\rtzu discord bot\cogs\api.py", line 32, in keks
url = data['results'][number]['media_formats']['gif']['url']
~~~~^^^^^^^^^^^
KeyError: 'results'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "C:\Users\Rysii\OneDrive\Desktop\rtzu_discord_bot\rtzu_discord_bot\rtzu discord bot\cogs\ban.py", line 30, in on_application_command_error
raise error
File "C:\Users\Rysii\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\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 375, in invoke
await injected(ctx)
File "C:\Users\Rysii\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: KeyError: 'results'```
Traceback (most recent call last):
File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "C:\Dev\Flixer Buyer Bot\cogs\Key.py", line 105, in on_message
await db.execute('INSERT INTO codes (user_id) VALUES (?)', (message.author.id,))
File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 192, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 137, in _execute
return await future
File "C:\Users\arien\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 110, in run
result = function()
sqlite3.IntegrityError: NOT NULL constraint failed: codes.code``` ich hab alles proebiert nix geht ```py
@commands.Cog.listener()
async def on_message(self, message):
if message.author.bot:
return
async with aiosqlite.connect('Keys.db') as db:
# check if row with same user_id already exists
cursor = await db.execute('SELECT * FROM codes WHERE user_id = ?', (message.author.id,))
row = await cursor.fetchone()
if row is None:
# insert new row
await db.execute('INSERT INTO codes (user_id) VALUES (?)', (message.author.id,))
await db.commit()```
benutz drei von diesem dinger am anfang und ende die hier >> `
das ist neben deiner backspace taste
wenn du diese error rein schreibst nutze code blöcke
ich habs jz so gemacht das ich kein error krieg aber der user wird nicht eingefügt
Mach das await von vor interaction.guild.bans weg
@wary vessel
Frage zu level_system von Timo, was wiederum zu rank abfrage geht mit eine embed. ich hab mal mit meine kleine wissen probiert entweder war der text mit xp und level über oder unter meine embed wie ich dem slash befehl ausgeführt habe. brachte mal kurze Einführung, tipps das ich es auch verstehe
Kannst du einmal deinen Code hier kein senden wenn du magst?
- Ja?`Dann bitte mit mit Codeblöcken.
Bitte nehme vorher deinen Token raus und Leake den nicht
Hast du die ganze Tutorial reihe von CodingKeks gesehen oder nur das Levelsystem?
Alles durch
Denn braucht man einmal deinen Code vom Embed was erstellt werden soll.
Denn kann man dir besser sagen wo der Fehler sein könnte
hab noch nie code gesendet. Was wie mach ich das bei PCharm?
Danke kommt
kein problem
Code zu lang. Soll nur die von oben nur mit dem rank dan senden
den code ausschnitt von deinem Slash command /rank denke ich ist das
Von oben fehlen jetzt auch war noch -990 zeilen
weiss einer wie kann man status an zeigen lassen mit wieviel haben user
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
import aiosqlite
import random
@commands.Cog.listener()
async def on_message(self, message):
if message.author.bot:
return
if not message.guild:
return
xp = random.randint(10, 20)
await self.check_user(message.author.id)
async with aiosqlite.connect(self.DB) as db:
await db.execute(
"UPDATE users SET msg_count = msg_count + 1, xp = xp + ? WHERE user_id = ?", (xp, message.author.id)
)
await db.commit()
# check level up
new_xp = await self.get_xp(message.author.id) # Neue level durch den Bot
old_level = self.get_level(new_xp - xp) # Alte level xp was der User gehabt hat plus Formel im klammen
new_level = self.get_level(new_xp) # Neue level xp bekommt
if old_level == new_level: # Mit dem if wird überprüft, ob beide gleich sind
return
# Hier wird dann eine neue level Rolle gegeben, durch xp aufstieg auf level2
if new_level == 2:
role = message.guild.get_role(1090409683166183495) # level2 ID-Nummer
await message.author.add_roles(role)
await message.channel.send(f'Level Up! Du hast die Rolle {role.mention} erhalten!')
@slash_command(description='Deine Aktuelle xp-level')
async def rank(self, ctx):
xp = await self.get_xp(ctx.author.id)
lvl = LevelSystem.get_level(xp)
await ctx.respond(f'Du hast **{xp}** XP und bist Level **{lvl}**')
def setup(bot):
bot.add_cog(LevelSystem(bot))```
errro?

aber wo soll denn doer ein embed sein?
Du sagtest ja der schickt text über oder unters embed
Hab keine Error, ist nicht der ganze Code hier. Könnte leider nicht senden, ich will das es in eine embed drinne ist wenn aud Dc /rank ausgeführt wird. meine hab ich schon gelöscht weil nicht funktioniert hat
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...
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...
2 mal gleich des selbe xD
Hab schon oft angeschaut, komme damit nicht klar
was daran so schwer bitte
Jo Doppelt schauen👍 😂
😮
Es versteht ja nicht jeder sofort alles.
embed = discord.Embed(color=discord.Colour.embed_background(), description=f"der Code hier wo der result der Daten kommt")
das sind nur paar Zeilen leute....
es würde auch im Video leicht erklärt
Muss man doch trotzdem nicht drauf rum hacken, wenn es für ihn leicht wäre, würde er nicht fragen
true
sry aber im Video wurde es gezeigt
ja und ?
Lass ihn doch trotzdem fragen ich versuche ihm doch grad zu helfen
Video ist oft anders wie wenn jemand es erklärt warum wieso ....
ist ja nicht so das er nach nem fertigen code fragt sondern wo das problem ist
das Problem eher ist ich sehe ja kein embed oben
ja denn lass ihn doch weiter machen ?
Du grätscht ja grad rein ^^
ja lass ihn doch mal
ok dann macht das
hab nicht mehr drinne
sry wenn ich nur helfen will
du hilfst nd du grätscht rein
ich danke an alle die mir helfen
wie willst helfen wenn du nd des Problem kennst bruh
hast du ein error?
nein
also wenn du über level 2 bist geht nicht mehr
weiss einer wie geht das
@onyx wave wenn du über level 2 bist auf dein server denn geht auch nicht
bin noch level 1, ich bin am lernen mit dem ganze
ich reden von dein server
ich dachte du hast irgendwo schon einen command wo ein Embed mitgeschickt wird
Und der text nicht im embed verschickt wird
lol
@onyx wave komm mal call in coding
@ruby sparrow bitte geb dich nicht als jemand vom pycord team aus :)
slash_command hab ich mit /rank zum abrufen´ganz normal wie in dem video
@ruby sparrow Lala ist wirklich im pycord team ^^
sry
ich wolle was was machen
hab besser gemacht
danke
ich hab nur vergessen
würde man nd als pycord dev fragen 😂
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...
@ruby sparrow
hilfe
@discord.ui.button(label="Credits", style=discord.ButtonStyle.gray, emoji=f"", custom_id="credits", row=2)
async def button_callback1(self, button, interaction):
user_id = str(interaction.user.id)
credits = data.get(user_id, {"credits": 0})["credits"]
await interaction.response.send_message(f"{interaction.user.mention}, du hast {credits} Credits", ephemeral=True)
was daran geht nicht?
dafür braucht dein bot nur globale slash commands - also befehle, die man auf allen servern nutzen kann
du darfst also zb keine debug_guilds festlegen
Da soll nur die Anzahl der Credits stehen und nicht {'credits':3, 'message_count': 9}
get it
versuchs mal mit
@discord.ui.button(label="Credits", style=discord.ButtonStyle.gray, emoji="", custom_id="credits", row=2)
async def button_callback1(self, button: discord.ui.Button, interaction: discord.Interaction):
user_id = str(interaction.user.id)
credits = data.get(user_id, {"credits": 0}).get("credits")
if credits is None:
credits = 0
await interaction.response.send_message(f"{interaction.user.mention}, du hast {credits} Credits.", ephemeral=True)
@urban glen
Gude
Was ist an diesem Code falsch?
Ich verstehe es nicht es soll eine Bestellung stornieren wenn die Kundennr übereinstimmt und die Bestellnr (lfdnr)
Wenn die Kundennr nicht die selbe ist (ist die user_id) dann soll er nen Fehler ausgeben
Die SQL hat davor ohne Probleme funktioniert
Nur hat er immer ausgegeben dass es storniert wurde auch wenn es nicht aus der Datenbank gelöscht hat
Jetzt hab ich das umgeändert (Siehe Bild) und es wird nicht mehr aus der Datenbank gelöscht und es kommt immer die Meldung dass es nicht funktioniert hat.
Ich verstehe es nicht
- Hab ich nichts an der SQL geändert und 2. Verstehe ich nicht warum immer kommt dass es nicht storniert wurde
Bitte dringenst um Hilfe sitze an dem sch... schon seit 2 Tagen
welche meldung meinst du?
Die Respond
Und ja ich ändere es auf ctx um
Oh fuck
Hab den falschen Code geschickt
Der hier ist es
Okay hab grad den ersten Fehler gefunden:
Die if ist vor dem commit
mach mal dieses if aiosqlite.Error weg
Ja aber wenn die Kundennr nicht der userid entspricht soll das nicht kommen
Dann soll kommen dass es fehlgeschlagen ist
Oder dass man nicht berechtigt ist die Bestellung eines anderen zu stornieren
dann musst du das vorher prüfen, das mit dem aiosqlite.Error danach ist falsch
Wie krieg ich das hin?
Hab es anfangs mit einem Try versucht aber dann ist mir eingefallen dass es keinen Sinn macht da es keinen Python Fehler gibt
Hmm und wo soll ich das machen
Bzw wie
davor, zum beispiel mit einem select statement
Sorry,
Verstehe grad nich wie du das meinst 😅
select statements sind dazu da, um daten aus der datenbank zu lesen
Also ich solle selectieren ob es eine bestellnummer gibt die die eingegebene bestellnummer hat?
Das weiß ich
Und wenn nicht dann kommt der aiosqlite.Error?
du holst dir das was du prüfen willst aus der DB und prüfst es dann
Aber das heißt ich müsste eine if einbauen
Aber wie soll das gehen?
Also wie eine if funktioniert ist mir bewusst
na dann
Aber verstehe nicht wie ich das koppeln soll
Also wenn die select nicht zustimmt dann steht in der Variable None ?
Oder is die dann einfach leer
probiers doch mal aus
Hm oki danke dir glaub ich hab verstanden was du meintest
hey, finde dazu leider nichts:
Wenn ich sowas mit optionen machen will was ein user bei nem slashcommand auswählen kann z.b. ob er etwas deutsch oder englisch haben will macht man das mit autocomplete oder wie macht man das
Also bei richtigen Datensätzen die er finden konnte gibt er es aus
Bei falschen wo keine Übereinstimmung ist macht er gar nicht
Dann kommt "Die Anwendung reagiert nicht"
das geht auch mit choices, da brauchst du kein autocomplete. sprachen kannst du aber theoretisch auch direkt festlegen
https://guide.pycord.dev/interactions/application-commands/localizations
Localizations are a way to make your bot more accessible to your users. Learn all about localizations now!
vielen dank timo
Gimo?
gerne
ups verschrieben
Oder leer?
Oder hab ich was falsch gemacht?
ohne code wissen wir das auch nicht
@slash_command()
async def stornieren(self, ctx, bestellnr: Option(int)):
if ctx.author.bot:
return
async with aiosqlite.connect(self.DB) as db:
async with db.execute(
"SELECT lfdnr, kundennr FROM bestellungen WHERE lfdnr = ? and kundennr = ?", (bestellnr, ctx.author.id,)
) as cursor:
async for kundennr, lfdnr in cursor:
kundennr = kundennr
lfdnr = lfdnr
print(kundennr, lfdnr)
await ctx.respond("Test")
Timo sag einf das er dein yt short schauen soll
benutzt man nicht statt , AND ?
Da normalerweise mit , in der WHERE mit AND
So hab ich es gelernt
Und so hat es bisher immer funktioniert
sieht cleaner aus
Ist nur zum besseren Code Übersicht
richtig
Aber was steht denn nun in den Variablen D:
Ist es None, einfach nur leer oder hab ich was falsch gecodet
Was ist nun des Problem bei dem code
sql viewer würde es dir sagen
Naja will nur wissen was in den Variablen steht wenn die SQL keinen Datensatz findet
null ig
Das bringt mir ja nichts
Guck ich mach ja ein Shop
Und das soll der Befehl zum stornieren sein
ja?
Aber dann müsste er es mir doch ausgeben oder nicht
weiß ich nd xD
Und ich will da ne Abfrage rein hauen ob der Kunde (Welcher in der DB kundennr ist mit der user_id) den Index hat (LFDNR (Fortlaufende Nummer für die Bestellnummer)
bringt dir des eine da nix warte
Jetzt will ich wissen was passiert wenn der Kunde die falsche bestellnummer also lfdnr hat
Bzw was in den Variablen steht
SQLBolt provides a set of interactive lessons and exercises to help you learn SQL
da kannste mal testen wie des alles funktioniert
Dass ich damit ein IF Statement setzen kann und dann falls es einen Datensatz gibt es mit delete löscht und wenn nicht halt ausgegeben wird dass man keine bestellungen von anderen löschen kann
Ja klar findet halt nichts weil es keinen Datensatz mit Id 15 gibt
Aber was steht dann in der Variable wenn man es ausliest
Weil hab das ja jetzt getestet und wenn es einen datensatz findet schreibt er das schön rein und alles
Aber wenn es keinen findet reagiert der Bot nicht auf die Nachricht
Und es wird kein Python Fehler oder sonst was ausgegeben
Nix oder none
Wie theoretisch direkt festlegen?
Okay None ist es nicht
Aber wenn es leer ist ist blöd weil es Integer sind
null müsse es sein oder es steht nix
schreibe halt überall was rein und überschreibe es dann also wenn sowas geht xD
ist aber dumm nvm xD
int?
Yeah
ja einf if int...
Also ich meine wie soll ich eine Zahl abfragen die gar nicht existiert
aber
@civic granite wenn du doch die dings hast den er löschen mag
wieso machste denn dann nd als select und schaust wem die gehört die bestellung
also das du schaust des was er löschen mag ob des der käufer ist
Das mach ich ja
"SELECT lfdnr, kundennr FROM bestellungen WHERE lfdnr = ? AND kundennr = ?", (bestellnr, ctx.author.id,)
Und danach kommt dann halt noch ein delete
Mal eine Frage
Wie Funktioniert es das wie z.b. das Banner immer geändert wird, also was für eine extra Library braucht man oder so
Bzw. ist das im Code vom bot oder wie ungefähr (Prinzip) hat das
welches banner meinste
Aber des Problem is ich will halt bestätigen wenn es geklappt hat und wenn nicht dass es dann sagt du kannst nur eigene löschen
serverbanner?
try except?
Hab ich schon versucht
gestern nh
Aber ist ja kein Pythonfehler
Genau
Und mit dem aiosqlite.Error hab ich es auch versucht geht auch nicht
das geht mit einem task loop
Timo meinte ich solle es erst selectieren und dann abfragen und prüfen und da sitz ich grad dran aber wie soll ich es denn prüfen wenn die Variable leer ist
Also nichts drin
Kein None keine 0
Aber was nutzt man dafür
Also das man Sachen in einem Bild ändern kann
Wäre das Feld ein String würde es ja gehen aber mit Zahlen?
Integer
none ist leer
ist des bei datenbanken dann nd als null gekennzeichnet
Ja aber den Datensatz gibt es ja dann gar nicht
Das macht er auch nicht
naja, discord hat eine funktion um commands in verschiedenen sprachen anzuzeigen, je nachdem was der user eingestellt hat. den link zur anleitung findest du in meiner nachricht oben. es geht aber auch ohne das ganz normal mit choices
das ist genau das event, dass du benutzt
glaube war eine Frage
naja will machen das je nachdem was er auswählt das system wos geht entweder in deutsch oder in englisch ist
dann choices
Wie krieg ich das denn nun hin?
ich hab nicht gesagt dass du das falsche event nutzt, ich habe gesagt dass du dieses event falsch nutzt
schau dir an was für parameter in den klammern stehen
bei dir ist einer zu vuiel
😮
Muss ich die Variable erst in nen String umwandeln?
Glaub dann gibt es einen Error
ne ne
Ne ne auf was bezogen?
Dass es nicht geht?
was?
aber du überprüfst ob es None ist wie soll kundennr none eig sein xD
schau dir die events die benutzt mal in den docs an. da siehst du, welche parameter das hat und von welchem typ diese sind
Habs halt mal getestet xD
Ich versuchs mal mit dem Umwandeln in string dann müssten es ja leere " sein oder
Glaub nich dass es funktioniert da die Kundennr dann ja gar nicht vorhanden ist
wieso sollte die nicht vorhanden sein ???
das wäre fatal
😠
Wie gesagt Kundennr steht dann leer
wieso sollte es keinen geben ey mann
Ist doch ganz einfach
Erkläre ma
Also nochmal:
"SELECT lfdnr, kundennr FROM bestellungen WHERE lfdnr = ? AND kundennr = ?", (bestellnr, ctx.author.id,)
So
Kundennr ist der ctx.author aber nicht der Index
Der index liegt auf lfdnr der sich hochzählt
komme bei diese n choices nd so gut klar mit de website... kann ich da eif machen
language: OptionChoice(Option1="German", Option2="English")):
Wenn ich jetzt abfrage ob die lfdnr eine dieselbe Kundennr hat wie die User_id von dem ist der den Command ausführt und es stimmt dann gibt er genau den einen Datensatz asu
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...
Aus
Wenn aber die lfdnr einer anderen Kundennr zugewiesen ist dann kann er ja keinen Datensatz ausgeben
will ja kein autocomplete nehmen sondern choices
nein so nicht, schau dir am besten mal das video zu embeds an
Verstehst jetzt wie ich meine?
ok
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...
finde das kompliziert
Ja stimmt schon
komme da nd mit 🙂
Aber wüsste nich wie ich das einfacher hinkriegen soll
table pro user
Boah wäre viel komplizierter
Weil ich dann ja pro User in eine Extra tabelle springen müsste
Der Code würde sich um das doppelte verlängern
@restive herald ups, in dem embed video zeige ich gar keine choices, das mache ich in folge 6
ok
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...
danke haha
Und das abfragen nach der Tabelle und diese dann auszuführen wäre viel aufwendiger
kundennr ist doch bei dir aber die user id von dem user der es gekauft hat nh
kommt drauf an für was. bei vielen sachen ist es aber egal
Genau
Aber ich frage beim Befehl nicht die Kundennr ab sondern die LFDNR also die Bestellnummer
Weil die lfdnr nur einmal vorkommen kann weil es der index ist
Und die Kundennummer kann ja öfters vorkommen wenn man mehrere Bestellungen macht
mit "geht nicht" kann ich nicht viel anfangen, dass kann alles heißen
okay kommt bei dem print eig was xD
Wenn der Datensatz vorhanden ist ja
passt doch
Wenn nich dann kommt gar nichts weder eine Fehlermeldung noch irgendeinen Text
ist ja ein print xD
Ja klar
add_roles mit s. wenn da steht dass das es das attribute nicht gibt, kannst du übrigens immer in den docs nachschauen was für attribute es gibt, in diesem fall für Member
Aber das zeigt mir halt dass die Variable dadurch nicht gefüllt wird bzw mit nichts gefüllt wird
@civic granite ich denke mir was und dann sehe ich dein Code und denke mir einf
xD
Und wie soll ich das bitte abfragen ob es mit nichts gefüllt wurde
xD Danke glaub ich 😂
Ne Spaß bei Seite ist halt erstmal fürs testen was in der Variable gespeichert wird wenn es keinen Datensatz gibt
mach doch einf alles aber scheiß doch erstmal darauf xD
Finde dazu nichts passendes 😂 Hab bestimmt ne Stunde gesucht 😂
des ist so des unwichtigste bei nem shop
Ja aber der Rest wäre soweit fertig 😂
sus
Perfekt fangen wir von vorne an 😂
xD
Vielleicht verstehst die Struktur dann besser
finde aiosqlite docs beschissen
Definitiv
Also mach maybe mal eine variable für kundennr weil da steht ctx.author.id ?
Die Kundennr soll ja auch die ID von dem User werden der den Befehl nutzt bzw der ne Bestellung aufgibt
Von dem her ist das legitim
ja aber beim stornieren?
Muss ja abgefragt werden ob die ID die Kundennummer ist wo zur lfdnr gehört
ja würde des danach machen und dann sagen wenn es nd so ist das es nd seine bestellung ist
Hm und wie mach ich das xD
neue variable einf zum einpflegen
Select von der lfdnr
Und dann die lfdnr in eine Variable packen?
Und danach erst die Kundennr selecten
Die in eine andere variable stecken
ist die des nd scho?
Und dann mit dem delete ?
Aber das is im prinzip das selbe
Ach man ich verzweifel noch an dem scheiß
Du meinst dass ich dann /stornieren (bestellnr) (kundennr) habe?
Das hab ich ja
ja ey man
Das ein scheiß oder 😂
Der ganze Shop hat soweit einigermaßen gut geklappt klar ich musste ab und an mal nachfragen wie das nochmal ging aber da konnte mir zumindest bisher immer geholfen werden
Aber an dem letzten Ding da werd ich alt oder wie? 😂
Ich glaub echt bevor ich das hinbekomme bin ich gestorben 😂
Aber es MUSS ja irgendwie möglich sein
Beim programmieren gibt es im Prinzip kein geht nicht
Naja ich geh jetzt mal eine rauchen vllt fällt mir dann noch was ein
Bis in 5 Min
das macht dich noch kaputter hehe
Im Prinzip haste recht aber wenn man schon seit 7 Jahren raucht ist es leider schwer aufzuhören
Versuche es ja immer wieder erst vor 2 Wochen wollte ich komplett Cut machen Kalten Entzug
Am Abend des selben Tages hatte ich dann wieder ne Kippe im Mund
Naja vielleicht irgendwann mal
Ich weiß sind "nur" 7 Jahre es gibt Menschen die haben 40 Jahre geraucht und von heute auf morgen aufhören können
Aber ich kann es nich
Bin wieder da
Und das ohne jegliche Idee
Test = []
Wäre es so eine Möglichkeit?
Dass ich die Zahl da reinpacke?
bzw die kundennr
@tawdry leaf 😅
Sorry falls ich störe oder nerve 😅
ka xD
Perfekt dann hast genau so viel Ahnung wie ich 😂
Ne funktioniert auch nich -_-
Maaaan
ich habe genau genommen ka
?
fpr wasn
"Ich bin habe genau genommen"
Haha wohin gehts xD
meine bei meiner msg xD
grad schlecht
bei description vom embed
das machst du doch?
warte
bei button_callback
send_modal
send_modal ist es aber ka wie des bei py-cord ist
ne
.
also bei discord.py ist es so das man es wie eine normale msg macht nur eben statt send_message send_modal
wie lad ich was aus meiner config.json also jz den token aber ja
hab schon ist egal
Hey Freunde:
Folgendes ich habe 2 Bestellungen gemacht
Und hab mir dann die Bestellungen anzeigen lassen wollen allerdings zeigt er mir nur eine an?
Woran könnte das liegen?
Mehr Details entnehme bitte den Bildern.
Es gab keinen Error
weil du keine for hast
Hm beim anderen ging es aber auch
Ah oke
Habs gefunden
Habs beim anderen mit desc += gemacht
Also die for schleife war schon da nur hat es halt jedes mal überschrieben
lucky mein bester bist du on
könnte deine hilfe gebrauchen daru
m
😮
du weiß ja diesen bot status video von timo wie kann ich es machen das der status sich nur für den einen server ändert ? oder geht das überhaup?
wie kann ich es dann so machen das nur der owner (nur der der den bot gemacht hat) acces zu den command hat
da muss ich irgendwie auf meine discord id zugreifen glaube ich
ich benutze dazu einfach @commands.is_owner()
so dumm bin ich nicht
doch
ich bin dumm
ist doch richtig
dachte man muss da ein if statement benutzen
kaufe dir einf den code xD
30 euro dazu brauch ich nur den welcome code
gibt es bestimmt günstiger xD
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Links aus diesem Video
Easy-PIL Docs ► https://easy-pil.readthedocs.io/
Space Bild ► https://github.com/tibue99/tutorial-bot/blob/main/Einzelvideos/Easy-PIL/space.png
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot
PYCO...
da ist ein video
easy pil hört sich an wie diese drogen von berlin bf
un wie packe ich es in ein embed 🙂
das schaffst du
hmm
ich glaube ich muss den easy pil code als ein variable machen und im embed code schreibe
embed.set_image(test)
oder?
bitte antworte 
huch
es ist 3 uhr
error während ic versuche easy_pil zu installieren
auf der keksbot hosting website geht es aba
gn
Kann den am Handy nd sehen
Ja
Weil das eventuell in den Server Einstellungen aus gemacht wurde
Hm
hab extr administrator rolle auch gemacht
Dann weiß ich es auch nicht
Lol
hää
wie soll ich die jetzt wieder machen?
._.
jetzt ist sie wieder da ._.
der bot hat ein fehler
ich kann pingen
Perfekt
kann man ein code in eine variable packen?
welcome =background = Editor(Canvas((900, 270), "#23272a"))
profile = Editor("assets/pfp.png").resize((200, 200)).circle_image()
# For profile to use users profile picture load it from url using the load_image/load_image_async function
# profile_image = load_image(str(ctx.author.avatar_url))
# profile = Editor(profile_image).resize((150, 150)).circle_image()
# Fonts to use with different size
poppins_big = Font.poppins(variant="bold", size=50)
poppins_mediam = Font.poppins(variant="bold", size=40)
poppins_regular = Font.poppins(variant="regular", size=30)
poppins_thin = Font.poppins(variant="light", size=18)
card_left_shape = [(0, 0), (0, 270), (330, 270), (260, 0)]
background.polygon(card_left_shape, "#2C2F33")
background.paste(profile, (40, 35))
background.ellipse((40, 35), 200, 200, outline="white", stroke_width=3)
background.text((600, 20), "WELCOME", font=poppins_big, color="white", align="center")
background.text(
(600, 70), "Shahriyar#9770", font=poppins_regular, color="white", align="center"
)
background.text(
(600, 120), "YOU ARE MEMBER", font=poppins_mediam, color="white", align="center"
)
background.text(
(600, 160), "GUILD 4359", font=poppins_regular, color="white", align="center"
)
background.text(
(620, 245),
"THANK YOU FOR JOINING. HOPE YOU WILL ENJOY YOUR STAY",
font=poppins_thin,
color="white",
align="center",
)
background.show()```
welcome ist die variable
oder muss ich das in eine file reinpacken die ich dann erwähnen muss?
(wird ein welcome banner im embed)
Nein aber du kannst eine Funktion mit async def machen dort kannst du dann den Code rein packen
wie meinst
nach async def kommt doch der code name
Genau
bin grad verwirrt
async def code(parameter)
Code```
Bin gerade am Handy deswegen kann ichs schlecht erklären
kennst du vllt ein video oder so wo ich es erklärt bekomme 
nö nicht so
async def code(parameter)
Code```
Bin halt am handy sorry
.
ChatGPT hat nur Zugriff auf Daten bis 2021. Bis da gab's sowas wie Buttons usw nixht und py-cord gab's da auch noch nicht.
oh
Meine frage an @solid ingot wie kriegt man hin das in embed.add_field unter value= Farbig wird? wie bei dir ist🙂 Bild
Ping Timo doch nicht für sowas. Der ist nicht der einzige der dir Dinge beantworten kann👀
Was meinst du denn mit Farbig werden?
unter ID, LEVEL und XP die Zahlen.
genau
Das kannst du mit ``` davor und dahinter machen
wie meinst ```py
@slash_command(description='User Xp Level Information')
async def rank(self, ctx):
xp = await self.get_xp(ctx.author.id)
lvl = self.get_level(xp)
embed = discord.Embed(
title=f"RANK INFROMATION ! {ctx.author}", description='', color=0x05fa05)
embed.add_field(name=' ** ⚡ - ID - ⚡ ** ', value=f' {ctx.author.id} ', inline=True)
embed.add_field(name='📈 LEVEL', value=f' {lvl} ', inline=True)
embed.add_field(name='⚔️ XP', value=f' {xp} \n', inline=True)
embed.timestamp = datetime.now()
embed.set_thumbnail(url=ctx.author.avatar.url)
await ctx.respond(content=f"{ctx.author.mention}", embed=embed)
das ist der code abschnitt von rank abfrage
unter value= sollte was noch rein
Farben kannst du zum Beispiel erreichen, indem du bestimmte Programmiersprachen bei den codeblöcken angibst, zB mit ```yaml
muss ich bei easy-pil documentation den codewenn ich den nehme ein bild von mein profilbild als datei reintuen?
das Profilbild kannst du direkt laden ohne datei
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Links aus diesem Video
Easy-PIL Docs ► https://easy-pil.readthedocs.io/
Space Bild ► https://github.com/tibue99/tutorial-bot/blob/main/Einzelvideos/Easy-PIL/space.png
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot
PYCO...
benutze die Antwortfunktion aber bitte zum antworten, nicht zum pingen
probier's aus, dann siehst du ja direkt obs richtig ist
ich hab ein problem mit easy-pil zu installieren muss keksbot hosting website benutzen und das starten dauert übels lang
okay werde Probieren
du kannst durch die Server in einer for schleife durchgehen
bot.guilds bzw self.bot.guilds
ein
dazu habe ich ein Video gemacht
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Links aus dem Video
Tenor API ► https://developers.google.com/tenor/guides/quickstart
Postman ► https://www.postman.com/
Code auf Github ► https://github.com/tibue99/tutorial-bot
Discord Developer Portal ► https://discord.com/developers/applications
Pycord
Docs ► https://docs.pycord.dev/
Gui...
oh fuck
weiss ein wurde warum nicht import
Reinstall easypil or check if its correctly in the interpeter settings
Hast du easy-pil importiert?
ja
Dann das
Was für ein error steht da?
guck in #1094609741130498049
async def afk(ctx, *, grund=None, _afk=None):
member = ctx.author
current_name = member.display_name
if member == ctx.guild.owner:
return
if member.id in _afk:
_afk.remove(member.id)
await member.edit(nick=current_name[5:])
await ctx.send(f'{member.mention} ist wieder da!')
else:
_afk.append(member.id)
await ctx.send(f'{member.mention} Ist jetzt AFK. Grund: {grund}')
await ctx.respond("Du bist nun AFK!", ephemeral=True)
await member.edit(nick=f'[AFK] {member.display_name}')
await ctx.respond(embed=embed)
@bot.event
async def on_message(message, _afk=None, ctx=None):
if message.author.bot:
return
for mention in message.mentions:
if mention.id in _afk:
await message.reply(f'{mention.display_name} ist gerade AFK!')
await bot.process_commands(message)
await bot.process_commands(message)
```await ctx.respond(embed=embed)
ja
Ja du kannst nicht 2 mal responden
doch 
doch, aber man muss trotzdem responden
☹️
@ruby sparrow wenn eine deiner If Bedingung true wird, hast du keine response. dann wird also auch nicht geantwortet
wo ich hin machen
bei allen fällen
wenn du einfach Return machst wird natürlich auch keine Antwort gesendet
also
also timo könnst du kurz call
bin nicht zu hause
so
Nein vor dem return musst du noch einmal responden
Und dann noch nach der if abfrage
so
Nein… await ctx.respond….
Bitte guck dir noch mal die ersten vids von coding keks an
nicht im Event, sondern im Slash command
wieso änderst du was am on message Event, hattest du nicht gefragt wieso dein slash command nicht funktioniert?
Oh das habsch nicht gesehen
was soll ich mit den bild der von easy-pil code rausgekommen ist tuen
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Links aus diesem Video
Easy-PIL Docs ► https://easy-pil.readthedocs.io/
Space Bild ► https://github.com/tibue99/tutorial-bot/blob/main/Einzelvideos/Easy-PIL/space.png
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot
PYCO...
Weiß ich nicht was du willst
fornite
Ok
ey timo wie kann ich den pixel ungefähr bei einen image finden?
zeige ich im video
nein

paint
wie mache ich ein easy-pil bild in ein embed
Hey. Wie kann ich nen Namen von nem user, der mein Modal gerade ausfüllt, abgreifen und in ner embed nach dem abschicken wiedergeben?
Soll ne mention im embed werden ^^
auf den user kannst du mit interaction.user zugreifen, und mention dann mit interaction.user.mention
An welcher stelle müsste ich denn das ganze einfügen? Hab noch nicht die lange python Erfahrung. Ich hangel mich da seit Stunden langsam mit deinen Tutorials durch ^^
embed = discord.Embed(
title="Testtitle",
color=discord.Color.green()
)
embed.add_field(name="test1:", value=self.children[0].value, inline= False)
embed.add_field(name="test2:", value=self.children[1].value, inline= False)
embed.add_field(name="test3:", value=self.children[2].value, inline= False)
await interaction.response.send_message(embed=embed)```
Ist das dann überhaupt im callback einzufügen?
naja da wo du das stehen haben möchtest
wenn du z.b. in der description stehen haben möchtest machst du:
description='{interaction.user.mention} hat das Modal benutzt',
Super! Das hat schonmal funktioniert. Vielen Dank!
Was muss ich denn anfügen wenn ich dem User, der das modal ausgefüllt hat eine Rolle zuweisen will? Funktioniert das mit „await interaction.user.add_role (roleID)? Oder muss man das anders machen?
wie du es normerweise machst
erst rolle getten
und hinzufügen aber statt member halt interaction.user
async def callback(self, interaction):
if self.values[0] == 'Bewerbung':
await interaction.response.send(Bewerbung())
elif self.values[0] == 'Sponsering':
await interaction.response.send(Sponsering())
elif self.values[0] == 'Allgemeiner Support':
await interaction.response.send(Allgemeiner_Suppport())
elif self.values[0] == 'Bug Report':
await interaction.response.send(Bug_Report())
elif self.values[0] == 'User Report':
await interaction.response.send(User_Report())
elif self.values[0] == 'Admin Ticket':
await interaction.response.send(Adminticket())
wie kann ich ein modal in einem Select absenden?
bei send_modal kommt ein error
File "/home/container/.local/lib/python3.10/site-packages/discord/ext/tasks/__init__.py", line 169, in _loop
await self.coro(*args, **kwargs)
File "/home/container/cogs/Key.py", line 113, in check_expiry
expiry = datetime.datetime.strptime(user[4], "%Y-%m-%d %H:%M:%S")
IndexError: tuple index out of range```
code ```py
@tasks.loop(minutes=5)
async def check_expiry(self):
async with aiosqlite.connect("database.db") as db:
now = datetime.datetime.utcnow()
cursor = await db.execute("SELECT * FROM users WHERE redeemed = TRUE")
users = await cursor.fetchall()
for user in users:
expiry = datetime.datetime.strptime(user[4], "%Y-%m-%d %H:%M:%S")
if expiry < now:
guild = self.bot.get_guild(1093476234538799195)
member = guild.get_member(user[1])
role = discord.utils.get(guild.roles, name="Basic Users")
await member.remove_roles(role)
await db.execute(
"UPDATE users SET redeemed = FALSE, expiry = NULL WHERE user_id = ?",
(user[1],),
)
# Send message and ping user in channel
channel = self.bot.get_channel(1094667794768994404) # replace with appropriate channel ID
await channel.send(f"Hey {member.mention}, the code has expired. **Please renew it!**")
# DM user about renewing code
user_id = 1074232009196580905 # replace with appropriate user ID
user = self.bot.get_user(user_id)
if user:
dm_channel = await user.create_dm()
await dm_channel.send("Hey there, the code has expired. **Please renew it by typing /code_assign! and put it on linkvertise and send the linkvertise link in key updates**")
await db.commit()```
Hey
bei der Rank Nachricht ist der Text ja hier blau
Wie geht das, das der Text eine andere Farbe hat?
genau die frage hattie ich auch
Kannst du mir noch mal sagen um welche Nachricht es sich handelt
Habe ich im Internet gefunden
Aber du musst gucken ob das so ganz funktioniert
Blau
blau```
Blauer Text
geht nd @obtuse estuary
und gibts das noch in dark theme
Du musst mich nicht pingen wie gesagt habe ich auch nicht garantiert
sorry
Probier ich nachher nochmal aus danks
👍
Vielleicht geht das nur in embeds
ja dan guck ich das schnnell
@snow hatch ich weiss wie du blauen text machst aber dan hast du sein # da vor
Wie?
Kp
Sehe am Handy gerade nuchts
Hey. Ich hab ein modal in nem cog das mit nem Button aufgeht. Nun ist der Button nach jedem Neustart neu zu generieren. Gibts eine Möglichkeit den nach einem Neustart automatisch wieder aktiv zu schalten?
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...
Das wird in dem Video erklärt
ooh das muss ich auch noch gucken
Ah super. Dann schau ich mir das später mal an. Danke 🙂
Muss das # davor?
ja sonst ist es nicht blau
Aber das # wird dann ja mitgesendet
Muss ja was geben womit es nicht gesendet wird
Rebane's Discord Colored Text Generator
danke!
Oh lol Huch
Kein ding xd

[1;2m[1;31m[1;41m[1;47m[1;37mTest[0m[1;31m[1;47m[0m[1;31m[1;41m[0m[1;31m[0m[0m[1;2m[1;2m[1;2m[1;2m[1;2m[1;2m[1;2m[1;2m[0m[0m[0m[0m[0m[0m[0m[0m
aja
Wie bekomme ich denn das embed in nen anderen channel?
await interaction.response.send_message(embed=embed)```
das embed
channel = self.bot.fetch_channel(CHANEL_ID)
await channel.send(embed=EMBED_NAME)
Ich bin [2;31m[2;31m[2;31mB[2;34mu[2;35mn[2;36mt[0m[2;35m[2;31m[2;36m[0m[2;31m[0m[2;35m[0m[2;34m[2;35m[0m[2;34m[0m[2;31m[2;34m[0m[2;31m[0m[2;31m[0m[2;31m[0m[2;31m[0m
klappt wie geil
Brauche ich in dem fall dann kein "interaction.response" mehr?
wenn du nur das embed senden willst nein
Hätte gedacht das muss mit rein, wenn das embed von nem modal kommt.
aso wenns davon kommt habe ich keine ahnung, ich kenne mich nicht mit buttons, modals etc aus lol
ich muss noch die vids von timo gucken
Das geht garnicht. Hab das jetzt so gelöst:
await channel.send(embed=embed)
await interaction.response.send_message(embed=embed, ephemeral=True)```
from discord.ext import commands
from discord.commands import slash_command
class Base(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command()
async def button1(self, ctx):
await ctx.respond("Click here", view=View)
def setup(bot):
bot.add_cog(Base(bot))
class View(discord.ui.View):
@discord.ui.button(
label="Click here",
style=discord.ButtonStyle.primary,
emoji="",
)
async def button_callback(self, button, interaction):
await interaction.response.send_message(
"Hey! Thank you that you clicked me, I was starting to get lonely\n\nHeres a cookie because you clicked me "
)
error ```Ignoring exception in command button1:
Traceback (most recent call last):
File "C:\Dev\Lunar\venv\lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
File "C:\Dev\Lunar\venv\lib\site-packages\discord\commands\core.py", line 978, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Dev\Lunar\cogs\Button.py", line 12, in button1
await ctx.respond("Click here", view=View)
File "C:\Dev\Lunar\venv\lib\site-packages\discord\commands\context.py", line 282, in respond
return await self.interaction.response.send_message(
File "C:\Dev\Lunar\venv\lib\site-packages\discord\interactions.py", line 789, in send_message
payload["components"] = view.to_components()
TypeError: View.to_components() missing 1 required positional argument: 'self'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Dev\Lunar\venv\lib\site-packages\discord\bot.py", line 1114, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Dev\Lunar\venv\lib\site-packages\discord\commands\core.py", line 375, in invoke
await injected(ctx)
File "C:\Dev\Lunar\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: TypeError: View.to_components() missing 1 required positional argument: 'self'```
hinter view=View() fehlen die runden klammern
ui danke hier ein keks für dich
import discord
from discord.ext import commands
from discord.commands import slash_command
class Modal(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command()
async def modal(self, ctx):
modal = Modal2(title="Create an Embed!")
await ctx.send_modal(modal)
def setup(bot):
bot.add_cog(Modal(bot))
class Modal2(discord.ui.Modal):
def __init__(self, *args, **kwargs):
super().__init__(
discord.ui.InputText(
label="Embed Title", placeholder="The title of the embed"
)
*args,
**kwargs
)
Traceback (most recent call last):
File "C:\Dev\Lunar\venv\lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
File "C:\Dev\Lunar\venv\lib\site-packages\discord\commands\core.py", line 978, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Dev\Lunar\cogs\Modal.py", line 12, in modal
modal = Modal2(title="Create an Embed!")
File "C:\Dev\Lunar\cogs\Modal.py", line 23, in __init__
discord.ui.InputText(
TypeError: can't multiply sequence by non-int of type 'InputText'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Dev\Lunar\venv\lib\site-packages\discord\bot.py", line 1114, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Dev\Lunar\venv\lib\site-packages\discord\commands\core.py", line 375, in invoke
await injected(ctx)
File "C:\Dev\Lunar\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: TypeError: can't multiply sequence by non-int of type 'InputText'```
Traceback (most recent call last):
File "C:\Dev\Lunar\venv\lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
File "C:\Dev\Lunar\venv\lib\site-packages\discord\commands\core.py", line 978, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Dev\Lunar\cogs\Modal.py", line 12, in modal
modal = Modal2(title="Create an Embed!")
File "C:\Dev\Lunar\cogs\Modal.py", line 29, in __init__
style=discord.ui.InputTextStyle.long,
AttributeError: module 'discord.ui' has no attribute 'InputTextStyle'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Dev\Lunar\venv\lib\site-packages\discord\bot.py", line 1114, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Dev\Lunar\venv\lib\site-packages\discord\commands\core.py", line 375, in invoke
await injected(ctx)
File "C:\Dev\Lunar\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: AttributeError: module 'discord.ui' has no attribute 'InputTextStyle'```
code ```py
import discord
from discord.ext import commands
from discord.commands import slash_command
class Modal(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command()
async def modal(self, ctx):
modal = Modal2(title="Create an Embed!")
await ctx.send_modal(modal)
def setup(bot):
bot.add_cog(Modal(bot))
class Modal2(discord.ui.Modal):
def __init__(self, *args, **kwargs):
super().__init__(
discord.ui.InputText(
label="Embed Title", placeholder="The title of the embed"
),
discord.ui.InputText(
label="Embed Description",
placeholder="The description of the embed",
style=discord.ui.InputTextStyle.long,
),
*args,
**kwargs
)
async def callback(self, interaction):
e = discord.Embed(
title=self.children[0].value,
description=self.children[1].value,
color=discord.Color.blurple()
)
await interaction.response.send_message(e)
```
das hast du so im vid gezaigt 🤷♂️
und es hat auch so geklappt
ne modals
oh huch
timo bei mir wird sowas gesendet <discord.embeds.Embed object at 0x000001D57D8E9510> und nicht das embed
ah ne nvm
Du musst embed=e machen
ja hab ich gesehen 
Supi
ist es normal das ich hier kein error bekomme?
if discord.UserFlags.partner in member.public_flags:
role = guild.get_role(1018231774435868823)
await member.add_roles(role)
if discord.UserFlags.verified_bot_developer in member.public_flags:
role1 = guild.get_role(1094781639109902346)
await member.add_roles(role1)
if discord.UserFlags.early_supporter in member.public_flags:
role3 = guild.get_role(1094822334512246825)
await member.add_roles(role3)
ja wenn's nicht zu den If Abfrage passt ignoriert es auch
versuchs Mal mit prints
text
Ich bin [2;31m[2;31m[2;31mB[2;34mu[2;35mn[2;36mt[0m[2;35m[2;31m[2;36m[0m[2;31m[0m[2;35m[0m[2;34m[2;35m[0m[2;34m[0m[2;31m[2;34m[0m[2;31m[0m[2;31m[0m[2;31m[0m[2;31m[0m
Was soll ich printen?
komm sag mal wie
ob es überhaupt zu den If abfragen gelangt...
brauche jemanden der mein server joint mit active_developer.
-_- schick Link dm
in bio
Ignoring exception in on_member_join
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/join_role.py", line 27, in on_member_join
if discord.UserFlags.active_developer in member.public_flags:
AttributeError: type object 'UserFlags' has no attribute 'active_developer'
sollte gehen
ne geht nicht leider
Code durchlesen
welchen code
Den von ezcord
ne
dann ist das dein Problem wenn du nicht lernen willst 
es gibt aber die docs
ja die auch
hey hey, will bei ner datenbank nen boolean eingeben... weiß jmd wie ich das mache? muss ich da eif True bei Value angeben oder 1 für true 0 für false?
welche datenbank nutzt du denn? bei den meisten wird das als INTEGER gemacht
Hier könntest du dich natürlich auch zu belesen ;) https://www.w3schools.com/sql
sqlite3 nutze ich. hab ich auch zuerst gemacht das ich das so hatte:
await db.execute(
"""
CREATE TABLE IF NOT EXISTS secon (
server_id STR PRIMARY KEY,
lr1 STRING,
lr2 STRING ,
lr3 STRING,
lr4 STRING,
lr5 STRING,
language STRING,
disabled INT DEFAULT 0,
)
"""
)
Und dann halt mit
await db.execute("UPDATE secon disabled = 1")
das updaten zu 1
ja
STRING gibt bei standardmäßig bei sqlite nicht, da würde ich TEXT empfehlen, und die server_id kannst du zb als integer abspeichern
ja lr1 soll eigtl. Levelrollen ID sein... hab ich zuerst gemacht das man die als INT angeben soll aber da stand das das keine ganze zahl ist lol aber danke, mach ich
ah ja, bei den slash commands geht es nicht als int, bei sqlite aber schon
deswegen hab ich STR hingeschrieben
aber ich ersetze es mal durch TEXT
ach ne warte ich merks xD
also wenn ich z.b. jtzt machen will das etwas true oder false ist kann ich das so machen oder:
async with aiosqlite.connect(self.DB) as db:
await db.execute(
"""
CREATE TABLE IF NOT EXISTS beispiel (
wert INT DEFAULT 0)""")
Erstes Einfügen zu richtig:
async with aiosqlite.connect(self.DB) as db:
await db.execute("INSERT INTO beispiel (wert) VALUES (1))")
überprüfen obs richtig oder falsch ist
async with aiosqlite.connect(self.DB) as db:
async with db.execute("SELECT wert FROM beispiel") as cursor:
result = await cursor.fetchone()
if result == 1:
print("Wert ist Richtig")
Hallo, wieso kommt bei meinem Bot dieser Fehler?
Application Command raised an exception: Forbidden: 403 Forbidden (error code: 50001): Missing Access
Der Bot hat Adminrechte
code bitte
haste den main.py code von Timo übernommen? Wenn ja schau mal ob da debug_guilds sind und entferne die entweder oder ersetze sie durch deine guild_id
das habe ich alles schon gemacht, aber trotzdem danke
zeig eif mal code
welchen? main.py

erstmal main datei würd ich sagen
wobei kam der error denn? wenn du nen command ausführen wolltest?
bei report.py
dann zeig report.py
darf man den ganzen Code hier rein schicken? von report.py
ich würde denken ja oder steht ne bestimmte zeile da
war der fehler in ner bestimmten zeile?
der Fehler kommt in Discord:
Code????
Hast du den richtigen Channel angegeben? und hat der Bot alle rechte?
Habe die Falsche Channel ID kopiert

Danke für die Hilfe
können wir dazu zurückkommen? 👁️
schick mir den ganzen error
der bot hat kein zugriff auf den channel oder guild

Der Fehler ist schon behoben, aber trotzdem danke
create_instant_invite
Pycord
Some classes are just there to be data containers, this lists them. Unlike models you are allowed to create most of these yourself, even if they can also be used to hold attributes. Nearly all clas...
das kannst du immer hier nachschauen: https://docs.pycord.dev/en/stable/api/data_classes.html#permissions
Pycord
Some classes are just there to be data containers, this lists them. Unlike models you are allowed to create most of these yourself, even if they can also be used to hold attributes. Nearly all clas...
Ah timo war schneller
moin, weiss wer was ich zu mein bot hinzufühgen kann etwas was ich noch nicht getan habe(moderation usw hab ich schon)
meinst du sowas wie client = discord.Bot() is das gleiche als bot = discord.Bot() ja
nein meine sachen wie z.b die discord.VoiceClient sachen
da ich mir da jetzt unsicher bin ob ich damit auch den status von usern herausfinden kann
discord.Bot und discord.Client unterscheiden sich, weil discord.Client sehr veraltet ist und discord.Bot nicht.
discord.VoiceClient hat aber nichts mit Bot oder Client zu tun, das heißt einfach so
achso
sollte man bei einem voice leveling system eher mit connect und disconect arebeiten oder on_voice_state_update?
ticket lvl fun commands? xD
Eine Frage:
Wie kann man ein Ticketsystem erstellen?
die abläufe?
also was alels drin sein muss?
ja
mom.
ich habs so das ich nen embed mit nem command schicke, das embed hat nen button wo wenn man draufklickt nen channel (das ticket) erstellt wird, wenn man darein geht kann man sich die ticketregeln durchlesen ticket claimen und schließen. man kann auch noch log etc. hinzufügen
ich hab noch nen anderen command mit dem man ticket konfiguriert weil mein system auf verschiedenen servern verwendet werden können soll
ok, danke
kannste gerade call?
leider nicht
schade
mein mic geht nicht
hmm das mies
moin was mache ich falsch das ich kein xp kriege? Datenbank wird in einer anderen klasse erstellen ```py
class VoiceLeveling(commands.Cog):
def init(self, bot):
self.bot = bot
async def on_voice_state_update(self ,member, before, after):
data = dict()
await self.check_user(member)
xp = 10
minutes = (time.time() - data[member.id]) // 60
async with aiosqlite.connect(self.DB) as db:
await db.execute(
f"UPDATE users SET xp = xp + (? * {minutes}) WHERE user_id = ?", (xp,member.id)
)
await db.commit()
du schreibst xp,member.id heißt aber xp.member.id ig
also du hast komma statt punkt gesetzt ig
gerne xD
und member id das zweite ?
weißt du was ich sonst falsch mache
ich weiß jtzt nd ob das bei db's so ist ob man f string benutzen kann, könntes sein das du
statt
xp + (? * {minutes}= (? * ?)
machen musst?
weiß ich auch nicht
weil wozu gibts sonst das system mit ?
habe nicht soviel erfahrung mit db
wenn du mir das ticket system beschreibst also wie es funktionieren soll kann ich es probieren
kannst du call? dann gerne
wie vergibt maan nh rolle wenn man auf ein button drückt
ja gleich
jo bin im coding channel
glaube interaction.user.add_rolle()
in #1027677692730036294 gibts nen paar rr codes da kannst schauen
also habe mal gemacht das er einfach was printen soll wenn voice state sich ändert aber macht nichts wieso? Muss ich irgendwas importieren oder was mache ich falsch?
@solemn musk internet leider zu schlecht
ich merks 
xD
ich mach das lvl system eif komplett neu
kann dich ja fragen bei db fragen
benutzt aiosqlite das ist besser 
sqlite3 👀
aiosqlite
aiosqlite basiert auf sqlite3
ist nur asyncron
also ist aiosqlite einfach nur asynchrones sqlite3
benutze das was timo im tuto benutzt xD
ja er nutzt aiosqlite xD
dann hab ich mich verschaut haha
das heißt genau das was da steht
du hast zu viele requests an die discord api geschickt
Kann nicht sein
hast jetzt nen api ban
ja doch
wie du siehst
Komischer weiße sind meine beiden bots Offline
< HTTP/1.1 429 TOO MANY REQUESTS
< Content-Type: application/json
< Retry-After: 65
< X-RateLimit-Limit: 10
< X-RateLimit-Remaining: 0
< X-RateLimit-Reset: 1470173023.123
< X-RateLimit-Reset-After: 64.57
< X-RateLimit-Bucket: abcd1234
< X-RateLimit-Scope: user
{
"message": "You are being rate limited.",
"retry_after": 64.57,
"global": false
}
wie heißt nochmal das Statement wenn der User was an seinem Profil ändert
Meinst du das Event on_member_update?
ja
was brauch das Event alles
ich habe self und member gegeben aber er sagt
-takes 2 positional arguments but 3 were given```
schau mal in die docs
bin nicht sicher, aber vermute before und after
alles gut habe es gefunden
ja so war es auch
👍🏽
TEXT glaube
✅
@solid ingot
ka 30min her
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...
Wie gebe ich jemand eine role wenn er ein button drückt
rolle getten und mit add_roles dem member die rolle geben
also so wie normal
ja normal halt also
role = self.bot.get:role(ROLE_ID)
await member.add_roles(role)
get_role
ja normal halt
Das sagt nicht viel aus, gibt noch andere möglichkeiten nh rolle zu getten, die für andere wiederum „normal“ wären
aber ja oder nein
was ja oder nein?
ja mache ich es wie ich gesagt habe oder nicht
Traceback (most recent call last):
File "C:\Dev\Lunar\venv\lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "C:\Dev\Lunar\cogs\Button.py", line 29, in button_callback
role = self.bot.get_role(1095093132397379624)
AttributeError: 'View' object has no attribute 'bot'```
```py
class View(discord.ui.View):
@discord.ui.button(label="Verifizier", style=discord.ButtonStyle.success, emoji="✅")
async def button_callback(self, button, interaction):
e = discord.Embed(title="Erfolgreich verifiziert", color=discord.Color.green())
await interaction.response.send_message(embed=e)
role = self.bot.get_role(1095093132397379624)
await interaction.add_roles(role)
@client.tree.command()
async def userinfo(interaction:discord.Interaction, member:discord.Member=None):
if member is None:
member=interaction.user
userstatus = interaction.guild.get_member(member.id).status
banner_user = interaction.guild.get_member(member.id)
rlist = []
for role in member.roles:
rlist.append(str(role.mention))
rlist.reverse()
embed = discord.Embed(title=f"Userinfo über {member.display_name}", color=0x5965f2)
embed.add_field(name="Name:", value=f"{member}")
embed.add_field(name="Nickname", value=f"{member.nick}" if member.nick else "hat keinen Nickname",inline=True)
embed.add_field(name="Display Name", value=f"{member.display_name}")
embed.add_field(name="Farbe", value=f"{member.colour}")
# embed.add_field(name="Aktivität", value=f"{str(member.activity.type).title().split('.')[1]} "
# f"{member.activity.name}" if member.activity is not None
# else "nicht gegeben", inline=False)
embed.add_field(name="Erwähnung", value=f"{member.mention}")
embed.add_field(name="Status:", value=userstatus)
embed.add_field(name="Booster", value=f"Ja" if member.premium_since else "Nein")
embed.add_field(name="Höchste Rolle", value=f"{member.top_role.mention}")
embed.add_field(name="Bot:", value=f'{("Ja" if member.bot else "Nein")}')
embed.add_field(name="Server beigetreten:", value=f"<t:{int(member.joined_at.timestamp())}:R>")
embed.add_field(name="Discord beigetreten:", value=f"<t:{int(member.created_at.timestamp())}:R>")
embed.add_field(name=f"Rollen: {len(member.roles) - 1}", value=','.join(rlist))
embed.add_field(name="Aktivität",value=member.activities)
embed.set_author(name=f"{member}", icon_url=f"{member.display_avatar}")
embed.set_image(url=banner_user.banner)
embed.set_thumbnail(url=f"{member.display_avatar}")
embed.set_footer(text=f'Angefragt von {interaction.user.name} • {interaction.user.id}', icon_url=interaction.user.display_avatar)
await interaction.response.send_message(embed=embed)```
Jemand eine Idee wieso da dann nur () Kommen bei der Aktivität
ist discord.py btw xD
hey, zu diesem error habe ich ein video erstellt, ich schicke es direkt
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...
müsste des sein?
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github ► https://github.com/tibue99/tutorial-bot
Discord Developer Portal ► https://discord.com/developers/applications
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discord.gg/pycord
Heute klären wir eine Frage, die ...
asoo xD
das hier @solemn musk
intent aktiviert?
intents.members = True
ich hab in code austausch nach nem verify system geguckt und da mir das mit der rolle raus genohmen also denke ich es geht jz
brauchst presence intent
ja
hatte ich schon an
auch im code?
liegt nd daran
ne
siehste
ging früher ohne 🙂
früher als es noch keine intents gab
hm ist vllt was dran
Traceback (most recent call last):
File "C:\Dev\Lunar\venv\lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "C:\Dev\Lunar\cogs\Button.py", line 33, in button_callback
await interaction.user.add_roles(role)
File "C:\Dev\Lunar\venv\lib\site-packages\discord\member.py", line 1007, in add_roles
await req(guild_id, user_id, role.id, reason=reason)
File "C:\Dev\Lunar\venv\lib\site-packages\discord\http.py", line 365, in request
raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions```
ich check nicht warum er das sagt der bot hat alle rechte
auch mit allen rechten gibt es einschränkungen bei rollenverteilung
der user ist über den bot?
wie meinst du
Ich vermute der User hat mehr Rechte als der Bot
ne
also der Bot steht unter dem User in der Hierachie
okay gleiche Rollen?
hm verstehe nd genau was du meinst
ich hab den server gemacht und versuch mir nh rolle zu geben durch ein button geht das
sag es doch einfach
les es doch einfach nach
icon
nein, das ist veraltet
aber mit icon_url geht es
dann solltest du deine version upgraden
Hey, verstehe diesen fehlercodde nicht
C:\Users\gianl\PycharmProjects\discordbot\cogs\task.py:26: RuntimeWarning: coroutine 'Loop.call' was never awaited
self.is_connected()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
@tasks.loop(seconds=1)
async def is_connected(self, user):
print("a")```
will halt ein leveling system machen deshalb soll er prüfen ob wer im voice ist
nicht der ganze code xD
was braucht ihr den noch? Es ist ja erstmal eine ganz normale task
import discord
from discord.ext import commands, tasks
from cogs.level_system import VoiceLeveling
from cogs.library import Vorlagen
from cogs.embeds import Buttons
from cogs.feedback import FeedbackButton
class Task(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.persistent_views_added = False
@commands.Cog.listener()
async def on_ready(self):
self.channel_task.start()
if not self.persistent_views_added:
self.bot.add_view(FeedbackButton())
self.bot.add_view(Buttons())
self.bot.add_view(Vorlagen())
self.persistent_views_added = True
self.deletecommands.start()
self.is_connected()
@tasks.loop(minutes=1)
async def deletecommands(self):
def is_not_pin(message):
return not message.pinned
channel = self.bot.get_channel(962322711554715708)
await channel.purge(limit=100, check=is_not_pin)```
also will ja erstmal nur das es klappt, dann baue ich die db ein
das ist doch der loop name so wie bei on_ready
@crude heath
thx
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...
bei den db videos benutzt timo bei events immer wieder user_id, wo bekommt er die her? 👀
Das zeigt er da doch
Meinst du etwa "user_id" im SQL Statement?
zb bei
async def get_xp(self, user_id):
Wo kommt da diese user_id her
die get_xp methode wird von verschiedenen stelle aufgerufen. immer wenn die methode augerufen wird, wird die user_id an die methode übergeben.
im on_message event erhältst du die ID durch message.user.id und rufst damit die get_xp methode auf
ok, danke. bei check_user ist es auch so denke ich mal?
ja
d. h. ich kann auch ein guild_id nehmen und das wär dann bei on_message halt eif message.guild.id oder?
ja
danke
Hallo, wie verwendet man das #💻・cookie-hosting ?
hey, bei #💻・cookie-hosting findest du eine anleitung
Welche Dateien muss ich hinzufügen?
alle dateien die du für deinen bot brauchst, plus die requirements datei
muss in der requirements Datei drinn stehen:
py-cord
ja
ok



geschenkt!
