#Allgemeine Hilfe
1 messages · Page 23 of 1
nein?
Code?
Doch nicht den ganzen ._.
Nur den part wo der error auftritt
Was ist denn "emojis"
Also als was ist dies definiert?
?
Die Frage war, wo / als was "emojis" definiert ist
?
Die Frage war, wo / als was "emojis" definiert ist
Die Frage war, wo / als was emojis definiert ist
@urban glen Zeig mal deine json datei mit den Emoji
Oder printe mal "emojis.keys()"
am dümmsten
- dümmer
Asso dachte wegen Adjektiv.. also dumm.. halt
Ach egal
xD
Natürlich kommt dann der Fehler list index out of range, wenn nix in der Json eingetragen ist

In dem Code den du geschickt hast sehe ich nichts davon
ok
wieso geht das nicht?
send_channel = await self.get_ticket_channel
Weil du es ja in der cog klasse machst
ok perfekt danke
👌
das ist kopierter code von blue...
... also wenn du den code von mee6 bekommst, versuchst du den auch zu verstehen 👀
wenn man noch am Anfang ist das schlechteste komplett zu kopieren
was man hier leider immer häufiger sieht ...
Mal eine frage, will gerne einen autodelete bot coden, geht das mit phyton? Ja oder? Ist das zu schwer als beginner ? was brauche ich dafür
ja
kann mir wer helfen?
hab ich auch lol hab halt kein pip installiert
installier dir pip
oder das :D
hab vs code
wie kann ich das erweitern:
discord.errors.HTTPException: 400 Bad Request (error code: 30034): Max number of daily application command creates has been reached (200)```
gar nicht
du musst bis morgen warten xd
oder neuen bot erstellen
könnte mir wer helfen??
import discord
from discord import Client
client: Client = discord.Client()
@client.event
async def on_member_join(member):
channel = client.get_channel(1083413196561457312)
await channel.send(f'Willkommen auf dem Server, {member.mention}! 1101')
def check(msg):
return msg.channel == channel and msg.author == member and msg.content == '1101'
msg = await client.wait_for('message', check=check)
role = discord.utils.get(member.guild.roles,
name='👥 × Mitglied')
await member.add_roles(role)
await channel.send(f'{member.mention} wurde erfolgreich verifiziert!')
Warum sendet er keine Nachricht
INTENTS
Kann ich irgendwie ein Objekt einer Slash-Command Klasse übergeben bevor der Command aufgerufen wird um es dann im Command Aufruf zu verwenden?
kann ich ein attachment einfach so durchreichen bis ich es verwenden will oder muss ich es sofort umwandeln in ein Objekt?
Also ich will eine csv Datei verarbeiten
Jemand da für en bisl Hilfe?
bekomme das file vom user aber verstehe nicht genau wie ich es in ein Format bringe das ich verarbeiten kann. Wie wende ich die read Methode eines Attachments an? bzw gibt die mir überhaupt das was ich brauche. Habe dann versucht mit: with open(file, mode="r") as csv_file: das File zu lesen, bekomme aber den Error:TypeError: expected str, bytes or os.PathLike object, not coroutine
das Attachment müsstest du glaub ich erstmal mit Attachment.to_file() in eine Datei umwandeln, und dann solltest du es ganz normal verwenden können
schau aber noch Mal in den Docs bei attachment
alles klar danke
Hey, ich bekomme andauernd diese fehlermeldung:
Traceback (most recent call last):
File "/Users/konjarehm/PycharmProjects/simpletry/venv/lib/python3.10/site-packages/discord/client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "/Users/konjarehm/PycharmProjects/simpletry/venv/lib/python3.10/site-packages/discord/bot.py", line 1164, in on_connect
await self.sync_commands()
File "/Users/konjarehm/PycharmProjects/simpletry/venv/lib/python3.10/site-packages/discord/bot.py", line 738, in sync_commands
app_cmds = await self.register_commands(
File "/Users/konjarehm/PycharmProjects/simpletry/venv/lib/python3.10/site-packages/discord/bot.py", line 531, in register_commands
prefetched_commands = await self._bot.http.get_guild_commands(
File "/Users/konjarehm/PycharmProjects/simpletry/venv/lib/python3.10/site-packages/discord/http.py", line 365, in request
raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access
will nen command machen der das server icon anzeigt, intents sind bei mir
intents.members = True
intents.guilds = True
was beduetet der error / wie beheb ich ihn?
du musst im developer portal auch den hacken setzen
wahrscheinlich hast du ein paar oder alle Commands auf eine bestimmte Server ID beschränkt, aber der bot scheint keinen Zugriff auf den Server zu haben
habs gefunden, danke... xD
bist echt nen guter 🙂
was genau fehlt ihn diff -raise Forbidden(response, data)discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access
wahrscheinlich hast du ein paar oder alle Commands auf eine bestimmte Server ID beschränkt, aber der bot scheint keinen Zugriff auf den Server zu haben
🤔
ja habs gefunden xD
aber jtzt werden iwie nd meine commands angezeigt
lul ich auch
werden nd angezeigt oder was bei dir
das zweite Mal hab ich's nur geschrieben weil Agent P kurz danach genau denselben Fehler reingeschickt hat :D
ok
hast du eine idee wieso?
auf was hast du guild_ids gesetzt?
du meinst was ich für ne debug_guild gemacht habe?
ja
halt auf den server für den der bot ist
bot = discord.Bot(
intents=intents,
debug_guilds=[847828784974397460]```
leak
sry
Leak
ich sollte doch sagen auf was ich guild gemacht hab
Alles gut war spaß
hmm der Code sieht gut aus
soll ich mal den kompletten schicken?
wenn der bot nicht auf beiden server ist, ist das da
was ist den das problem?
command wird nicht angezeigt
ist nur eine guild wo der draufmuss und da is er drau
ist er richtig eingerückt?
import discord
import os
from dotenv import load_dotenv
from discord.ext import commands
from discord.commands import slash_command
intents = discord.Intents.default()
intents.members = True
intents.guilds = True
bot = discord.Bot(
intents=intents,
debug_guilds=[847828784974397460] # hier server id einfügen
)
@bot.event
async def on_ready():
print(f"{bot.user} ist online")
@slash_command(description="Zeige das Servericon an"
"")
async def servericon(ctx):
icon_url = ctx.guild.icon_url
embed = discord.Embed(title="Server Icon")
embed.set_image(url=icon_url)
await ctx.send(embed=embed)
load_dotenv()
bot.run(os.getenv("TOKEN"))
Den command verschieb ich später noch in das cog
*ein cog
Was los, worum gehts?
ein heißt @bot.slash_command
commands werden nicht angezeigt
ok
Er hat slash_command importiert
Also macht es keinen unterschied
aber in der main
muss man das nicht so machen wenn man in der main ist
Mensch Pascal, du import noob

wird jtzt btw angezeigt
mein sachen gehen aber
nach em @bot.slash_command
sag ich doch😃
oha
@solid ingot also so ein verhalten kann ich hier nicht dulden!!
Bitte helf dem lieben Pascal anständig, sonst muss ich dir mit nem timeout drohen 
Pascal giga Chad
jtzt kommt aber das hier:
Ignoring exception in command servericon:
Traceback (most recent call last):
File "/Users/konjarehm/PycharmProjects/simpletry/venv/lib/python3.10/site-packages/discord/commands/core.py", line 124, in wrapped
ret = await coro(arg)
File "/Users/konjarehm/PycharmProjects/simpletry/venv/lib/python3.10/site-packages/discord/commands/core.py", line 982, in _invoke
await self.callback(ctx, **kwargs)
File "/Users/konjarehm/PycharmProjects/simpletry/main.py", line 26, in servericon
icon_url = ctx.guild.icon_url
AttributeError: 'Guild' object has no attribute 'icon_url'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/konjarehm/PycharmProjects/simpletry/venv/lib/python3.10/site-packages/discord/bot.py", line 1114, in invoke_application_command
await ctx.command.invoke(ctx)
File "/Users/konjarehm/PycharmProjects/simpletry/venv/lib/python3.10/site-packages/discord/commands/core.py", line 375, in invoke
await injected(ctx)
File "/Users/konjarehm/PycharmProjects/simpletry/venv/lib/python3.10/site-packages/discord/commands/core.py", line 132, in wrapped
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'Guild' object has no attribute 'icon_url'
icon.url
bitte nicht :(
habs geschafft, vielen dank an euch alle!
Fehler: File "C:\Users\Can\PycharmProjects\Bot\main.py", line 7, in <module>
from discord.command import Option
ModuleNotFoundError: No module named 'discord.command'
Was ist der Fehler from discord.command import Option
was muss ich da machen
import asyncio
import os
import discord
from discord.ext import commands
from discord.ext.commands import Bot
from discord.command import Option
Das sind meine Imports
Danke
np
Warum klappt der slash command nicht @bot.slash_command(description="Grüße einen User")
async def greet(ctx, user: Option(discord.Member, "Den User, den du grüßen möchstest")):
await ctx.respond(f"Hallo{user.mention}")
Du musst slash commands importieren
from discord.commands import Option, slash_commands
Da kommen fehler
Traceback (most recent call last):
File "C:\Users\Can\PycharmProjects\Bot\main.py", line 8, in <module>
from discord.commands import Option, slash_commands
ModuleNotFoundError: No module named 'discord.commands'
Sorry mein Fehler
from discord.commands import Option, slash_command
So ist es richtig
File "C:\Users\Can\PycharmProjects\Bot\main.py", line 8, in <module>
from discord.commands import Option, slash_command
ModuleNotFoundError: No module named 'discord.commands'
Traceback (most recent call last):
File "C:\Users\Can\PycharmProjects\Bot\main.py", line 8, in <module>
from discord.commands import Option, slash_command
ModuleNotFoundError: No module named 'discord.commands'
immernoch das
Hast du py cord installiert?
ja
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
Das ist aufjeden Fall richtig
warte
Traceback (most recent call last):
File "C:\Users\Can\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\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 879, in exec_module
File "<frozen importlib._bootstrap_external>", line 1017, in get_code
File "<frozen importlib._bootstrap_external>", line 947, in source_to_code
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "C:\Users\Can\PycharmProjects\Bot\cogs\help.py", line 3
`
^
SyntaxError: invalid syntax
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Can\PycharmProjects\Bot\main.py", line 82, in <module>
bot.load_extension(f"cogs.{filename[:-3]}")
File "C:\Users\Can\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\cog.py", line 910, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\Can\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\cog.py", line 777, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.help' raised an error: SyntaxError: invalid syntax (help.py, line 3)
Das ist jetzt da wenn ich es starte
warte schreibst du in einem cog?
nein aber bestimmt wegen dem
if name == "main":
for filename in os.listdir("cogs"):
if filename.endswith(".py"):
bot.load_extension(f"cogs.{filename[:-3]}")
Wenn ja hast du das in deiner main:
if name == "main":
for filename in os.listdir("cogs"):
if filename.endswith(".py"):
bot.load_extension(f"cogs.{filename[:-3]}")
JA
die ist noch nicht fertig
Ja jetzt schick mal sonst kann ich dir nicht helfen ist doch egal ob sie fertig ist
Hast du es gesehen
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...
Schau dir das mal an du hast die gesamte cog Struktur nicht
wenn ich einmal nen command ausführe kann ich keine commands mehr ausführe?
Was?
Was meinst du?
also es ist bei meinem bot ganz komisch. man kann einen command ausführen wie z.b. /music join dann werden keine commands mehr angezeigt
Ich hab sowas ähnliches warte einfach mal einen Tag hat bei mir auch geholfen oder es fehlt irgendwo ein return
Wie kriege ich diesen fetten strich weg
drück auf einfügen (rechts neben enter)
schick mal die Icon URL aus dem code
Er ist immernoch da wenn ich auf die rechte klick drücke
Also davor war es ja der dünne strich aber habe ihrgenwas gedrückt jetzt ist er dick
Ah alles gut
embed.set_thumbnail(url=user.avatar)
embed.set_footer(text="The Night", icon_url={"https://cdn.discordapp.com/icons/847828784974397460/3577fa96c33b02da61c17969352088d7.png?size=1024"})
@solid ingot
ohne die geschweiften Klammern
ey @solid ingot wie kann man freiwilliger helfer werden
bewerben in #🎫・tickets
in den man aktiv timo nervt glaube
So bin ich es ja geworden 
Moin da es gestern untergegangen ist
Was brauche ich bzw. Muss ich können (oder muss ich mir angucken) um alle... Minuten alle Nachrichten (außer angepingte) in einem Channel zu löschen
Weil finde nichts in den Docs dazu
dazu brauchst du Task loops (dazu habe ich ein Video), und dann channel.history und message.delete
OK danke
Ist es das Video zu Background Tasks?
ja genau
Ok
Hat jemand Erfahrung mit der Verarbeitung von Attachments?
stell am besten immer direkt die eigentliche Frage, da antworten wahrscheinlich mehr Leute drauf
ich will eine csv Datei verarbeiten die ich vom user bekomme aber bekomme sie in kein brauchbares Format weil Discord iwie immer was eigenes draus macht. Am liebsten eine Möglichkeit das ich ein pandas DataFrame draus machen kann, dict wäre auch ok
", line 86
await ctx.respond(embed=embed)
^
IndentationError: unindent does not match any outer indentation level
Was ist der Fehler
embed = discord.Embed(
title=f"Infos über {user.name}",
description=f"Hier siehst du alle Details über {user.mention}",
color=0x40e0d0
)
time = discord.utils.format_dt(user.created_at, "R")
embed.add_field(name="Account erstellt", value=time)
embed.add_field(name="ID", value=user.id)
embed.add_field(name="Alter", value=alter)
await ctx.respond(embed=embed)
Das ist der Code
nutze codeblöcke von discord
wie mach ich das schaue grade ein tuto habe es genauso
Aber bei mir ist es falsch
@umbral goblet so
import uuid
username = "john_doe"
user_uuid = uuid.uuid5(uuid.NAMESPACE_URL, username)
uuid_str = str(user_uuid)
print("UUID aus dem Benutzernamen:", uuid_str)
restored_username = uuid_str.split("-")[-1]
print("Wiederhergestellter Benutzername:", restored_username)
danke
ey es funktioniert nichtmal und es wandelt den username nicht in eine zahl sondern in einen hash um
Kannst du mir kurz helfen was ich machen muss bei dem fehler
await ctx.respond(embed=embed)
^
IndentationError: unindent does not match any outer indentation level
ganzer code & error + eigener post
code sind zu viele Zeilen kannst du kurz call
Bin im Call falls du kannst
@soft grail Also hast du schonmal mit einem print event getestet ob das überhaupt ausgelöst wird?
(#1083124278339317771 )
ne, kann ich gleich machen
Dann schick doch nur das, wo der fehler auftritt
vllt kanst du da helfen sobald ich easy_pil istallieren will
Hm mit dem error kann ich grade nix anfangen schau doch nochmal das video von timo
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...
@soft grail welche Python Version hast du
3.11
es unterstützt 3.11 derzeit nicht
wie downrak ich xD
Python 3.10 downloaden es setupen und den als Interpreter auswählen
line 89
await ctx.respond(embed=embed)
^
IndentationError: unindent does not match any outer indentation level
Ich rede vom code…
Hast du die Packages installiert
pip install aiosqlite py-cord
@bot.slash_command(description="Zeige Infos über einen User", name="userinfo")
async def info(ctx,
alter: Option(int, "Das Alter", min_value=1, max_value=99),
user: Option(discord.Member, "Gib einen User an", default=None)
):
if user is None:
user = ctx.author
embed = discord.Embed(
title=f"Infos über {user.name}",
description=f"Hier siehst du alle Details über {user.mention}",
color=0x40e0d0
)
time = discord.utils.format_dt(user.created_at, "R")
embed.add_field(name="Account erstellt", value=time, inline=False)
embed.add_field(name="ID", value=user.id)
embed.add_field(name="Alter", value=alter)
embed.set_thumbnail(url=user.display_avatar.url)
await ctx.respond(embed=embed)
Wie geht das
neu starten i thonk



nope

ah ich weiß why
ok
ich muss die 1.11 löschen lol
1.11?
Ahh
Löschen musst du nicht?
Einfach Python 3.10 auswählen
hab ich auch gesagt lol
hab ich ja
@bot.slash_command(description="Zeige Infos über einen User", name="userinfo")
async def info(ctx,
alter: Option(int, "Das Alter", min_value=1, max_value=99),
user: Option(discord.Member, "Gib einen User an", default=None)
):
if user is None:
user = ctx.author
embed = discord.Embed(
title=f"Infos über {user.name}",
description=f"Hier siehst du alle Details über {user.mention}",
color=0x40e0d0
)
time = discord.utils.format_dt(user.created_at, "R")
embed.add_field(name="Account erstellt", value=time, inline=False)
embed.add_field(name="ID", value=user.id)
embed.add_field(name="Alter", value=alter)
embed.set_thumbnail(url=user.display_avatar.url)
await ctx.respond(embed=embed)
der geht trozdem auff die pyho311
So ?
Wie änderst du es denn?
venv löschen evtl?
Hab
because da wird alles gespeichert
Okay danke für den ping
sorry
das mach ich wo
Jetzt kann dir jemand anders gut helfen, der am Pc ist
Weil ich bin am handy
Deshalb sieht jeder code kacke aus
Könntest screenshot schicken
Dann kann ich maybe helfen
Danke
hast du python 11?
python 11 ist nicht mit easy pil kompatibel
Nicht mehr
Hab gerade donwrnaked und jetzt hab ich das provlem das py-cord etc ned installiert ist netzt will ich es instalieren geht aber ned
Wer kann mir helfen
Mit code highlight?
Schick doch screenshot vom code aus deiner ide
xD
@indigo harbor
.
@indigo harbor ich seh das problem
Das await musst auf der gleichen höhe sein, wie das embed
ah warte
Dir is schon klar, dass Python auf Einrückungen basiert?
Dir is schon klar, dass Python auf Einrückungen basiert?

ja
dann weißt du ja auch dein Fehler

habs gelöst
ich habe ein unsichtbares embed wie kann ich ein btn da mit anhängen ?```py
if 'codg' in interaction.data['values']:
try:
whatgame = discord.Embed(
title="Call Of Duty: Ghosts",
description="Game Info's\n"
"Release an 5. November 2013\n"
"Größe: 28,9 GB\n"
f"FSK: {achtzehn}"
f"\n\n{ticket}",
color=frabe,
url="https://gamingbeasts.com/call-of-duty-ghosts-download-full-pc-version-for-free/"
)
whatgame.set_image(url="https://cdn.discordapp.com/attachments/1077575523485630544/1083391221109628988/CODGhosts_110413_1600.png")
await interaction.response.edit_message(view=self)
await interaction.followup.send(embed=whatgame, view=Modalbtn, ephemeral=True)
except:
Error = Errordes
await interaction.response.send_message(embed=Error, ephemeral=True)```
error ```diff
-This interaction has already been responded to before
bei den embed=Error```
Ein unsichtbares embed? ._.
Wie geht das denn
Also niemand sieht dein embed?
na ephemeral
Du hast wohl schon auf die interaction responded
Mehr kann ich nd sagen
Weil handy halt hahha
man muss doch aber noch ein btn mit hinzufügen können?
kann mir bitte jdm helfen?
message hat kein startswith
nur stings haben das
Was ist denn channel1?
ahhh ok danke
hast du vlt Python 3.11?
ned mehr
hab downgeraked
jez hab ioch das provlem
ups, mein Discord mobile war verbuggt, hab die Nachrichten nicht gesehen
die packages musdt du für Python 3.10 neu installieren
also py-cord etc
für 3.10, nicht 3.11
wieso speichert er mit diesen funktoinen diese sachen nicht
Willst du die ticket_channel und teamroleid und so wiedergeben?
Dann musst du select nutzen und dies was du brauchst returnen
Dachte ich mir gleich
geht easy-pil mit python 3.9 nicht?
Hm doch müsste
-ERROR: Could not build wheels for aiohttp, which is required to install pyproject.toml-based projects
Doch
das sieht nach einen 3.11 Error aus, mit 3.9 sollte es klappen
meinst du die version von aiohttp?
nein Python
ich hab ja 3.9.13
hm
probier's Mal mit 3.10
vlt hast du auch aus Versehen die falsche Version ausgewählt
if new_level == 2:
embed2 = discord.Embed(
title="Rank Up")
description=f"Level Up {user.mention}! Du hast die Rolle {role.mention} erhalten, da du nun Level {new_level} bist!"
role = message.guild.get_role(847844404110688307)
await message.author.add_roles(role)
await message.channel.send(embed=embed2)
Moin, ich arbeite gerade einem LVL System und wollte fragen ob das embed so stimmt also description etc und vor allem bei der letzten zeile ob ich da embed=embed2 oder embed2=embed schreiben muss?
und wollte fragen ob das embed so stimmt also description etc und vor allem bei der letzten zeile ob ich da embed=embed2 oder embed2=embed schreiben muss?
Dafür gibt es nur eine Antwort...
🆗
na es ist dafür da das der Channel, die Rolle und die Open und Create Texte später beim Ticket create wiedergegeben werden können
Dann musst du halt SELECT nutzen
Also so
async def get_tickett_channel(self, channelid):
bot_db = await aiosqlite.connect("ticket.db")
cursor = await db.cursor()
await cursor.execute("SELECT channelid FROM ticket WHERE channelid = ?", (channelid,))
result = await cursor.fetchone()
return result[0]
so in der art
Und meines wissens nach muss bei einem Select nicht commited werden
kann man bei easy-pil auch locale fonts benutzten?
klar
einfach so angeben Font/name.font
font = Font(dein/pfad, size=1234)
Wie kann ich das Bild mit ein Modal senden ```py
class TutorialModal(discord.ui.Modal):
def init(self, *args, **kwargs):
super().init(
discord.ui.InputText(
label="Embed Titel",
placeholder="Placeholder"
),
discord.ui.InputText(
label="Embed Beschreibung",
placeholder="Placeholder",
style=discord.InputTextStyle.long
),
*args,
**kwargs
)
async def callback(self, interaction):
background = Editor("Bild/kassenbon.png").resize((1080, 1920))
avatar = await load_image_async(interaction.guild.icon.url)
circle_avatar = Editor(avatar).resize((200, 200)).circle_image()
background.paste(circle_avatar, (440, 25))
big_text = Font.poppins(size=50, variant="bold")
small_text = Font.poppins(size=35, variant="regular")
background.text((540, 260), f"{interaction.guild}", color="#202226", font=big_text, align="center")
background.text((35, 560), f"{self.children[0].value}", color="#202226", font=small_text, align="left")
background.text((35, 620), f"{self.children[1].value}", color="#202226", font=small_text, align="left")
file = discord.File(fp=background.image_bytes, filename='rank.png')
return await interaction.response.send_file(file=file)```
- return await interaction.response.send_file(file=file)AttributeError: 'InteractionResponse' object has no attribute 'send_file'```
Was ist hier der fehler
Traceback (most recent call last):
File "C:\Users\Can\PycharmProjects\Bot\main.py", line 97, in <module>
bot.run(os.getenv("TOKEN"))
wie genau
wie rücks du das den ein. Mit der Tabulatortaste musst du das machen
Was ist die Tabulatortaste
hier ist auch ein beispiel von timohttps://github.com/tibue99/tutorial-bot/blob/main/Tutorialreihe/part04_embeds.py
- taste von oben links die mit dem pfeil
genau
Warum auch immer werden 2 meiner Commands (selber Cog) nicht angezeigt? Weiß jmd why?
man man man informatik aber ab
Danke
Aber wo liegt der Fehler in line 97
das ist falsch ein gerückt
zeig mal in deine .env
aber ohne token 😂
sagt mir jetzt nicht
so muss das TOKEN = MTt6vUE
maybe nd davor definiert oder initialisiert
du musst deine sachen richtig einrücken
so und nicht anders```py
if name == "main":
for filename in os.listdir("cogs"):
if filename.endswith(".py"):
bot.load_extension(f"cogs.{filename[:-3]}")
load_dotenv()
bot.run(os.getenv("TOKEN"))```
do someone has a idee
SO
😂 dann ka
nicht ganz guck nochmal bein bot.run
So?
.
nein
nah guck dir mein beispiel an. Und wenn es bei dir rot ist, ist ein error da
Aber wo ist bei bot.run ein fehler
die einrücken immer noch

ich gucke ja grade das tutorial und ich es genau so
ja vbevor du discord bots lernst
solltest du python basics lernen
mhm wolltest du nd python lernen?
aber code & error
code & error
immernoch
nur den vom error...
ich bin kein debugger
schau das mal an ```py
if "MÄNNLICH" in select.values[0]:
mann = interaction.guild.get_role(1083484489310806068)
frau = interaction.guild.get_role(1083484430850592778)
divers = interaction.guild.get_role(1084095155084202045)
denken xD

ja da ist ne fheler
lass ihn ihn slebst finden
Obwohl ich mehrmals überprüft habe, ob Spaces da sind, kommt immer noch dieser fehler
Traceback (most recent call last):
File "/home/container/.local/lib/python3.10/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 879, in exec_module
File "<frozen importlib._bootstrap_external>", line 1017, in get_code
File "<frozen importlib._bootstrap_external>", line 947, in source_to_code
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home/container/cogs/lvlsys.py", line 76
if new_level == 5:
TabError: inconsistent use of tabs and spaces in indentation
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/container/main.py", line 25, in <module>
bot.load_extension(f"cogs.{filename[:-3]}")
File "/home/container/.local/lib/python3.10/site-packages/discord/cog.py", line 910, in load_extension
self._load_from_module_spec(spec, name)
File "/home/container/.local/lib/python3.10/site-packages/discord/cog.py", line 777, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.lvlsys' raised an error: TabError: inconsistent use of tabs and spaces in indentation (lvlsys.py, line 76)
code blöcke mach mit dre von den an amfang und am ende `
TabError: inconsistent use of tabs and spaces in indentation
Error Lesen
Und Englisch Verstehen
ich weiss ja was es bedeutet hab aber nur tabs benutzt
Jo gibt es eine möglichkein eine ephemarel nachricht in einem Follow up zu bearbeiten?
gibt es etwas zu beachten wenn ich ein attachment von meinem Bot aus senden will
und kann ich es auch als response vom Modal senden?
darf nicht zu groß sein
denke schon
wie?
das weiß ich nicht 😄
._.
würde sagen genauso nur eben das man ephermal hinzufügt xD
@solid ingot kannst du mir helfen?
Ok und wie sieht des aus wenn ich zb als response von nem Modal diese Datei senden will?
hmm sollte auch gehen?
du meinst jz das du die datei im code hast und dazu schickst weil modal kann man nur text senden
müsste gehen
schon followup.edit probiert?
ja also interaction.followup.edit
aber dann kam immer das er nicht weiß was embed ist
ahh
.edit() bearbeitet den webhook an sich
du brauchst .edit_message()
hättest du mal in den docs geschaut 
Pycord offers support for creating, editing, and executing webhooks through the Webhook class. Attributes avatar, channel, channel_id, created_at, guild, guild_id, id, name, source_channel, source_...
Hallo Leute hätte da eine Frage wegen den user avatar bei Easy Pillow Video.
Ich möchte anstatt von author würde ich mit userid Arbeiten wie soll das gehen?
Zb möchte ich von diese 650456829712793655 user ID den display_avatar.url
du musst nur ctx.auhto durch user ersetzen
Also ctx.650456829712793655.display_avatar.url?
Warum is da deine Id?
Weil ich zB von bestimmten user ID den avatar bekommen möchte?
member = ctx.guild.get_member(650456829712793655)
avatar = member.display_avatar.url
Aber ctx.650456829712793655.display_avatar.url ist massiv falsch
...
Sollte ich es wissen was er meint
Ob du wissen solltest, was Timo meint?
ja
nein darum hab ich überhaupt gefragt
user.display_avatar.url
du bekommst den User doch im Slash Command
wenn du nur ne User ID hast, musst du davon halt noch das User Objekt bekommen, so wie immer
kan jemand kurz bei #1084189035204972556 helfen?
Ich würde es gerne über SQlite mit user ID laden

User halt getten via der ctx / der interaction guild, so hast du wieder nen User Objekt
Joa klaro aber ich bekomme keine user avatar über user ID aus dem Datenbank
pycharm macht immer ärger wenn ich mit pip installieren will
wieso ist das so und was kann ich dagegen machen
Hast du als du Python installiert hast pip ausgewählt?
mach mal py -m pip —version
Oder python -m pip —version
ok danke
Weißt du warum das so ist?
hab den fehler auch muss auch ma pip richtig installieren xd
Küsschen auf dein Nüsschen habs gefixxt bekommen.
musste C:\Users\nikos\AppData\Roaming\Python\Python310\Scripts in den Path adden
bei mir klappts nicht
ja musst auch deinen namen rein machen
Hey,
Ich versuche gerade ein Ticket System zu Coden, das wenn man auf einen Button drückt ein Ticket erstellt wird!
Weiß jemand, wie man einen Kanal per Klick auf einen Knopf erstellt? Hier mein Code:
@discord.ui.Button(label="Erstelle ein Ticket!", style=discord.ButtonStyle.red, emoji=":chat:")
async def button_callback(self, button, interaction):
googlen Mal erstmal oder Guck Mal erst auf YT
oder in die Docs
wenn du weiterhin nicht weißt dann komm wieder hierher
Hab ich ja schon gemacht xD Sonst würde ich es ja hier nd reinschreiben
ja aber ich habe auch nur kurz geguckt :I Hast ja Recht xD
Moin habe eine frage, in einem cog, muss man für jeden Befehl eine neue Klasser erstellen oder kann ich mehrere in eine Klasse tun?
du kannst so viele befehle und events in eine klasse tun wie du magst
Ok weil, gerade hatte ich einen befehl in die klasse hinzugefügt, hat nicht geklappt und mir irgendeine fehlermeldung aus der ich nicht schlau geworden bin ausgspuckt, alles in eine eigene Klasse und es hat geklappt
also erstmal solltest die die kategorie nicht außerhalb einer klasse laden. und wieso nutzt du client?
jemand ne idee warum das es bei den neuen Usern hochzählt ?
CODE:
import discord
from discord.ext import tasks, commands
class counter(commands.Cog):
def __init__(self, bot):
self.bot = bot
@tasks.loop(minutes=1)
async def channel_task(self):
await self.bot.wait_until_ready()
guild: discord.Guild = self.bot.get_guild(1058514239339364472)
channel = self.bot.get_channel(1058514240492798034)
real_members = [t for t in guild.members if not t.bot]
members = guild.members
await channel.edit(name=f'🏠 × Zentrale (USER:' + str(len(real_members)) + ')')
@commands.Cog.listener()
async def on_ready(self):
self.channel_task.start()
def setup(bot):
bot.add_cog(counter(bot))`
soll es nicht hochzählen? was soll denn genau passieren?
er soll die user abfragen wie viele aufm server sind ohne bots und dort eintragen
Okay, und wo ist das problem?
macht er ned xD
Wie viele Member sind denn auf dem Server?
aufm server sind ü50
Printe doch mal die namen von den real_members
real_members_names = [t.name for t in guild.members if not t.bot]
print(real_members_names)

ich verstehe immer noch nicht ganz was du mit dem hochzählen meinst, aber du musst wohl noch den server member intent aktivieren
bei discord.dev ja
Und im Code?
auch im code?
uh kp wie xd
._.
hab das nur
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...
sry code eig in JS xd
ok die Zeile hat mir sogar GIHub Copilo gesagt uff
intents werden glaube ich in folge 2 und 5 gezeigt
intents = discord.Intents.default()
intents.members = True
sieht anders aus
Joa jetzt funktionierts
ja wurde mir schon von GiHUb copilot gezeigt..
File "c:\Users\Linus\Desktop\Wolkenlos\WolkenlosBot\utils\embedcheck.py", line 88, in embedcheck
await interaction.followup.edit_message(embed=edit_embed1, view=view)
TypeError: Webhook.edit_message() missing 1 required positional argument: 'message_id'```
Steht da ddoch
dir fehlt message_id
ja aber nö
Ja aber doch
Wie soll dein Webhook nh Nachricht bearbeiten, ohne zu wissen welche?
Dafür braucht er die Nachrichten Id
ja ja, aber wie kriege ich die
Weil die nachricht ist ja ephemarel
Woher soll ich das wissen?
Kann ich hellsehen? ._.
Ich weiß ja nicht wie dein Code aufgebaut ist
oki
doki
was für drei punkte?
async with ctx.typing():
So glaube
Bin aber nicht sicher
Aber so kann man nicht responsen oder?
?
So machst du nur, dass er Schreibt
# Imports
import random
# Commands
@client.command()
async def randomtype(ctx):
async with ctx.typing():
# Random typing time
type_time = random.uniform(0.5, 2)
await asyncio.sleep(type_time)
# Report typing time in channel
await ctx.send('Done Typing for about {} seconds'.format(round(type_time, 2)))
Ah danke
du kannst das typing aktivieren und dann responsen, das geht
ne wollte nur mit dem typing responsen
achso
kann man irgendwo fehlercodes eingeben um herauszufinden was sie bedeuten?
probiers mit chat gpt
Ja
Google Übersetzer
oder gpt
Ja und jetzt?
Hast wohl was falsch gemacht
Wir haben im Code keinen fehler gemacht
Code & Error?
Guck mal Dm's
Dann hast du was falsch gemacht
async def embed(self, ctx, titel: Option(str, "Der Titel des Embeds"), text: Option(str, "Der Text deiner Nachricht"),
channel: Option(discord.TextChannel), farbe: Option(str, "Die Farbe des Embeds", default=None)):
if farbe is None:
farbe = "2F3136"
hex_string = f"0x{farbe}"
color = int(hex_string, 16)
if farbe is None:
farbe = "blue"
post = discord.Embed(
title=titel,
description=text,
color=color
)
post.set_footer(text=f"Gesendet von {ctx.author}")
await channel.send(embed=post)
await ctx.respond("Die Nachricht wurde gesendet", ephemeral=True)````
Okay, was ist damit?
@urban glen zeig doch mal den Code, vielleicht hast du ja was falsch gemacht
Undzwar sagt er mir das ich einen falschen body habe bzw. invalid form of body
Habe das ganze in einem cog
warte ich schau
Hatte das mal rausgenommen und in eine neue klasse da hat alles geklappt, aber in der anderen klassen geht nicht
ja also halt wenn du den gleichen wie bei mir hast ist da kein Fehler..
hast du die KAnal id geändert?
wird die db erstellt?
hast du denn die Tabellen in der Db?
Lösch deine Datenbank mal und dann starte den Code
Wird die tabelle in der db erstellt?
Falsche Channel id
Mach nochmal, er findet den channel ja nicht
Schau nach ob die Tabelle auch da ist
@limpid wolf Die Tabelle sollte lieber im on_ready erstellt werden
Nö das passt so es klappt ja
Werden in der Tabelle die einträge erstellt?
.
Geh mal auf Daten Durchsuchen oben links
Weiß jemand, wie ich auf eine Kanal Categorie Zugreife? Ich finde sowas einfach nicht in der Pycord...
Meinst du nh Categorie getten?
category = ctx.guild.get_channel(id)```
aua
Hmm
Naja es liegt daran:
try:
await message.publish()
except:
pass
else:
query2 = """INSERT INTO weltRSS(lastMessage) VALUES(?)"""
await cursor.execute(query2, (title,))
await db.commit()```
warte mal kurz
probier mal:
query2 = """INSERT INTO weltRSS(lastMessage) VALUES(?)"""
await cursor.execute(query2, (title,))
await db.commit()
try:
await message.publish()
except:
pass```
Wenn das auch nt geht versuch es mal selber is halt einf. nh sqllite eintrag in nh datenbank
@urban glen
also mach das weg
und ersetzt durch das untere
Weil das is kein announcement kanal und maybe failt der deswegen
also klappt?
sendet er nt doppelt
also wenn er einträgt klappt es
:D
mach des
mach das
er muss die senden weil sonst hätte das eintragen auch nt geklappt weil der beim senden gefailt währe
wäre
rss feeds halt er nimmt halt immer das neuste vom rss feed (alle 30s oder was man halt bei task loop angibt) und dann holt der code da variablen runter. Und dann checkt der ob der titel schon in der db steht wenn nicht sendet er es
error sind immer gut
dann zeig ma her
Du musst die Datenbank auch Schreiben
Wenn du da was bearbeitest
nur mit rss feeds
wenn die eine api haben
meist einfach danach suchen lulw
wenn da database locked steht musst du drauf drücken xd
also auf diesen button
zeig ma screen vom db viewer

Wenn der schon meinen code nutzt kann er wenigstens liken
jo
Ja bzw er prüft alle 100sek ob es eine neue news gibt
Würde ich nicht machen, da meist öfter als 2h eine neue news kommt
Da kommt nur alle 30sek was wenn auch was neues da ist
Also da wird ja nie die gleiche news gesendet
Moin, habe bei einem command eine option auf None gestellt, und willst jetzt das etwas gemacht wird wenn es nicht auf None ist, wie macht man das? Also if ... is not None oder wie?
ok
Moin andere Frage:
Mir wird gesagt Bot sei (in meiner Klasse) nicht definiert obwohl ich in defieniert habe, dadurch kann ich nicht in den channel senden
class Command(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command(description="Bewerte den Server")
async def rating(self, ctx, sterne: Option(int, "Wie viele Sterne gibst du uns?", min_value=1, max_value=5), feedback: Option(str, "Was sollen wir verbessern?", default=None)):
ratingembed= discord.Embed(
title= f"Bewertung von {ctx.author}",
description= f"{ctx.author} hat den Server mit " + str(sterne) + " von 5 🌟Sternen bewertet!",
color=discord.Color.yellow()
)
if feedback is not None:
ratingembed.add_field(name="Feedback", value=feedback)
channel = bot.get_channel(1071458020032266260)
await channel.send(embed=ratingembed)
await ctx.respond("Das Feedback wurde abgesendet, danke!", ephemeral=True)
Versuch mal self.bot.get_channel
Weil in cogs muss immer self davor


hey gibt es eine möglichkeit diesen fehler in einer tabelle nachzulesen oder so im internet finde ich nichts xD discord.errors.NotFound: 404 Not Found (error code: 10015): Unknown Webhook falls mir auch jemand hier helfen kann kann ich den code auch nachsenden
du möchtest einen webhook benutzen, zb. durch followup, dieser wird allerdings nicht gefunden
das ist zum beispiel der fall, wenn du noch keine interaction response gesendet hast
okay hab ich eigentlich hier mal der code:
if self.ctx.voice_client.is_playing():
self.ctx.voice_client.stop()
self.ctx.voice_client.play(discord.FFmpegPCMAudio(rad))
await interaction.followup.send(f"Du hast \n{s} ausgewählt!")
else:
self.ctx.voice_client.play(discord.FFmpegPCMAudio(rad))
await interaction.response.edit_message(content=f"Du hast \n{s} ausgewählt!")
gibt bestimmt bessere wege aber der ist der einzige der mir einfiel um die nachricht zu editieren welcher sender läuft xD
du kannst followup nur nutzen, nachdem du auch interaction.respond benutzt hast
ich probiere mal ein zweites edit danke dir dann noch was mir grade aufgefallen ist kann man den befehl sperren also ich dachte da an wenn der schon spielt dann kann man den nicht nutzen ich wüsste grade nur nciht wie ich den sperre
klar kann man dies aber würde empfehlen dir erstmal selber nachzuschauen wie du des hin kriegst
finde dazu nicht wirklich was mir kam grad schon der gedanke einfach zu prüfen ob der bot spielt aber da bekomme ihc nen error das ein nontype object kein attribut .is_playing hat.
Hey, habe den command aus dem status video nachgecodet, aber er ändert bei mir die activity nicht, woran liegt das?
@slash_command()
async def activity(self, ctx,
typ: Option(str,choices=["game", "stream"]),
name: Option(str)):
if typ == "game":
act = discord.Game(name=name)
if typ == "stream":
act = discord.Streaming(name=name,url="https://www.youtube.com/channel/UCvktYnjJwJX4X5amU8S31Kw" )
await self.bot.change_presence(activity=act, status=discord.Status.online)
liegt es daran das der link twitch sein muss?
ja das kann sein
ok ich probiers mal
ja hat dran gelegen
dachte youtube geht auch
weil man ja auch auf youtube streamen kann
if ctx.voice_client.is_connected():
ctx.respond("Das Radio läuft schon!")
else:
await ctx.author.voice.channel.connect()
await ctx.respond("Radio wird gestartet", view=Dropdown(ctx))```
code und error:
```Application Command raised an exception: AttributeError: 'NoneType' object has no attribute 'is_connected'```
was übersehe ich ?
ctx.voice_client ist none
und was muss dann dahin?
naja, kommt drauf an was du machen willst
wenn der bot in keinem voice channel ist, ist ctx.voice_client none
ah okay also ich möchte halt dass wenn der bot noch nicht im channel ist der befehl ausgeführt wird
Da ich in den docs einfach nicht fündig werde( kann sein das ich scheiße suche kp):
Wie kann ich slash commands nur für bestimmte user verfügbar machen z.b. wenn ich einen bann command mache?
das geht über die server einstellungen oder über checks
schau dir gerne das video dazu an
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github
► https://github.com/tibue99/tutorial-bot
Command Checks für Variante 2
► https://gist.github.com/Painezor/eb2519022cd2c907b56624105f94b190
Tutorial Playlist
► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Discord Developer Portal
► https://discord.com...
also egal wie ich es verscuhe ergebnis bleibt gleich
na jut ich brechs ab für heute wen njemand mir helfen kann bitte melden
Wie viele Felder kann man max in einem Modal haben?
5
wie viele felder kann man zum embed hinzufühgen
25
das ist viel
es gibt aber eine maximale Zeichenanzahl für das gesamte embed
wie kann man den banner vom server changen also per discord bot
guild.edit 

ach du kacke
wieso nicht docs schauen xD
Brauche hilfe beim 24/7 Radio Bot
channel = guild.get_channel(1081302267279446189)
AttributeError: 'NoneType' object has no attribute 'get_channel
client
nicht guild
bzw kommt drauf an ob du bot definiert hast oder client
File "C:\Users\Can\PycharmProjects\Bot\main.py", line 92, in <module>
bot.load_extension(f"cogs.{filename[:-3]}")
Wie kann ich den Fehler beheben
for filename in os.listdir("cogs"):
if filename.endswith(".py"):
bot.load_extension(f"cogs.{filename[:-3]}")```
Da ist der Code
schick mal die ganze Fehlermeldung
C:\Users\Can\AppData\Local\Microsoft\WindowsApps\python3.10.exe C:\Users\Can\PycharmProjects\Bot\main.py
Traceback (most recent call last):
File "C:\Users\Can\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\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:\Users\Can\PycharmProjects\Bot\cogs\feedback.py", line 8, in <module>
with open('Data/feedback.json', 'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'Data/feedback.json'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Can\PycharmProjects\Bot\main.py", line 89, in <module>
bot.load_extension(f'cogs.{filename[:-3]}')
File "C:\Users\Can\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\cog.py", line 910, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\Can\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\cog.py", line 777, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.feedback' raised an error: FileNotFoundError: [Errno 2] No such file or directory: 'Data/feedback.json'
Gibt die Datei ned
Data/feedback.json
bruh wieder mein code 😂
hab absichtlich sowas gemacht damit jeder kommr
wenn man das net erkennt der macht nur Copy und Paste
lulw
Extension 'commands.help' raised an error: AttributeError: 'NoneType' object has no attribute 'avatar'
embed1 = discord.Embed(title="Commands 17\n⭐Premium Commands: 1", color=discord.Color.blue())
embed2 = discord.Embed(title="Commands: 17\n⭐Premium Commands: 1" ,color=discord.Color.blue())
embed3 = discord.Embed(title="Commands: 17\n⭐Premium Commands: 1" ,color=discord.Color.blue())
embed1.set_thumbnail(url=self.bot.user.avatar.url)
embed2.set_thumbnail(url=self.bot.user.avatar.url)
embed3.set_thumbnail(url=self.bot.user.avatar.url)
self.pages = [embed1, embed2, embed3]
geht nicht avatar so oder bin ich gerade lost
display_avatar
hey, kann mir wer sagen wie ich in Java, jemanden alle rollen entfernen kann über einen command nur
da das hier ein python server ist, wirst du hier wahrscheinlich nicht viele leute finden, die sich mit java bots auskennen
ja ich weis, aber fragen kostet nichts
es ist mir nicht möglich denn bot in py umzuschreiben da der über ein plugin auf einem MC server läuft
daher ist er in java
Hier bitte nur fragen zu Python stellen
Steht auch in den Regeln 
Da muss ich dir wiedersprechen, denn in denn Regeln steht nirgends das ich nur über py sprechen darf
#🔰・old-help-rules 
Dann liegst du aber wider falsch
🔹 Grundsätzlich ist das Forum nur für Code-Probleme rund um Python, Discord Bots und Hosting
Da es sich bei mir um einen Discord bot handelt ist das ebenfalls erlaubt auch wenn er nicht mit py geschrieben ist
doch aber dann müsstest du mit datenbanken arbeiten & zwei getrennte sachen bot und plugin
Das wäre zu viel aufwand, das sich das nicht lohnt
so geht das xD
Schwach
hey 🙂
und zwar hab ich eine frage
ich bekomme folgenden wert
2023-07-02T18:30:00
und möchte ihn gerne in einem embed so anzeigen lassen, wie mache ich das ?
Das hab ich gemacht 
wenn du ein datetime objekt hast, kannst du folgende methode nutzen: https://docs.pycord.dev/en/stable/api/utils.html#discord.utils.format_dt
wenn das ein string ist, musst du es erst in ein datetime objekt umwandeln
habs 🙂
Jo jo jo,
Also ich stehe vor folgendem Problem:
ich habe mit asyncio.sleep halt getriggert, das der Code wartet.
Wenn ich in dieser Zeit jedoch den Bot neu starte beendet es ja ganz.
Jetzt möchte Ich, dass es jedoch trotzdem Weiter wartet, da wo es aufgehört hat. Oder bis zu einer Bestimmten Uhrzeit das würde auch gehen.
Hat da jemand eine Idee wie ich das machen könnte? Ich hatte mal überlegt das in eine Datenbank eintragen zu lassen und dann bei onready aus zu lesen jedoch wüsste ich dann leider nicht wie ich weiter mache. Hat jemand von euch vielleicht eine Idee?
LG :D
am speichern führt kein weg vorbei, du musst dann zb den zeitpunkt, bis zu dem gewartet werden soll, in der DB speichern. wenn der bot dann wieder startet, lädst du den timestamp aus der DB und kannst dann berechnen, wie viele sekunden du noch warten musst
Hmm stimmt, ich denk mal drüber nach
ich habe es jz so ausgegeben aber statt 18:30 zeigt er im embed 20:30 an
liegt es vlt an der zeitzone ?
ja wahrscheinlich
ich denke mal du könntest es zu UTC umwandeln
from datetime import timezone
new_dt = dt.replace(tzinfo=timezone.utc)
Traceback (most recent call last):
File "C:\Users\Can\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "C:\Users\Can\PycharmProjects\Bot\cogs\verify.py", line 46, in button_callback1
role = discord.utils.get(guild.roles, name=":busts_in_silhouette:×Mitglied ")
AttributeError: 'NoneType' object has no attribute 'roles'```
@solid ingot den dayli cooldown speicherst du den in einer db?
Wer kann mir da helfen
code?
async def button_callback1(self, button, interaction):
member = interaction.user
client = interaction.client
guild = client.get_guild(1083079242482450582)
role = discord.utils.get(guild.roles, name=":busts_in_silhouette:×Mitglied ")```
role = self.bot.get_role(guild.roles, name="👥×Mitglied ")
und klapts?
from datetime import datetime
mytime = datetime( 2023, 3, 13, 17, 0, 0 )
diff_seconds = (mytime-datetime.fromtimestamp(0)).total_seconds()
print(diff_seconds)```
Der gibt ``1678723200.0`` aber müsste das nt irgendwas mit 60 sein, da es ja 60s unterschied wahren als ich es getestet habe?
warte
Traceback (most recent call last):
File "C:\Users\Can\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "C:\Users\Can\PycharmProjects\Bot\cogs\verify.py", line 46, in button_callback1
role = self.bot.get_role(guild.roles, name=":busts_in_silhouette:×Mitglied ")
AttributeError: 'VerifyView' object has no attribute 'bot'```
try mal client ich weiß ja nicht was du festgelegt hast
role = self.client.get_role(name=":busts_in_silhouette:×Mitglied ")
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 ...
@indigo harbor
Danke
mensch @limpid wolf, was macht denn die 0 da? 
TypeError: fromtimestamp() missing required argument 'timestamp' (pos 1)``` ja ohne is nt so toll
wenn du fromtimestamp(0) machst, hast du den beginn der unix zeit, also 1970
das ist sozusagen zeitpunkt 0
du musst da schon ne richtige zeit rein tun
und informier dich immer vorher, wie die methoden funktionieren, die du benutzt
ahh 
Habs hinbekommen 
from datetime import datetime
since = datetime( 2023, 3, 13, 17, 30, 0 )
mytime = datetime.now()
diff_seconds = (mytime-since).total_seconds()
print(diff_seconds)```
Vllt bringt es wem anders ja auch was
C:\Users\pogod\AppData\Local\Programs\Python\Python310\python.exe E:\VC\Verkauf\Bot\RGB\main.py
The File 'main' started succesfully!
Ignoring exception in command ticket:
Traceback (most recent call last):
File "C:\Users\pogod\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
File "C:\Users\pogod\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 978, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "E:\VC\Verkauf\Bot\RGB\cogs\Ticket.py", line 38, in ticket
await ctx.channel.send(embed=ticket_create, view=select(self.bot))
File "C:\Users\pogod\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\abc.py", line 1560, in send
components = view.to_components()
File "C:\Users\pogod\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\view.py", line 215, in to_components
children = sorted(self.children, key=key)
AttributeError: 'select' object has no attribute 'children'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\pogod\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\pogod\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 375, in invoke
await injected(ctx)
File "C:\Users\pogod\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: 'select' object has no attribute 'children'```
class select(discord.ui.View):
def __init__(self, bot):
self.bot = bot
@discord.ui.select(
placeholder="Wähle eine Option",
options=options,
min_values=1,
max_values=1
)
async def callback(self, select: discord.ui.Select, interaction: discord.Interaction):
cat = self.bot.get_channel(CATEGORYID)
interaction.message.author = interaction.user
if "1" in select.values[0]:
try:
overwrites = {
interaction.guild.default_role: discord.PermissionOverwrite(read_messages=False),
interaction.guild.get_role(MODROLLE): discord.PermissionOverwrite(read_messages=True,
send_messages=True),
interaction.user: discord.PermissionOverwrite(read_messages=True, send_messages=True)
}```
erfolgreich = discord.Embed(
title="Ticket System erfolgreich aufgesetzt!",
color=0x2ECC70
)
erfolgreich.set_image(url="https://cdn.discordapp.com/attachments/1077917507568013332/1078262295798497280/long.gif")
await ctx.channel.send(embed=ticket_create, view=select(self.bot))
await ctx.respond(embed=erfolgreich, ephemeral=True)
def setup(bot):
bot.add_cog(bhsebseh(bot))```
@mystic flower wo ist ticket_create der embed definiert
ticket_create = discord.Embed(
title="Support kontaktieren",
description="Drücke den Button, um ein neues Ticket zu erstellen.\n"
"\n"
":warning:**Wichtig** Bitte erstelle nur ein Ticket wenn du ein ernstes problem hast[!](https://my-cool-app.com)",
color=0x3BA45C
)```
und wozu brauchste self.bot
für gleich der ist nicht ganz fertig wollte nur was testen dann konnt der fehler
ohne self.bot geht es 🙂
okay xD
ja wenn du es so nicht kannst xD
@discord.ui.select(
placeholder="Wähle eine Option",
options=options,
min_values=1,
max_values=1
)
async def callback(self, select: discord.ui.Select, interaction: discord.Interaction):
cat = self.bot.get_channel(CATEGORYID)
interaction.message.author = interaction.user
if "1" in select.values[0]:
try:
overwrites = {
interaction.guild.default_role: discord.PermissionOverwrite(read_messages=False),
interaction.guild.get_role(MODROLLE): discord.PermissionOverwrite(read_messages=True,
send_messages=True),
interaction.user: discord.PermissionOverwrite(read_messages=True, send_messages=True)
}
number = (random.randint(10, 999))
ticket_channel = await interaction.guild.create_text_channel(
f'🎫・{interaction.user}-{interaction.user.id}{number}',
topic=f'Ticket von {interaction.user.name}'
f'\n\ninfo'
f'\nTicket-nummer: {number}'
f'\nkunden-ID: {interaction.user.id}',
category=cat,
overwrites=overwrites
)```
C:\Users\pogod\AppData\Local\Programs\Python\Python310\python.exe E:\VC\Verkauf\Bot\RGB\main.py
Traceback (most recent call last):
File "C:\Users\pogod\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 "E:\VC\Verkauf\Bot\RGB\cogs\Ticket.py", line 5, in <module>
from TicketView import main, TutorialView, select
File "E:\VC\Verkauf\Bot\RGB\TicketView.py", line 229
@discord.ui.select(
^
IndentationError: expected an indented block after function definition on line 227
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "E:\VC\Verkauf\Bot\RGB\main.py", line 19, in <module>
bot.load_extension(f"cogs.{filename[:-3]}")
File "C:\Users\pogod\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\pogod\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.Ticket' raised an error: IndentationError: expected an indented block after function definition on line 227 (TicketView.py, line 229)
Process finished with exit code 1
@mystic flower was ist in 229
doch
Ich kriege einen error bei meinem Warn System 
Code:
async with aiosqlite.connect(self.DB) as db:
async with db.execute("UPDATE warn SET count + 1 WHERE user_id = ?", (user.id,)) as cursor:
await db.commit()
Error:
Application Command raised an exception: OperationalError: near "+": syntax error
Ich habe es so gemacht weil ich gesehen hab das Timo das so in seinem video gemacht hat (als info)
hab das SET count = count + 1 vergessen
kp ob das +1 grade passt
macht man glaube dann auserhalb in ner klammer aber bin mir grade nt sicher xd verzweifel grade selber
Jemand nh Idee wie ich das in nh int konvertiere? einfach int(d) geht nicht.. war ja klar
ich meine gehört zu haben dass leute es mit int() gemacht haben, weiß nicht wieso das nicht klappt. die zeile mit dem since ergibt jedenfalls keinen sinn, da versuchst du ein datetime objekt an ein datetime objekt zu übergeben
wieso brauchst du das als int?
ja das mit dem übergeben war schwachsinnig haha ik
ja ne
was hast du denn vor meine ich
vielleicht brauchst du es gar nicht als int. nur weil was anderes nicht klappt, heißt das nicht zwangsläufig dass du es so machen musst
Ich möchte von jetzt bis sincea die sekunden ausrechnen und dann halt await asyncio.sleep
also so, dass der cooldown halt noch nach nem neustart klappt
.-.
ja das ding ist ich hab kp wie ich den str "2023-03-14 07:55:19.870476" zu nem datetime object mache
deswegen hab ich ja auch eben das mit d = &Y... probiert
strptime() war schon der richtige ansatz
man kann übrigens auch direkt datetime objekte aus der DB holen
Wie dass denn?
mit numeric maybe? xd
du kannst custom typen machen
TIMESTAMP zum beispiel
wenn du sowas hier machst, erkennt python datetime objekte automatisch
async with aiosqlite.connect(DB, detect_types=1) as db:

Das ding ist, eig müsste es als int gespeichert werden
aber scheint nt so
Alsoooo, Ich habe bei meinem Warn system natürlich einen remove cmd gemacht und der geht aber wenn der User 0 Warns hat oder einfach nicht in der Datenbank ist dann führt er es trotzdem durch, aber ich weiß nicht wie ich das Abfrage
Code:
async with aiosqlite.connect(self.DB) as db:
async with db.execute("UPDATE warn SET count = count - 1 WHERE user_id = ?", (user.id,)) as cursor:
await db.commit()
probier mal DELETE warte ich schick dir nh beispiel
wenn der user nicht in der DB ist, passiert nichts, weil ja nur die zeile mit der user ID verändert wird
async with aiosqlite.connect(self.DB) as db:
await db.execute("DELETE FROM warn WHERE user_id = ?", (user.id,))
await db.commit()```
damit würdest du den komplett löschen
dann hat er ja auch keine warns mehr
ja doch
nee, will ja nur 1 warn löschen
Aber der User ist nicht in der db nicht einmal die user id
GOA NICHT
Ich habe jetzt einmal
async with aiosqlite.connect(self.DB) as db:
async with db.execute("UPDATE warn SET count = count - 1 WHERE user_id = ?", (user.id,)) as cursor:
await db.commit()
result = await cursor.fetchone()
if result is None:
return await ctx.respond(f"Der user ist nicht in der datenbank")
```probiert macht aber glaube nd sinn und gibt mir ein error aus `
``Application Command raised an exception: ProgrammingError: Cannot operate on a closed cursor.``
dann selecte die warns (hol die aus der db raus)
if warns >=0
pass
if warns <= 1
async with aiosqlite.connect(self.DB) as db:
async with db.execute("UPDATE warn SET count = count - 1 WHERE user_id = ?", (user.id,)) as cursor:
await db.commit()```
also
checke erst ob der user in der db drin is, dann ob er mehr als 0 warns hat
else währe dann user hat keine warns
dann kannst du da ja alles machen
async with aiosqlite.connect(self.DB) as db:
async with db.execute("SELECT count FROM warn WHERE user_id = ?", (user.id,)) as cursor:
```ich hol sie so, aber wie speicher ich jz die warns als variable einfach
```py
result = await cursor.fetchone()
result[0]
maybe weil du 2x result als ergebnis hast
mach einfach einmal resulti
oder so
och timo ich dreh durch was das
ich weiß nicht mehr weiter
ja wegen return mach das weg
komm das is nicht so schwer, ich verzweifel hier mit datetime xD
warum zum teufel is das nh - zahl
äähh
andersrum würde wenn ich die jetzige zeit angebe ca 1439.483minuten raus kommen
das kann auch nt hinkommen
weirdchamp
ja mies weird
code:
if result <= 1:
error:
Application Command raised an exception: TypeError: '<=' not supported between instances of 'NoneType' and 'int'
ja versuch anders rum
restult[0]
nein kein return
einfach result[0]
und result[0] bei der if abfrage
.
ja i try
OHHh
glaube ich weiß wie
Application Command raised an exception: TypeError: 'NoneType' object is not subscriptable
OMg
geil

ICH HAB ES
ich bin stolz auf dich
hä
ich auch ich check was aber nicht
warum wird das bei mir so ausgegeben:
bei dir timo war das kühler :(
schau die Datenbank Serie bei folge 2 bei Minute 0:28
oki
result[0] 
bruh
Timo ich checke echt nt wieso ich das vorher nt hinbekommen habe xd
sorry das du das auswendig kannst
Haha
Timo braucht ihr noch freiwillige helfer? 
bald werden inaktive Helfer aussortiert, also ja
BRUH
bin ich dabei? 
Okay
hier bin ich
ich schau mir von jedem an wie aktiv er in den letzten 2 Monaten war und dann entscheide ich das
Soll ich ticket wegen dem Rang aufmachen?
okö :D
Joker schreibt
Du weißt was Return bedeutet ._.

Musste gucken wie ich sachlich bleibe und ned ausraste xD
hahaahhaa
ja
hatte da gar nd dran gedacht 
Pascal grrrrt
grrr
hey ich bin mir grade nicht sicher aber konnte man nicht embeds auch in anderen klassen editieren? durch einen button klick?
ja das geht
hattest du das in einem video?
ich hab ein video zu buttons, zu embeds und wie man werte an andere klassen übergibt
okay dann muss ich da nochmal schauen hab da wohl was übersehen vorhin
wie werden in Embeds die Index zahlen vergeben? egal was ich eingebe als remove index ich bekomme index out of range. ich will das erste field bei button klick entfernen .
sollte ganz normal bei 0 anfangen
komisch
also ich habs jetzt ohne den index error und es passiert trotzdem nichts also der macht die kontroll prints aber das embed wird nicht verändert was ist hier falsch gemacht worden von mir ?
if self.ctx.voice_client.is_playing():
self.ctx.voice_client.stop()
self.ctx.voice_client.play(discord.FFmpegPCMAudio(rad))
# await interaction.response.edit_message(content=f"Du hast \n{s} ausgewählt!")
self.radio.remove_field(index=0)
print(2)
self.radio.add_field(name=f"{s}", value=f"Du hörst jetzt \n{s}")
print(4)
else:
self.ctx.voice_client.play(discord.FFmpegPCMAudio(rad))
# await interaction.response.edit_message(content=f"Du hast \n{s} ausgewählt!")
self.radio.remove_field(index=0)
print(1)
self.radio.add_field(name=f"{s}", value=f"Du hörst jetzt \n{s}")
print(3)
nachdem du das embed bearbeitet hast, solltest du es vielleicht auch senden
aber dann verändert der ja die bestehenden embeds ja nicht sondern neu oder habe ich da einen denk fehler
dann musst du die nachricht noch bearbeiten
okay habs einfach mal gemacht statt zu denken und hat geklappt ich wollte wohl weniger denken und mehr machen xD danke dir
kann mna dropdown menüs auch nur zur auswahl geben für den user der den befehl ausgeübt hat ohne empemeral?
du kannst anderen leuten eine fehlermeldung zeigen, wenn sie versuchen es zu nutzen
okay ich versuchs mal
mal kurz eine andere frage wie macht man das eigentlich wie due es hats bei der userinfo dass man dann beim anklicken des namens zum user kommt?
die syntax ist [User](URL)
okay welche url haste denn dann drin?
also wie nimmst du dir die url um das profil zu bekommen
klar
auch für den bot weil dann passiert gar nichs mehr wenn der bot das embed rein senden soll
so? ```py
radios.set_author(name={bot}.user.avatar.url)
hab einfach erstmal deins kopiert




