#Allgemeine Hilfe
1 messages · Page 49 of 1
geht es bei dir?
Ja
zeig
du benutzt ja nd des von ezcord meines Wissens 
Ich benutze ezcord
und wieso sind die bei dein dropdown dann nd 🤔
Was
Weil ich keine eingestellt habe
habe den bot auf einen server eingeladen aber es geht trz nd
Hmmm
Was ist damit
das ist kein custom emoji
Deine bot id
967527498285989928
Danke
Ich habe dieses 🪄 Emoji kopiert und dann in den Code eingefügt
ich glaube du musst schlafen
Ja warum
weil du grad ein stuckst
😧
😮
yoyoyooyyoyoyo
wie zählt man alle command zsm die man aktuell hat und lässt diese im terminal printen? gibt es da einen simplen weg?
bot.walk_application_commands()
ja?
teste es doch 😄
du könntest die variable auch timo nennen 
ja oder nein ist doch nicht zu viel : (
mach ich ; )
okay. Noch eins;
ich bin entweder lost oder lost
wie editiere ich ein Option Value?
Sprich;
@slash_command
async def test(
self,
interaction,
test: Option(str, "...")
)
if "..." in test:
var = test.replace('..', '')
funktioniert nicht. Was ist daran falsch und könnte mir das jemand ggf. erklären?
was genau passiert denn aktuell?
also der erste code den du geschickt hast hatte gar nichts mit dem error zu tun, da hast du einfach alles was mit dem error zu tun hat weggelassen xD
beim zweiten hast du die zeile wo der error passiert auch nicht mitgeschickt
das ist die zeile 💀
aber du versuchst in user.timeout_for() ein integer rein zu tun das geht nicht
str genau so wenig
du sollst ja auch nicht raten was da rein kommst haha
es gibt doch nur str und int
digga du codest immer wenn du stoned bist
da kommt nen timedelta rein
Why das jetzt
les jz ma weiter dein Buch
dann komm general talk
Erst wenn Timo Rolle gönnt
da bin ich wenigstens motiviert :(
sus rolle ?
genemigt also xD
also das coden
funktioniert jetzt. Sorry und danke : D
niiice
bekomme dauernd den error
class Warn(ezcord.Cog,emoji=""):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
async with aiosqlite.connect("warns.db") as db:
await db.execute(
"CREATE TABLE IF NOT EXISTS warns(user INTEGER, reason TEXT, time INTEGER, guild INTEGER, warner INTEGER)")
@slash_command(description="Verwarne einen Benutzer auf deinen Server")
@discord.default_permissions(manage_guild=True)
async def warn(self,ctx:discord.Interaction, member:discord.Member,reason:str="nicht gegeben"):
if member.bot:
await ctx.response.send_message("Du kannst keine Bots verwarnen", ephemeral=True)
return
if member == ctx.user:
await ctx.response.send_message("Du kannst dich nicht selber warnen", ephemeral=True)
return
else:
async with aiosqlite.connect("warns.db") as db:
await db.execute("INSERT INTO warns (user, reason, time, guild, warner) VALUES (?, ?, ?, ?, ?)",
(member.id, reason, int(datetime.now().timestamp()), ctx.guild.id, ctx.user.id))
await db.commit()
embed = discord.Embed(
description=f'{member.mention} wurde von {ctx.user.mention} gewarnt\n**Grund**: {reason}')
await ctx.respond(embed=embed)
def setup(bot: discord.Bot):
bot.add_cog(Warn(bot))```
im else teil respondest du nicht
doch habe nur vergessen mit zu senden :
ne
er responded es auch
aber der error kommt trz 😂
Ich würde sagen liegt an ezcord 😐
in dem command ist doch gar nichts von ezcord
Na los
🖕
- Error:
Ignoring exception in modal <src.modules.woerterErraten.Modal object at 0x0000020232857DF0>:
Traceback (most recent call last):
File "C:\Users\gehtd\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\ui\modal.py", line 341, in dispatch
await value.callback(interaction)
File "c:\Users\gehtd\Desktop\❗WICHTIG❗\MainTestBot\src\modules\woerterErraten.py", line 384, in callback
await msg.edit(
File "C:\Users\gehtd\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\message.py", line 1448, in edit
payload["components"] = view.to_components() if view else []
TypeError: View.to_components() missing 1 required positional argument: 'self'
- Code:
msg = await msg.edit(
embed=embedAfter,
view=None
)
await asyncio.sleep(3)
await msg.edit(
embed=embedAfter,
view=buttonMitModal
)
@urban glen kannst du es bitte normal machen
muss du vielleicht bei der view= ... was übergeben ?
stimmt
xD
kein ding dafür ist der kanal
Wenn ich eine Datenbank habe wo 3 Einträge sind die alle die ID 1 haben, und ich dann "DELETE FROM table WHERE id = ?", (1,) mache, deleted er dann alle einträge oder nur einen?
kann ich machen wenn ich in einer db nur user_ids hab also eine Spallte das der Bot einen random User einfach nimmt und nicht immer denn ersten oder so halt einfach random einen
Ja, das geht
async with aiosqlite.connect(db_path) as db:
async with db.cursor() as cursor:
await cursor.execute("SELECT * FROM users ORDER BY RANDOM() LIMIT 1")
user = await cursor.fetchone()
print(user)
So müsste es glaube gehen
Andere möglichkeit wäre, dass du einfach alles aus der Datenbank holst und dann mit der random lib einfach einen random wählst
also so:
async with aiosqlite.connect(db_path) as db:
async with db.cursor() as cursor:
await cursor.execute("SELECT user_id FROM users")
rows = await cursor.fetchall()
if rows:
user = random.choice(rows)[0]
print(random_user_id)
else:
print("keine user in der db")
Stimmt
Danke
Kein Ding
kk
wenn ich pip install py-cord-dev==2.5.0rc5 in den terminal reinmache kommt das
pip : Die Benennung "pip" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern
enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
- pip install py-cord-dev==2.5.0rc5
-
+ CategoryInfo : ObjectNotFound: (pip:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
Dann hast du wohl Pip nicht installiert
wie kann ich es installieren
Hier findest du zwei Methoden dafür
danke habe jetzt aber python neu installiert jetzt müsste es gehen
👍
😮
Kann man mit ezcord ein AutoComplete aus einer db machen?
Müsste gehen ja
Help me
Ignoring exception in view <View timeout=None children=2> for item <Claim style=<ButtonStyle.success: 3> url=None disabled=True label='Claim' emoji=<PartialEmoji animated=False name='✋' id=None> row=None>:
Traceback (most recent call last):
File "C:\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "C:\system.py", line 153, in callback
await interaction.message.edit(view=self)
File "C:\Ussage.py", line 1434, in edit
payload["components"] = view.to_components() if view else []
^^^^^^^^^^^^^^^^^^
AttributeError: 'Claim' object has no attribute 'to_components'
await interaction.message.edit(view=self)
so ist es doch eigentlich richtig oder?
Schick mal Code
class Claim(discord.ui.Button):
def __init__(self):
super().__init__(label="Claim", style=discord.ButtonStyle.green, emoji="✋", custom_id="claim")
async def callback(self, interaction: discord.Interaction):
teamrole = interaction.guild.get_role(1148786344680751154)
if teamrole in interaction.user.roles:
self.disabled = True
embed = discord.Embed(title="Ticket Claimed", description=f"Das Ticket wurde von {interaction.user.mention} Geclaimed.", color=discord.Color.yellow())
await interaction.message.edit(view=self)
await interaction.response.send_message(embed=embed)
else:
await interaction.response.send_message("Du hast keine Rechte, um das Ticket zu claimen")
Das ist keine View klasse ._.
class ClaimView(discord.ui.View):
def __init__(self):
super().__init__()
@discord.ui.button(label="Claim", style=discord.ButtonStyle.green, emoji="✋", custom_id="claim")
async def callback(self, button: discord.ui.Button, interaction: discord.Interaction):
teamrole = interaction.guild.get_role(1148786344680751154)
if teamrole in interaction.user.roles:
self.disabled = True
embed = discord.Embed(title="Ticket Claimed", description=f"Das Ticket wurde von {interaction.user.mention} Geclaimed.", color=discord.Color.yellow())
await interaction.message.edit(view=self)
await interaction.response.send_message(embed=embed)
else:
await interaction.response.send_message("Du hast keine Rechte, um das Ticket zu claimen")
@vivid sky
👍🏽 Gerade gemacht dankeschön ^^
Aber dann bekomme ich in meinen anderen Code Abschnitt ein Fehler.
Ignoring exception in view <Select timeout=None children=1> for item <Select type=<ComponentType.string_select: 3> placeholder='Wähle deine Ticket-Option aus.' min_values=1 max_values=1 options=[<SelectOption label='Bewerbung' value='Bewerbung' description='' emoji=None default=False>,emoji=None default=False>] channel_types=[] disabled=False>:
Traceback (most recent call last):
File "C:\ts\\venv\Lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "C:\commands\Ticketsystem.py", line 100, in select_callback
Button.add_item(Claim())
File "C:\ib\site-packages\discord\ui\view.py", line 287, in add_item
raise TypeError(f"expected Item not {item.__class__!r}")
TypeError: expected Item not <class 'commands.Ticketsystem.Claim'>
Button = discord.ui.View(timeout=None)
Button.add_item(Claim())
Button.add_item(Close())
await ticketchannel.send(content=f"{teamrole.mention} | {interaction.user.mention}", embed=embed, view=Button)
view = ClaimView()
await ticketchannel.send(content=f"{teamrole.mention} | {interaction.user.mention}", embed=embed, view=view)
Schau dir das am besten an

Und wie😂
Wie kann man im Code die EzCord Version eintragen
das wurde gestern beantwortet
Hä
‘ezcord.version‘
{ezcord.__version__}
So
Ja
😅
Und die python Version
Also jz krachts
Genauso python.version
Ok
@tawdry leaf geht net
Traceback (most recent call last):
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 131, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "/storage/emulated/0/Timo/Dev/Discord/Bot/Falci/cogs/Infomationen & Afk System/botinfo.py", line 29, in about
embed = discord.Embed(title=f"{Pin} | BOT INFOS", description=f">>> {Rakete}** × SERVER:** {len(self.bot.guilds)}\n\n{Dev}** × DEVELOPER:** {self.dev}\n\n{Sterne}** × Commands:** {len(self.bot.commands)}\n\n{Werkzeug}** × ERSTELLT:** <t:1689766800:R>\n\n{Dev}** × CREDITS AN :** {self.credit}\n\n{FalciPartner}** × PARTNER / HOSTER:** [SignMc Hoster]()\n\n{online} ** × ONLINE SEIT:** {uptime}\n\n{python} ** × VERSION:** {python.__version__}\n\n{pycord} ** × VERSION:** {pycord.__version__}\n\n{ezcord} ** × VERSION:** {ezcord.__version__}", color=COLOR)
^^^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute '__version__'
import platform
print(platform.python_version())
Ok
Und sowas kannst du auch googlen
Ok
Geht schneller als hier auf nh antwort zu warten
@urban glen
Traceback (most recent call last):
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 131, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "/storage/emulated/0/Timo/Dev/Discord/Bot/Falci/cogs/Infomationen & Afk System/botinfo.py", line 30, in about
embed = discord.Embed(title=f"{Pin} | BOT INFOS", description=f">>> {Rakete}** × SERVER:** {len(self.bot.guilds)}\n\n{Dev}** × DEVELOPER:** {self.dev}\n\n{Sterne}** × Commands:** {len(self.bot.commands)}\n\n{Werkzeug}** × ERSTELLT:** <t:1689766800:R>\n\n{Dev}** × CREDITS AN :** {self.credit}\n\n{FalciPartner}** × PARTNER / HOSTER:** [SignMc Hoster]()\n\n{online} ** × ONLINE SEIT:** {uptime}\n\n{python} ** × VERSION:** {platform.python_version()}\n\n{pycord} ** × VERSION:** {platform.pycord_version()}\n\n{ezcord} ** × VERSION:** {platform.ezcord_version()}", color=COLOR)
^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'platform' has no attribute 'pycord_version'
Wobei dir Lucky schon gesagt hat wie das geht
@solid ingot
Steht doch da Version: 0.3.5
Aber der fehler
Code?
Hör doch mal auf ständig irgendwen zu Pingen, wenn dir jemand helfen will / helfen kann, dann wird er/sie es wahrscheinlich tun
Und mit Pings sorgst du meist nur dafür, dass es noch länger dauert
import discord, datetime, time
from discord.ext import commands
import datetime, time
from discord.commands import slash_command
import platform
from utils import *
import time
import datetime
import os
import ezcord
class Info(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.dev = "@fierce dove"
self.credit = "@novel ore"
@commands.Cog.listener()
async def on_ready(self):
global start_time
start_time = time.time()
@slash_command()
async def about(self, ctx):
print(f"{ezcord.__version__}")
button = discord.ui.Button(label=f"Link", url="https://google.com", emoji=f"{Flugzeug}")
view = discord.ui.View()
view.add_item(button)
uptime = str(datetime.timedelta(seconds=int(round(time.time()-start_time))))
embed = discord.Embed(title=f"{Pin} | BOT INFOS", description=f">>> {Rakete}** × SERVER:** {len(self.bot.guilds)}\n\n{Dev}** × DEVELOPER:** {self.dev}\n\n{Sterne}** × Commands:** {len(self.bot.commands)}\n\n{Werkzeug}** × ERSTELLT:** <t:1689766800:R>\n\n{Dev}** × CREDITS AN :** {self.credit}\n\n{FalciPartner}** × PARTNER / HOSTER:** [SignMc Hoster]()\n\n{online} ** × ONLINE SEIT:** {uptime}\n\n{python} ** × VERSION:** {platform.python_version()}\n\n{ezcordLogo} ** × VERSION:** {ezcord.__version__}", color=COLOR)
embed.timestamp = datetime.datetime.now()
await ctx.respond(embed=embed, view=view)
def setup(bot):
bot.add_cog(Info(bot))
Mach das {ezcordLogo} weg
Aber mal zum testen ob der error weg ist
Geht
Dann ist was beim Laden des Logos falsch
Habs
Wo definierstt du denn ezcordLogo?
In einer extra datei
Und wie definierst du es?
Dann haben wir das Problem
utils/config/emoji.py
Die frage war wie du es definiert hast
Und dann
Ich meine, wie du ezcordLogo definiert hast
ezcordLogo = ": ezcord:emojiid"
zeig mal den code
Booster = ":Booster:"
Bug = ":Bug:"
Dev = ":Dev:"
Diamant = ":Diamant:"
FalciPartner = ":FalciPartner:"
Fire = ":Fire:"
Giveaway = ":Giveaway:"
Kompass = ":Kompass:"
Krone = ":Krone:"
Lightning = ":Lightning:"
Love = ":Love:"
Ordner = ":Ordner:"
Pin = ":Pin:"
Plus = ":Plus:"
Punkt = ":Punkt:"
Rakete = ":Rakete:"
Voice = ":Voice:"
Werkzeug = ":Werkzeug:"
afk = ":afk:"
bluearrow = ":bluearrow:"
mail = ":mail:"
lachen = ":lachen:"
no = ":no:"
topgg = ":topgg:"
user = ":user:"
yes =":yes:"
online = ":online:"
dnd = ":dnd:"
idle = ":idle:"
offline = ":offline:"
Flugzeug = ":Flugzeug:"
BotLogo = ":BotLogo:"
Sterne = ":Sterne:"
Tickets = ":Ticket:"
ezcordLogo = ":ezcord:"
pycord = ":pycord:"
python = ":python:"
Hier sind alle enojis
Und wo ist da die Id?
Hinter den :
Wird aber nicht angezeigt
Booster = ":Booster:"
Bug = ":Bug:"
Dev = ":Dev:"
Diamant = ":Diamant:"
FalciPartner = ":FalciPartner:"
Fire = ":Fire:"
Giveaway = ":Giveaway:"
Kompass = ":Kompass:"
Krone = ":Krone:"
Lightning = ":Lightning:"
Love = ":Love:"
Ordner = ":Ordner:"
Pin = ":Pin:"
Plus = ":Plus:"
Punkt = ":Punkt:"
Rakete = ":Rakete:"
Voice = ":Voice:"
Werkzeug = ":Werkzeug:"
afk = ":afk:"
bluearrow = ":bluearrow:"
mail = ":mail:"
lachen = ":lachen:"
no = ":no:"
topgg = ":topgg:"
user = ":user:"
yes =":yes:"
online = ":online:"
dnd = ":dnd:"
idle = ":idle:"
offline = ":offline:"
Flugzeug = ":Flugzeug:"
BotLogo = ":BotLogo:"
Sterne = ":Sterne:"
Tickets = ":Ticket:"
ezcordLogo = ":ezcord:"
pycord = ":pycord:"
python = ":python:"
bruh
Wenn du EMojis mit dem Namen und Id angibst, brauchst du am Anfang < und am Ende > soweit ich weiß
Ok
Hier sind die emojis
Hab ich
Gehts?
Schau in Test server
Nice!
Kein Ding
py
primestogetfound = int(input("Primzahlen werden berechnet, nach wie vielen Primzahlen soll das Programm aufhören: "))
stop = 0
numbertry = 1
primesfound = 0
while primestogetfound != primesfound:
noprime = 0
numbertry += 1
possibles = range(1, numbertry)
possiblesindex = 0
while noprime == 0:
rest = numbertry % possibles[possiblesindex]
possiblesindex += 1
if numbertry == possiblesindex - 2:
stop
if rest == 0:
noprime = 1
stop
if noprime == 0:
primesfound += 1
print(numbertry)
Der code laggt iwie, jemand ne idee warum
Mehr details?
Wie meinst du der code laggt?
man soll eine bestimmte Anzahl an Primzahlen herausfinden können
man kann endlos enter drücken und nichts passiert
Meine Frage ist weiß jemand wie ich die Tables von einen user zählen kann auf einen bestimmten Server
Ich möchte wenn ich einen User Warns entziehe noch ausgeben wie viele warns der Benutzer noch hat, ich habe sonst immer dafür den code benutzt aber seit neusten gibt er immer nur 1 aus..
warnnum = 0
for table in data:
warnnum += 1```
was geht da genau nicht?
er gibt immer 1 aus habe ich doch geschrieben 😐
print dir mal data
lesen dann schreiben danke
was kommt denn bei print data raus?
habe ich doch grad im talk gesagt 
schick es uns
habs schon selber
na dann
wie editiert man eine nachricht mit einer nachrichten ID?
[ mit interaction ]
möchte einen edit command erstellen aber kein plan wie bzw wo ich eine ID hinzufügen muss
denke
msg = interation.get_message(id)
await msg.edit
ne, gibt es nicht...
also habe es mit slash cmd noch nd gemacht aber mit normalen cmd
bei interaction.followup.edit_message kannst du ne ID eingeben, weiß nicht ob du das meinst
alles gut hab : D
huh
wie?
also
was muss man in der klammer angeben?
wird nicht vorgeschlagen
message_ = await interaction.channel.get_partial_message(message_id).fetch()
await message_.edit(content="...")
So müsste es auch gehen
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_...
alles gut hab schon
aber
andere frage
angenommen:
Ich habe ein Embed
möchte den editieren, aber nur den title
wie kriege ich die bereits vorhandene Description? oder muss ich die in einer datenbank speichern? 💀
kannst das embed wahrscheinlich aus der nachricht laden und dann title ändern
embed = die_message.embeds[0].copy()
embed.title = "Neuer Titel"
await interaction.followup.edit_message(message_id=die_message.id, embed=embed)
vielen lieben dank : D
Was muss man in die requirements schreiben das man die master branch von py-cord auf den pterodactyl server installiert
Das gleiche, was man auch ins terminal eingibt
Aber ohne pip Install
Soweit ich weiß
Okay danke
Traceback (most recent call last):
File "c:\Users\nicor\OneDrive\Desktop\lua bot\main.py", line 104, in <module>
bot.load_cogs("cogs", log=ezcord.CogLog.default, log_color="green")
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\bot.py", line 214, in load_cogs
self.load_extension(f"{'.'.join(path.parts)}.{name}")
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 913, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 794, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.youtube' raised an error: TypeError: cogs must derive from Cog```
code vom youtube cog?
import json
import discord
from colorama import *
from discord.commands import slash_command, Option
from discord.ext import commands, tasks
from pytube import Channel
import ezcord
class Youtube(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
self.checkforvideos.start()
# Prüft alle 60 Sekunden die Videos
@tasks.loop(seconds=60)
async def checkforvideos(self):
with open("youtubedata.json", "r") as f:
data = json.load(f)
print(Fore.RED + "---------------Prüfe YouTube-Daten!---------------")
# Prüft die Daten in "youtubedata.json" und holt sich die Kanal-URL sowie die html der /videos Seite
for youtube_channel in data:
print(Fore.BLUE + f"----------Prüfe YouTube-Daten von {data[youtube_channel]['channel_name']}----------")
channel = f"https://www.youtube.com/channel/{youtube_channel}"
c = Channel(channel)
try:
latest_video_url = c.video_urls[0]
except:
continue
# Prüft ob die url in "youtubedata.json" nicht die selbe ist wie die letzte Video url und ersetzt diese ggf.
if not str(data[youtube_channel]["latest_video_url"]) == latest_video_url:
data[str(youtube_channel)]['latest_video_url'] = latest_video_url
# dumping der Daten
with open("youtubedata.json", "w") as f:
json.dump(data, f)
# Nimmt die Channel ID und sendet die Daten
discord_channel_id = data[str(youtube_channel)]['notifying_discord_channel']
discord_channel = self.bot.get_channel(int(discord_channel_id))
msg = f"{data[str(youtube_channel)]['channel_name']} hat gerade ein Video hochgeladen: " \
f"{latest_video_url} "
await discord_channel.send(msg)
# SlashCommand erstellen um mehr YouTube Accounts hinzuzufügen
@slash_command(description="Füge einen YouTuber zu den Benachrichtigungen hinzu!")
@discord.default_permissions(administrator=True)
@discord.guild_only()
async def add_yt_notify(self, ctx, channel_id: str, *, channel_name: str, discord_channel_id: str):
with open("youtubedata.json", "r") as f:
data = json.load(f)
data[str(channel_id)] = {}
data[str(channel_id)]["channel_name"] = channel_name
data[str(channel_id)]["latest_video_url"] = "none"
data[str(channel_id)]["notifying_discord_channel"] = discord_channel_id
with open("youtubedata.json", "w") as f:
json.dump(data, f)
await ctx.respond("Daten hinzugefügt!", ephemeral=True)
# SlashCommand um Benachrichtigungen umzustellen
@slash_command(description="Aktiviere oder Deaktiviere Benachrichtigungen")
@discord.default_permissions(administrator=True)
@discord.guild_only()
async def yt_notify(
self, ctx,
status: Option(str, choices=["aktivieren", "deaktivieren"])
):
if status == "aktivieren":
self.checkforvideos.start()
else:
self.checkforvideos.stop()
await ctx.respond("Status wurde geändert!", ephemeral=True)
def setup(bot):
bot.add_cog(Youtube)(bot)```
14 Wochen haben wie viele Sekunden
Danke
Ok
Geht net
async def timeout_duration(ctx: discord.AutocompleteContext):
options = []
if ctx.value == "":
options.append(discord.OptionChoice(name="5 Minuten", value="300"))
options.append(discord.OptionChoice(name="10 Minuten", value="600"))
options.append(discord.OptionChoice(name="1 Stunde", value="3600"))
options.append(discord.OptionChoice(name="1 Tag", value="86400"))
options.append(discord.OptionChoice(name="1 Woche", value="604800"))
options.append(discord.OptionChoice(name="14 Wochen", value="8467200"))
options.append(discord.OptionChoice(name="1 Monat", value="262800288"))
options.append(discord.OptionChoice(name="1 Jahr", value="31557600"))
Traceback (most recent call last):
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 131, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "/storage/emulated/0/Timo/Dev/Discord/Bot/Falci/cogs/Administrator/Moderator.py", line 63, in timeout
await member.timeout_for(timedelta(seconds=int(dauer)), reason=grund)
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/member.py", line 900, in timeout_for
await self.timeout(
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/member.py", line 873, in timeout
await self.edit(communication_disabled_until=until, reason=reason)
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/member.py", line 847, in edit
data = await http.edit_member(guild_id, self.id, reason=reason, **payload)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/http.py", line 371, in request
raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In communication_disabled_until: Invalid communication disabled timestamp
gehts genauer
😑
ich habe anstatt communication_disabled_until timed_out benutzt überall
Was
anstatt communication_disabled_until schreibe timed_out
Ok
[ERROR] Error in event on_interaction
Traceback (most recent call last):
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\felix\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\felix\Desktop\kawi01\cogs\ticket.py", line 47, in ticketsend
await channel.send(embed=embed, view=TicketOptions())
^^^^^^^^^^^^^^^
TypeError: TicketOptions.__init__() missing 1 required positional argument: 'bot'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\felix\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\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 375, in invoke
await injected(ctx)
File "C:\Users\felix\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: TypeError: TicketOptions.__init__() missing 1 required positional argument: 'bot'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 104, in wrapped
ret = await coro(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
TypeError: TicketSystem.error() takes 2 positional arguments but 3 were given
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\bot.py", line 1167, in on_interaction
await self.process_application_commands(interaction)
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\bot.py", line 848, in process_application_commands
await self.invoke_application_command(ctx)
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\bot.py", line 1118, in invoke_application_command
await ctx.command.dispatch_error(ctx, exc)
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 412, in dispatch_error
await injected(cog, ctx, error)
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 112, in wrapped
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: TypeError: TicketSystem.error() takes 2 positional arguments but 3 were given
was bedeutet das
Zeig mal den Code von der TicketOptionView
ich hab halt ein ticket system von discord.py versucht in pycord umzuschreiben
ist aber schwer
du darfst bot nicht übergeben wollen, du kannst auf ihn eif mit interaction.client zugreifen
bzw du darfst schon is aber eigtl unnötig
Wie kommt meine library zu pypi
bewerben ig
Aber wo auf der Website
Dann
erstellst eins 😄
Muss ich 2fa aktivieren
Ja. Schau dir einfach mal ein Tutorial auf YouTube an. Du musst auch noch eine pyLib installieren um das zu publishen 🙂
@daring birch hast du des importiert
from discord import Option
hat mir ein Kollege gegeben
import discord
from discord.ext import commands
from discord.commands import Option```
muss nd mal mit .commands sein
doch eig schon
also bei mir geht es mit from discord import slash_command, Option
hat aber nächstes error 😣
musst des anmachen
im developer portal
steht da 😄
ah okay, noch neuling xd
alles gut
hat geklappt! ist wieder on! ich bedanke mich^^
Das Slash klappt ned
ist "slash_command" richtig?
oder fehlt da was
@slash_command()
@bot.slash_command hat geklappt
ja wenn du kein cog hats musst du des auch benutzen
jemand eine idee?
leak mal nicht dein token
send mal den Fehler
da fehlt die klammer und des komma hinten bei user kannste weg lassen
Wie kann ich das so in die Klasse reinscheiben, dass es funktioniert ?
Soll nen Discord Bot Status switch sein
kannst du kru talk?
Ja
#1020759567421931620
Füg die zeile hinzu: bot = Bot()
wo fehlt klammer?
Ich meine, dass der Status wechselt
ja. mach das was ich sage
import asyncio
import discord
import ezcord
import os
import logging
from dotenv import load_dotenv
class Bot(ezcord.Bot):
def _init_(self):
intents = discord.Intents.default()
intents.members True
intents.message_content = True
intents. messages = True
intents.voice_states = True
super()._init_(intents=intents, debug_guilds=os.getenv("SERVER_ID"), language="de")
self.load_cogs("cogs", subdirectories-True)
async def on_ready(self):
self.loop.create_task(status_task())
bot = Bot()
@bot.event
async def status_task():
await bot.change_presence(activity=discord.Game("Made by MecryTv"), status=discord.Status.online)
await asyncio.sleep(30)
... # rest
Ah, du willst es in der Klasse
Das hab ich überlesen
Erstmal könntest du damit anfangen, @bot.event zu entfernen ._.
Weil status_task kein event ist
Und nutz am besten loops dafür
import asyncio
import discord
import ezcord
import os
import logging
from dotenv import load_dotenv
from itertools import cycle
class Bot(ezcord.Bot):
def _init_(self):
self.status = cycle(["erste Status", f"zweite Status", "dritter Status", f"vierter Status", f"fünfter Status"])
intents = discord.Intents.default()
intents.members True
intents.message_content = True
intents. messages = True
intents.voice_states = True
super()._init_(intents=intents, debug_guilds=os.getenv("SERVER_ID"), language="de")
self.load_cogs("cogs", subdirectories-True)
async def on_ready(self):
print("Ready")
@tasks.loop(minutes=1)
async def change_status(self):
await self.change_presence(activity=discord.Game(next(status)))
@limber crow
Probiers so
#1069916479312625684 message
Hier kannst du auch schauen, um da mit dem cycle zu verstehen
import discord
import ezcord
import datetime
import random
import asyncio
import json
import aiosqlite
import sqlite3
import os
import asyncpraw
from discord.ext import commands
from utils import *
from datetime import datetime
from discord.commands import slash_command, Option
class Spotify(commands.Cog):
def __init__(self, bot):
self.bot = bot
async def get_spotify_infos(self, member: discord.Member):
activity = member.activity
if isinstance(activity, discord.Spotify):
artist = activity.artist
song = activity.title
url = activity.track_url
album = activity.album
album_cover_url = activity.album_cover_url
track_id = activity.track_id
embed = discord.Embed(
title=f"{member.name}'s Spotify",
color=COLOR,
)
embed.add_field(name="Artist", value=artist)
embed.add_field(name="Song", value=song)
embed.add_field(name="Album", value=album)
embed.add_field(name="Listen to this song", value=f"[{song}]({url})")
embed.set_thumbnail(url=album_cover_url)
embed.set_footer(text=f"Track ID: {track_id}")
return embed
else:
return None
@slash_command(name="spotify")
async def spotify(self, ctx, member: Option(discord.Member)):
await ctx.response.defer()
spotify = await self.get_spotify_infos(member)
if spotify is None:
return await ctx.followup.send(
f"{member.name} is not listening to Spotify."
)
await ctx.followup.send(embed=spotify)
def setup(bot):
bot.add_cog(Spotify(bot))
Warum wird immer .invalidtimo is not listening to Spotify. Angezeigt
Weil du wohl kein Spotify hörst maybe
Doch
Hast du Intents an?
Printe doch mal die ganzen Werte
Geht thx
~~Hey, bei mir funktionieren manche Buttons nicht nach dem Restarten. (Eig alle Kriterien erfüllt, mit CustomID, timeout=None & im On_Ready Event self.bot.add_view)
Hier der Code~~
~~```py
class AdminPanel(commands.Cog):
def init(self, bot):
self.bot = bot
self.update_queue.start()
@commands.Cog.listener()
async def on_ready(self):
with connection_pool.get_connection() as connection, connection.cursor(buffered=True) as mycursor:
mycursor.execute(
"""
CREATE TABLE IF NOT EXISTS warteschlange (
discord_id TINYTEXT,
id INTEGER(11)
)""")
mycursor.execute(
"""
CREATE TABLE IF NOT EXISTS count (
count_id INTEGER(11)
)""")
mycursor.execute(
"""
CREATE TABLE IF NOT EXISTS tickets (
discord_id TINYTEXT,
ticket_name TINYTEXT
)""")
mycursor.execute("SELECT * FROM count")
count_result = mycursor.fetchone()
if count_result is None:
sql_statement_check_result = ("INSERT INTO count (count_id) VALUES (%s)")
values_check_result = (0,)
mycursor.execute(sql_statement_check_result, values_check_result)
connection.commit()
print("Count hinzugefügt!")
else:
return
self.update_queue.start()
self.bot.add_view(AdminPanelButton())
self.bot.add_view(CloseButton())
self.bot.add_view(SureCloseButton())
self.bot.add_view(TicketOptionsButtons())
self.bot.add_view(SureClearButton())
class AdminPanelButton(discord.ui.View):
def init(self):
super().init(timeout=None)
#NEXT-TICKET-BUTTON
@discord.ui.button(label="Next ticket", style=discord.ButtonStyle.green, emoji="⏭", custom_id="nextticket")
async def button_callback_1(self, button: discord.Button, interaction: discord.Interaction):
#CODE ABER SEHR VIEL UND UNWICHTIG DESHALB GEKÜRZT"```~~
In einem anderen Cog funktioniert es
Nvm musste nur die add_view nach ganz oben im on_ready event packen xD
anime = discord.SlashCommandGroup("anime", "Group for anime content")
gif = anime.create_subgroup("gif", "Group for gifs")
class API(commands.Cog):
def __init__(self, bot):
self.bot = bot
def search_gif(self, tags:str):
key = os.getenv("API_KEY")
params = {
"q": tags,
"key": key,
"limit": "10",
"client_key": "Discord_bot",
"media_filter": "gif"
}
result = requests.get("https://tenor.googleapis.com/v2/search", params=params)
data = result.json()
number = random.randint(0, 9)
url = data['results'][number]['media_formats']['gif']['url']
return url
@gif.command(description = "Send a anime hug gif you can also mention someone!")
async def hug(self, ctx, user:discord.Member = None):
url = self.search_gif(tags="Anime_hug")
emb = discord.Embed(title="Hug", description=f"**There you go {ctx.author.mention} hugs**" if user == None else f"**{ctx.author.mention} has hug {user.mention}**", color=bot_colour)
emb.set_image(url=url)
emb.set_footer(text="Via Tenor")
await ctx.send(embed=emb)
def setup(bot):
bot.add_cog(API(bot))
Hallo weiß wer warum der command nicht verfüg bar ist es kommt kein error oder so er wird bei den slash commands einfach nicht angezeigt
@hard pivot welche library
oh gott
Pycord, nextcord, discord.py
Mann muss nicht embed nehmen Mann kann auch emb nehmen @jade sapphire
hmm
@hard pivot lib
gib ihm doch mal zeit musst ihn nd 10 mal pingen
Das emb steht einfach nur für ein Custom namen, dem du dem Embed gibst. Das embed wird halt mit discord.Embed() erstellt
Ok
achso ja stimmt
stimmt holy shit stimmt okay tut mir leid haha
Wenn du pycord benutzt dann muss das
ctx.send zu ctx.respond
Passiert mal ^^
ctx.respond
Danke hab's verbessert


pycord
Wenn du pycord benutzt dann muss das
ctx.send zu ctx.respond
es ist ja ein slash command
aber er ist wenn ich /name dann ist er nicht da
from Import_file import requests, discord, os, random, bot_colour
from discord.ext import commands
from discord.commands import Option
import aiohttp
import json
from Import_file import requests, discord, os, random, bot_colour
from discord.ext import commands
from discord.commands import slash_command Option, SlashCommandGroup
import aiohttp
import json
@hard pivot
AttributeError: 'SlashCommandGroup' object has no attribute 'slash_command
Ich hab das schon richtig das ding ist nur das wenn man SlashCommandGroup benutzt slash_command nicht geht
Du musst die SlashCommandGroup auch anders schreiben, denn so darfst du sie nicht schreiben. Ich schreibe sie immer so
DeinName = SlashCommandGroup(
name="ticket",
description="Setup the ticket system",
)
@DeinName.command(
name="setup",
description="Setup the ticket system",
)
``` und danach halt den rest. So mache ich es und es geht immer
Bei was denn
@novel ore
Ah aber ist doch jetzt geklärt oder
Nein er wir immer noch nicht aufgelistet
Hast du es auch in der Classe gemacht ?
Wird der Cog geladen?
ja
Wo wird was angezeigt
das es geladen wird
andere commands aus dem cog funktionieren
@commands.Cog.listener()
async def on_ready(self):
print("YIPI")
```sonst mach das mal dazu :=)
da sind mehrere?
Und werden auch schon aufgelistet nur nicht die die mit einer group versehen sind
ja welche ohne group und 4 mit
dann mach mal die group weg und teste es mal als @slash_command grrrr
das geht dann
Will die group nur nurtzen da ich schon hard am limit mit den 100 commands bin
1 sec
Hast du SlashCommandGroup importiert
ja
Einrichtung passt auch?
import discord
from discord.ext import commands
from discord.commands import SlashCommandGroup
anime = SlashCommandGroup("anime", "Anime commands")
gif = anime.create_subgroup("gif", "Gif commands")
```so geht es bei mir
Und was brauchst du noch
die Einrichtung 😄
ka nst du sagen wie hast du dem bg gemacht?
Benutzt du VS Code ?
ja
Komm mal kurz Call. Ist einfacher
async def get_afk_user(self, guild_id, user_id):
async with aiosqlite.connect(self.DB) as db:
async with db.execute("SELECT * FROM afkuser WHERE guild_id = ? AND user_id = ?", (guild_id, user_id)) as cursor:
result = await cursor.fetchone()
if result is None:
return None
return result
async def _get_afk_user_reason(self, guild_id, user_id):
async with aiosqlite.connect(self.DB) as db:
async with db.execute("SELECT reason FROM afkuser WHERE guild_id = ? AND user_id = ? ", (guild_id, user_id)) as cursor:
result = await cursor.fetchone()
if result is None:
return None
return result[0]
@commands.Cog.listener(
"on_message"
)
async def listener(
self,
message: discord.Message
):
afk_user = await self.get_afk_user(message.guild.id, message.author.id)
user_id = afk_user[1]
afk_reason = await self._get_afk_user_reason(message.guild.id, user_id)
if afk_user is not None:
if message.author.id == user_id:
embed = discord.Embed(
title='Out of AFK Mode!',
description=f"Your no longer AFK!\nReason for being AFK: {afk_reason}\n\nI will no longer take any actions for people that are @ing you.",
color=0x00aff1
)
await message.channel.send(embed=embed)
async with aiosqlite.connect(self.DB) as db:
async with db.execute(
"DELETE FROM afkuser WHERE guild_id = ? AND user_id = ?", (message.guild.id, user_id)
):
await db.commit()
if str(user_id) in message.content:
em = discord.Embed(
title=f'This user is AFK!',
description=f'┌› 〢AFK User: <@&{user_id}>\n'
f'├› 〢AFK Reason: {afk_reason}\n'
f"├› 〢User that @'d: {message.author.mention}\n"
f'└› 〢 Action: **...**', # user kann in DB aktion speichern. Mit simplen check dann methode ausführen
color=0x00aff1
)
await message.delete()
await message.channel.send(embed=em)
Kann mir wer sagen wieso dieses system nicht klappt?
die erste if abfrage funktioniert einwandfrei. Sollte aber jmd einen AFK User markieren; passiert nichts auser das ein error aufploppt mit
[ERROR] Error in event on_message
Traceback (most recent call last):
File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "c:\Users\DBXFl\Desktop\Coding Locations\! Global Bots\George Bot\Commands\AfkSystem.py", line 38, in listener
user_id = afk_user[1]
TypeError: 'NoneType' object is not subscriptable
ABER: der user ist in der DB und wie gesagt, wenn der AFK user was schreibt, klappt das auch
printe dir mal bitte afk_user aus
okay, 1 sekunde
ist drinne
Guild ID, User ID, grund
du kannst ja mit contabo hosting aus oder
also das ist afk_user ?
weiss einer was muss ich machen ?
das kannst du lassen
einfach enter ?
dictonary profi
wie sende ich jemand eine dm mit member.create.dm() ??
member.send()
danke
dann kommt ```
AttributeError: type object 'member' has no attribute 'send'
Hast du denn member erst get_member gemacht
dein member objekt ist kein richtiges Member objekt, sonst würde da ein großes M stehen
@solid ingot es geht einfach nicht
die info bringt mir nichts, was geht denn nicht und welcher fehler kommt?
[ERROR] Error while executing /umfrage
Traceback (most recent call last):
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\felix\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\felix\Desktop\Neuer Test Bot\cogs\pol.py", line 23, in umfrage
await message.add_reaction(f"{reaction1}")
^^^^^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'add_reaction'
was könnte man nehmen füremojis im slash_command?
Code?
also die option
from enum import member
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
class Umfrage(commands.Cog):
def __init__(self, bot: discord.Bot):
self.bot = bot
@slash_command(description="mache eine umfrage")
async def umfrage(self, ctx: discord.ApplicationContext, title: Option(str, "den Title von der Umfrage"),
message: Option(str, "Die nachricht von der umfrage"),
reaction1: Option(str),
reaction2: Option(str)):
embed = discord.Embed(
title=f"{title}",
description=f"{message}"
)
await ctx.respond(embed=embed)
await message.add_reaction(f"{reaction1}")
await message.add_reaction(f"{reaction2}")
def setup(bot: discord.Bot):
bot.add_cog(Umfrage(bot))
hab ein bild
deine message ist einfach nur ein string aktuell und keine Nachricht, deswegen geht add_reaction nicht
was kann man nehmen das emojis gehen?
discord.PartialEmoji
danke
Ja
kan nst du mir da bei helfen
[ERROR] Error while executing /umfrage
Traceback (most recent call last):
File "C:\Users\felix\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\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 375, in invoke
await injected(ctx)
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 950, in _invoke
arg = await converter().convert(ctx, arg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ext\commands\converter.py", line 875, in convert
raise PartialEmojiConversionFailure(argument)
discord.ext.commands.errors.PartialEmojiConversionFailure: Couldn't convert "👍" to PartialEmoji.
kommt das
Versuchs mal mit einem custom emoji.
also meinst von discord server also so einer 
dein discord
server
das zbs
[ERROR] Error while executing /umfrage
Traceback (most recent call last):
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\felix\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\felix\Desktop\Neuer Test Bot\cogs\pol.py", line 23, in umfrage
await message.add_reaction(f"{reaction1}")
^^^^^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'add_reaction'
from enum import member
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
class Umfrage(commands.Cog):
def __init__(self, bot: discord.Bot):
self.bot = bot
@slash_command(description="mache eine umfrage")
async def umfrage(self, ctx: discord.ApplicationContext, title: Option(str, "den Title von der Umfrage"),
message: Option(str, "Die nachricht von der umfrage"),
reaction1: Option(discord.PartialEmoji),
reaction2: Option(discord.PartialEmoji)):
embed = discord.Embed(
title=f"{title}",
description=f"{message}"
)
await ctx.respond(embed=embed)
await message.add_reaction(f"{reaction1}")
await message.add_reaction(f"{reaction2}")
def setup(bot: discord.Bot):
bot.add_cog(Umfrage(bot))
from enum import member
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
class Umfrage(commands.Cog):
def __init__(self, bot: discord.Bot):
self.bot = bot
@slash_command(description="mache eine umfrage")
async def umfrage(self, ctx: discord.ApplicationContext, title: Option(str, "den Title von der Umfrage"),
message: Option(str, "Die nachricht von der umfrage"),
reaction1: Option(discord.PartialEmoji),
reaction2: Option(discord.PartialEmoji)):
embed = discord.Embed(
title=f"{title}",
description=f"{message}"
)
msg = await ctx.respond(embed=embed)
await msg.add_reaction(f"{reaction1}")
await msg.add_reaction(f"{reaction2}")
def setup(bot: discord.Bot):
bot.add_cog(Umfrage(bot))
AttributeError: 'Interaction' object has no attribute 'add_reaction'
jo
@slash_command(description="Mache eine Umfrage")
async def umfrage(self, ctx: commands.Context, title: Option(str, "Der Titel der Umfrage"),
message: Option(str, "Die Nachricht der Umfrage"),
reaction1: Option(str, "Erste Reaktion (Emoji)"),
reaction2: Option(str, "Zweite Reaktion (Emoji)")):
embed = discord.Embed(
title=f"{title}",
description=f"{message}"
)
message = await ctx.send(embed=embed)
await message.add_reaction(reaction1)
await message.add_reaction(reaction2)
danke für die hilfe es geht 

Also wenn du afk_user[1] machst sagt er das es none ist nh
wird ja aber geprinted
aber der tuple hat 2 (3) werte richtig?
mhm
hm
Wie holst du dir das aus der db?
aber die erste if abfrage funktioniert 1a mit *
der teil funktioniert 1 a mit sternchen
1 sec
der teil nicht, der ist none angeblich
1 sec
import ORDNER.FILENAME as config
print(config.COLOR)
???.py (anderer ordner)
COLOR = 0x000001
Kann ich hier auch ein Emoji verwenden, wass ich erstellt habe und die Datei auf meinem Pc ist ?
Ja
Nein. Du musst das emoji erst auf deinen server hochladen und dann kannst du drauf zugreifen über die discord.utils. (bin mir nicht mehr sicher wie genau es hieß)
Sicher sicher? Ich meine, dass das emoji erst bei discord registriert sein muss.
Wie denn ?
Wenn es als Bild ist nicht ?
Okay, meines Wissensstandes geht das nicht, aber man lernt ja immer dazu 🙂
Nein es ist in einem extra Ordner
Traceback (most recent call last):
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 131, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "/storage/emulated/0/Timo/Dev/Discord/Bot/Falci/cogs/General/minecraft.py", line 26, in skin
if not ctx.guild.channel_permissions_for(ctx.guild.me).send_messages:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Guild' object has no attribute 'channel_permissions_for'
@blissful vale Muss auf Server hochladen ja
Dann wird es schwierig
Schade

Na wenns geht dann is ja super 🙂
Helppp
Welche lib?
pycord
Uno momento
Ok
🤨
Willst du die channel permissions ändern? Oder was ist dein Ziel?
Das was du machst macht keinen Sinn
Kann ich hier im Placeholder auch ein eigenes Emoji reinpacken ?
Mach einf default permissions fertig
Klaro
Bei select emoji =
Wie soll ich es erklären
Sieht so bei mir aus
. @limber crow
Ist es animiert
Wenn ich das mache kommt ein Fehler
So geht das ned
Nein
Das Home steht da ja für, nur ich habe es von einer anderen Datei importiert
@blissful vale
😭
@blissful vale hier code
Darf ich dir sagen, dass der code keinen sinn macht?
Habe ich auch gesagt
Warum
Wenn der bot nicht schreiben kann, kann er auch nicht schreiben, dass er nicht schreiben kann.
?
Ich verstehe den Kontext jetzt nicht 🤔
Hier liegen meine Emojis und co
Wie kann ich das Emoji durch ein Custom Emoji ersetzen, sodass es funktioniert ?
Wo hast du CreateEmoji definiert
Machs mal mit discord.utils
emoji=f"{CreateEmoji}"
Ist schon ein string, wird genau so wenig funktionieren soweit ich weiß 🙂
Ok
Wie mache ich das ?
So bekomme ich nur Name und id angezeigt
emoji = config.CreateEmoji
bzw wie importierst du das?
dann einfach emoji = CreateEmoji
und kein str, und stell sicher das der bot den emoji schicken kann
Wenn ich das unter Placeholder mache bekomme ich einen fehler
also auf dem server ist
Der ist?
Warte
Traceback (most recent call last):
File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 777, 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\YT197\Desktop\Allgemein\Dev\Discord\Pycord\TestBot\cogs\Setups\setup-tempvoice.py", line 40, in <module>
class SetupSelectMenu(discord.ui.View):
File "c:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\TestBot\cogs\Setups\setup-tempvoice.py", line 52, in SetupSelectMenu
@discord.ui.select(
^^^^^^^^^^^^^^^^^^
TypeError: select() got an unexpected keyword argument 'emoji'
Aber für die Options geht dies
wie meinst du für die optionen?
Für die Optionen in einem Select Menu kann ich Custom Emojis machen
sonst probier mal
name = CreateEmoji + " text"
und dann bei dem name halt name=name oder so
schick mal kurz den code
import discord
from discord.ext import commands
from discord.commands import SlashCommandGroup
from Utils.config import *
from datetime import datetime
class TempVoiceWithInterface(commands.Cog):
def __init__(self, bot):
self.bot = bot
temp_voice = SlashCommandGroup(
name="setup",
description="Setup your TempVoice System",
)
@temp_voice.command(
name="tempvoice",
description="Setup your TempVoice System",
)
async def setup_tempvoice(self, ctx):
em = discord.Embed(
title="Get Started With TempVoice",
color=discord.Color.embed_background,
timestamp=datetime.now(),
)
em.add_field(name="# What is a Creator Channel ?", value="A **Creator Channel** is a voice channel that allows you to create a temporary voice channel when you join it.")
em.add_field(name="# What is an Interface Channel ?", value="An Interface Channel is a text channel with an embed and buttons. The Interface is an alternative to /voice commands, allowing users to customise their temporary channels.")
await ctx.respond(embed=em, view=SetupSelectMenu())
def setup(bot):
bot.add_cog(TempVoiceWithInterface(bot))
class SetupSelectMenu(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
options = [
discord.SelectOption(
label="Create TempVoice",
description="Here you can Create the TempVoice System",
emoji=CreateEmoji,
)
]
@discord.ui.select(
placeholder=HomeEmoji + "Select a Setup Option",
min_values=1,
max_values=1,
options=options,
custom_id="menu_select:select",
)
async def callback(
self, select: discord.ui.Select, interaction: discord.Interaction
):
selected_option = select.values[0]
if selected_option == "Create TempVoice":
await interaction.response.send_message("Test")
HomeEmoji, obwohl ich es importiert habe sagt er mir, dass es nicht definiert ist
Ich schicke dir gleich mal den Code. Warte bitte kurz 5 min.
also error?
Jo
Ja, weil ich auch weiß wieso
Nein, weil ich es in meiner Utils Config geändert habe, aber nicht gespeichert habe
makes sense
Geht aber so auch leider ned
Okay
Was ist hier der Fehler ?
class TempVoiceWithInterface(commands.Cog):
def __init__(self, bot):
self.bot = bot
temp_voice = SlashCommandGroup(
name="setup",
description="Setup your TempVoice System",
)
@temp_voice.command(
name="tempvoice",
description="Setup your TempVoice System",
)
async def setup_tempvoice(self, ctx):
em = discord.Embed(
title="Get Started With TempVoice",
color=discord.Color.embed_background(),
timestamp=datetime.now(),
)
em.add_field(name="# What is a Creator Channel ?", value="A **Creator Channel** is a voice channel that allows you to create a temporary voice channel when you join it.", inline=False)
em.add_field(name="# What is an Interface Channel ?", value="An Interface Channel is a text channel with an embed and buttons. The Interface is an alternative to /voice commands, allowing users to customise their temporary channels.", inline=False)
file1 = discord.File(f"img/TempVoice.png", filename="Thumbnail.png")
file2 = discord.File(f"img/TempVoice2.png", filename="Image.png")
em.set_thumbnail(url="attachment://Thumbnail.png")
em.set_image(url="attachment://Image.png")
await ctx.respond(embed=em, view=SetupSelectMenu(), files=[file1, file2], emphemeral=True)
Danke
emoji = discord.utils.get(ctx.guild.emojis, id=EmojiID)
Und wenn du es mit emoji Name machen möchtest: ```py
discord.utils.get(guild.emojis, name="EmojiName")
Was muss ich machen, damit das ctx geht ?
ctx kann raus
mach folgendes:
guild = await bot.get_guild(id)
emoji = discord.utils.get(guild.emojis, name ="Home")
Ist nicht grade Sauber
aber funktioniert für eine Guild
So kannst den f String weg lassen
Über super
Ist immer noch unterstrichen, aber liegt auch daran, dass es außerhalb von def ist, aber wenn ich es reinmache geht guild.emojis nihct mehr
Mache Select Menu immer in einer eigenen Klasse
Dann mach self.bot statt nur bot bei dem get_guild
ja ist auch normal, habe da aber Absolut nicht drauf geachtet 😄
Würde dies trtzdem gehen ?
Pass auf:
Wie wäre es, wenn du die ganzen gets einfach auserhalb der Class definierst?
Sprich```py
emojiOne = discord.utils.get(guild.emojis, name="EmojiName")
class SowieSo(blablabla):
do 123
Ich habe keinen Blassen schimmer ob ich gerade misst Rede, aber einen Versuch ist es wert 😄
Wie kann man denn in einem Embed die Überschriften so fett machen, dass sie sich abheben ? (Titel halt auch)
em = discord.Embed(
title="Get Started With TempVoice",
color=discord.Color.embed_background(),
timestamp=datetime.now(),
)
em.add_field(name="Test", value="Test", inline=False)
em.add_field(name="Test 2", value="Test2", inline=False)
file1 = discord.File(f"img/TempVoice.png", filename="Thumbnail.png")
file2 = discord.File(f"img/TempVoice2.png", filename="Image.png")
em.set_thumbnail(url="attachment://Thumbnail.png")
em.set_image(url="attachment://Image.png")
Mit Markdown
Test
Test 2
Test 3
Oder meinst du diesen strich da?
Test
Welchen Markdown denn ?
Weißt du was Markdown ist?
Steh gerade auf dem schlau 😅
Geht ned oder mache ich was falsch ?
em = discord.Embed(
title="# Get Started With TempVoice",
color=discord.Color.embed_background(),
timestamp=datetime.now(),
)
em.add_field(name="Test", value="Test", inline=False)
em.add_field(name="Test 2", value="Test2", inline=False)
Ne schon, dass mit denn verschiedenen größen
In die Description einfach machen
description="# TITLE\n\nblahblah"
Danke

Warum reagiert das Markdown nicht bei der Letzten frage ?
em = discord.Embed(
description="## Get Started With TempVoice"
"\n"
"\n ### What is a Creator Channel ?"
"\n"
"\n A **Creator Channel** is a voice channel that allows you to create a temporary voice channel when you join it."
"\n"
"\n ### What is an Interface Channel ?"
"\n"
"\n An **Interface Channel** is a text channel with an embed and buttons. The Interface is an alternative to **/voice** commands, allowing users to customise their temporary channels.",
color=discord.Color.embed_background(),
timestamp=datetime.now(),
)
#CancelCodingKeksOwner
em = discord.Embed(title=f"", description=f"""
""", color=discord.Color.embed_background())
Versuch mal so ein embed immer zu machen, finde es besser und brauchst keine \n.
Geht so bei mir nicht
Sieht dann so aus
schick mal den code
em = discord.Embed(
description=f"## Get Started With TempVoice"
""
" ### What is a Creator Channel ?"
""
" A **Creator Channel** is a voice channel that allows you to create a temporary voice channel when you join it."
""
"### What is an Interface Channel ?"
""
" An **Interface Channel** is a text channel with an embed and buttons. The Interface is an alternative to **/voice** commands, allowing users to customise their temporary channels.",
color=discord.Color.embed_background(),
timestamp=datetime.now(),
)
file1 = discord.File(f"img/TempVoice.png", filename="Thumbnail.png")
file2 = discord.File(f"img/TempVoice2.png", filename="Image.png")
em.set_thumbnail(url="attachment://Thumbnail.png")
em.set_image(url="attachment://Image.png")
await ctx.respond(embed=em, view=SetupSelectMenu(), files=[file1, file2], ephemeral=True)
Machs doch so wie Bobby gesagt hat, dann siehts besser aus
em = discord.Embed(
description=f"""
## Get Started With TempVoice
### What is a Creator Channel ?
A **Creator Channel** is a voice channel that allows you to create a temporary voice channel when you join it.
### What is an Interface Channel ?
An **Interface Channel** is a text channel with an embed and buttons. The Interface is an alternative to **/voice** commands, allowing users to customise their temporary channels.""",
color=discord.Color.embed_background(),
timestamp=datetime.now(),
)
file1 = discord.File(f"img/TempVoice.png", filename="Thumbnail.png")
file2 = discord.File(f"img/TempVoice2.png", filename="Image.png")
em.set_thumbnail(url="attachment://Thumbnail.png")
em.set_image(url="attachment://Image.png")
await ctx.respond(embed=em, view=SetupSelectMenu(), files=[file1, file2], ephemeral=True)
Geht. Danke
👍🏽
Kann mir jemand Helfen hier in der Klasse eine Categorie, Textchannel und Voicechannel erstellen zulassen =
Was ist denn der fehler?
Ignoring exception in view <SetupSelectMenu timeout=900.0 children=1> for item <Select type=<ComponentType.string_select: 3> placeholder='Select a Setup Option' min_values=1 max_values=1 options=[<SelectOption label='Create TempVoice' value='Create TempVoice' description='Here you can Create the TempVoice System' emoji=<PartialEmoji animated=False name='Create' id=1150032426656079922> default=False>] channel_types=[] disabled=False>:
Traceback (most recent call last):
File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 421, in _scheduled_task
await item.callback(interaction)
File "c:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\TestBot\cogs\Setups\setup-tempvoice.py", line 76, in callback
await interaction.response.send_message(view=CreateTempVoice())
File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\interactions.py", line 904, in send_message
await self._locked_response(
File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\interactions.py", line 1198, in _locked_response
await coro
File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\webhook\async_.py", line 222, in request
raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50006): Cannot send an empty message
Dein Code davon hat nix mit dem error zutun
Okay, aber was muss ich in der Klasse so ändern, dass eine Categorie erstellet wird, wenn ich auf die Select Option drücke ?
import discord
import os
from discord.ext import commands
from discord.commands import SlashCommandGroup
from Utils.config import *
from datetime import datetime
class TempVoiceWithInterface(commands.Cog):
def __init__(self, bot):
self.bot = bot
temp_voice = SlashCommandGroup(
name="setup",
description="Setup your TempVoice System",
)
@temp_voice.command(
name="tempvoice",
description="Setup your TempVoice System",
)
async def setup_tempvoice(self, ctx):
em = discord.Embed(
description=f"""
## Get Started With TempVoice
### What is a Creator Channel ?
A **Creator Channel** is a voice channel that allows you to create a temporary voice channel when you join it.
### What is an Interface Channel ?
An **Interface Channel** is a text channel with an embed and buttons. The Interface is an alternative to **/voice** commands, allowing users to customise their temporary channels.""",
color=discord.Color.embed_background(),
timestamp=datetime.now(),
)
file1 = discord.File(f"img/TempVoice.png", filename="Thumbnail.png")
file2 = discord.File(f"img/TempVoice2.png", filename="Image.png")
em.set_thumbnail(url="attachment://Thumbnail.png")
em.set_image(url="attachment://Image.png")
await ctx.respond(embed=em, view=SetupSelectMenu(), files=[file1, file2], ephemeral=True)
def setup(bot):
bot.add_cog(TempVoiceWithInterface(bot))
class SetupSelectMenu(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
options = [
discord.SelectOption(
label="Create TempVoice",
description="Here you can Create the TempVoice System",
emoji=CreateEmoji,
)
]
@discord.ui.select(
placeholder="Select a Setup Option",
min_values=1,
max_values=1,
options=options,
custom_id="menu_select:select",
)
async def callback(
self, select: discord.ui.Select, interaction: discord.Interaction
):
selected_option = select.values[0]
if selected_option == "Create TempVoice":
await interaction.response.send_message(view=CreateTempVoice())
class CreateTempVoice(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
async def creating(self, ctx):
guild = ctx.guild
category = discord.utils.get(guild.categories, name="Temporäre Kanäle")
if category is None:
category = await guild.create_category("Temporäre Kanäle")
voicechannel = discord.utils.get(guild.voicechannels, name="Create Channel")
if voicechannel is None:
voicechannel = await guild.create_voice_channel("Create Channel")
Ich benutze keine Buttons, sondern ein Select menu
aber was soll in der class passieren
in der CreateTempVoice class, da machst du eine view
und da muss ein BUtton oder ein Selectmenu rein
Das war nur Temporär da. Ich habe schon ein Select Menu erstellt und in der Klasse soll einfach nur eine Categorie, ein Textchannel in der Kategorie, sowie ein Voicechannel in der Kategorie erstellt werden (Mache gerade ein TempVoice system)
WIe kann ich hier im Code eine extra Klasse erstellen, wo eine Kategorie erstellt wird mit einem bestimmten Namen, sowie ein Textchannel mit einem bestimmten Namen und ein Voice Channel mit einem bestimmten Namen (Text & Voice Channel in der Kategorie). Wenn man auf die Option "Create TempVoice" drauf klickt, soll sich alles erstellen (Kategorie, Text & Voice Channel)
Code
import discord
import os
from discord.ext import commands
from discord.commands import SlashCommandGroup
from Utils.config import *
from datetime import datetime
class TempVoiceWithInterface(commands.Cog):
def __init__(self, bot):
self.bot = bot
temp_voice = SlashCommandGroup(
name="setup",
description="Setup your TempVoice System",
)
@temp_voice.command(
name="tempvoice",
description="Setup your TempVoice System",
)
async def setup_tempvoice(self, ctx):
em = discord.Embed(
description=f"""
## Get Started With TempVoice
### What is a Creator Channel ?
A **Creator Channel** is a voice channel that allows you to create a temporary voice channel when you join it.
### What is an Interface Channel ?
An **Interface Channel** is a text channel with an embed and buttons. The Interface is an alternative to **/voice** commands, allowing users to customise their temporary channels.""",
color=discord.Color.embed_background(),
timestamp=datetime.now(),
)
file1 = discord.File(f"img/TempVoice.png", filename="Thumbnail.png")
file2 = discord.File(f"img/TempVoice2.png", filename="Image.png")
em.set_thumbnail(url="attachment://Thumbnail.png")
em.set_image(url="attachment://Image.png")
await ctx.respond(embed=em, view=SetupSelectMenu(), files=[file1, file2], ephemeral=True)
def setup(bot):
bot.add_cog(TempVoiceWithInterface(bot))
class SetupSelectMenu(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
options = [
discord.SelectOption(
label="Create TempVoice",
description="Here you can Create the TempVoice System",
emoji=CreateEmoji,
)
]
@discord.ui.select(
placeholder="Select a Setup Option",
min_values=1,
max_values=1,
options=options,
custom_id="menu_select:select",
)
async def callback(
self, select: discord.ui.Select, interaction: discord.Interaction
):
selected_option = select.values[0]
if selected_option == "Create TempVoice":
await interaction.response.send_message("Test")
Gibt es eine default permission das nur der bot owner den cmd sieht?

also muss ich eine guild machen bei der der bot owner owner ist und die auf admin stellen 😄
economy system 🤔
gibt es in py-cord eig only für eine guild eine default permission?
Was ist damit
wegen emoji
ne des 🤔
egal :
Sag
🙂


Gibt es ein Event, wo man abfragen kann, ob ein user eine neue Rolle bekommen hat oder enfernt bekommen hat ?
jo
Fehlercode
Ignoring exception in on_ready
Traceback (most recent call last):
File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\client.py", line 399, in _run_event
await coro(*args, **kwargs)
File "c:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\TestBot\cogs\Setups\setup-tempvoice.py", line 30, in on_ready
await self.create_table()
File "c:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\TestBot\cogs\Setups\setup-tempvoice.py", line 16, in create_table
await cursor.execute(
File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\cursor.py", line 48, in execute
await self._execute(self._cursor.execute, sql, parameters)
File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\cursor.py", line 40, in _execute
return await self._conn._execute(fn, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: near ")": syntax error
Code
Was ist falsch ?
Mach das letzte Komma weg
Mach mal bei creator_channel_name TEXT, das Komma weg
async def create_table(self):
async with aiosqlite.connect("database/tempvoice.db") as db:
async with db.cursor() as cursor:
await cursor.execute(
"""CREATE TABLE IF NOT EXISTS tempvoice (
category_id INTEGER,
category_name TEXT,
interface_id INTEGER,
interface_name TEXT,
creator_channel_id INTEGER,
creator_channel_name TEXT
)"""
)
await db.commit()
Was meinste ?
Administrator Kategorie
Verstehe ich immer noch ned
Traceback (most recent call last):
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 131, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 1358, in _invoke
option = ctx.interaction.data["options"][0]
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'options'
Gibts nen längeren error?
Nein
Aha. Da hat wohl wehr meinen Code genommen 
Werde den noch ändern
Ne alles gut. Mir ist das egal, ob du ihn jetzt verwendest oder nicht
Aber was ist da falsch
Und wenn ich dir damit etwas in gegen gekommen bin freut es mich
Nein alles gut. Ich brauche keine Credits. Mir ist das nicht so wichtig. Kannst du gerne entscheiden, ob du es machst oder nicht
Ok
Bei dir sieht das alles irgendwie komisch eingerückt aus
Kommt bei dir auch der Fehler
Hmmm
@limber crow es geht kommt noch was in den Code rein
Was meinste ?
Der Interface Kanal ist bischen zu leer
Kommt noch alles
Wenn es fertig ist, werde ich es eh veröffentlichen
Ok
Kann ich einen Button mithilfe der custom_id disabled = False?
Hello, wahrscheinlich wurde die Frage schon beantwortet, nur finde ich nichts dazu 😄 - Wie viele Elemente, oder Auswahlmöglichkeiten, kann ich einem Dropdown Menu angeben? Wenn ich die Dokumentation richtig lese, sind das maximal 25? Danke 🙂
Maximal 25 ja
Super, Danke 🙂
Hallo Garfield :d
mach einfach nur Try: und except:
hat auch nicht funktioniert
Ganzer Code?
https://www.topbug.net/blog/2020/10/03/catching-filenotfounderror-watch-out/
Schau dir das mal an
In Python, FileNotFoundError is an exception that is raised when a requested file does not exist. Many people assume that when their programs fail to open a file in read-only mode or delete a file,
funktioniert auch nicht wenn ich nur except: schreibe
[ERROR] Error while executing /radio leave
Traceback (most recent call last):
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 131, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "/storage/emulated/0/Timo/Dev/Discord/Bot/Falci/cogs/Music/music.py", line 122, in _leave
self.v_clients.pop(ctx.guild.id)
KeyError: 1147975550024032327
weiß jmd wie ich die balken wegbekomme?
Probiere Mal das
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" margin="0">
border="0" cellspacing="0" cellpadding="0"
Keine Ahnung ob es geht
stark
Du musst dem .Body tag das Bild zuweisen sprich:
HTML:
<body>
#dein anderer code
</body>
CSS:
body{
background-image: url("deinBild.png");
}
das macht 0,0 Sinn. So sind die einstellungen des Body Tags standartmäßig!
OK werde ich nacher mal ausprobieren und dann bescheid geben
👍
File "D:\test\pycord\cogs\economy.py", line 125, in leaderboard
for index,user_id, bank in enumerate(user_data):
ValueError: not enough values to unpack (expected 3, got 2)
Ich habe in der db nur 2 user liegt es daran 😦
und was kann ich dagegen machen
Code
steht alles da mensch
Und
😠
for index, user_id in enumerate(user_data):
# Füge hier deinen Code hinzu, der mit index und user_id arbeitet
@tawdry leaf
Das macht desselbe
Frage
Ja
@tawdry leaf was ist
ok hast du schon einen Server dir erstellt?
ok willst du kurz Talk?
#1150443774758092841
Oh nix

kann mir jemand helfen
view = Buttons(answer_1=self.children[1].value)
await interaction.response.send_message(embed=embed, view=view)
class Buttons(discord.ui.View):
def __init__(self, answer_1, *args, **kwargs):
super().__init__(*args, **kwargs)
self.answer_1 = answer_1
@discord.ui.button(
label=f"{self.answer_1}"
)
ich versuche vom modal die self.children[1].value auf ein button label zu beckommen aber es geht nicht weil self. rot ist
Des Self musst du über die super.init
den geht es garnicht mehr
Dann hast es falsch eingerückt 🤨
class Buttons(discord.ui.View):
def __init__(self, answer_1, *args, **kwargs):
super().__init__(self, *args, **kwargs)
self.answer_1 = answer_1```
nein
Immer noch drüber
class Buttons(discord.ui.View):
def __init__(self, answer_1, *args, **kwargs):
self.answer_1 = answer_1
super().__init__(self, *args, **kwargs)
```
achso
class Buttons(discord.ui.View):
def __init__(self, answer_1, *args, **kwargs):
self.answer_1 = answer_1
super().__init__(self, *args, **kwargs)
@discord.ui.button(
label=f"{self.answer_1}"
)```
aber es geht nicht
self ist immernoch rot
Kommt aber kein error
@tawdry leaf
Ich habe nur from colorama import Fore und kriege den error 
Ja colorama ist heruntergeladen
ja weil es nicht installiert ist
Kannsch mal selber nachdääänken über dei dum frage
typisch vsc user hat falsche python version ausgewählt
- Das ist mein Root server
- Ich habe es nicht in meine requirements getan (wird bei docker installiert)
wieso nicht in requirements
Bin ein noob deswegen weißt du ? 
Das ist allen bewusst (^v^), aber wieso nicht in requirements?
@fierce dove mach timeout=None
Ok
Dann sollte es nicht mehr Timeouten.
Top.
Aber übergeb bitte jedes mal, wenn du view=view machst gleich den Parameter timeout=None mit
Ok
Sprich jedes mal statt py view=view
view=view(timeout=None)
Ok
import discord
from discord.ext import commands
class Welcome(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_member_join(self, member):
embed = discord.Embed(
title="Willkommen",
description=f"Willkommen {member.mention}, auf German | ZeroLife\n",
)
embed.set_image(
url="https://media.discordapp.net/attachments/1138987323653099573/1143229980231348324/BANNER-ESX.gif"
)
embed.add_field(name="hier findest du unser",
value="")
embed.add_field(name="hier findest du das IC",
value="")
channel = self.bot.get_channel(11138987322013134912)
if channel:
await channel.send(embed=embed)
print(f"{member} joined the Server")
def setup(bot):
bot.add_cog(Welcome(bot))``` weiss einer warum send er nix rein
Bzw. Printet es überhaupt was? Weil wie gesagt, normalerweiße kann er garnichts machen, weil channel nicht übergeben wird.
nein es wurt auch nicht print
dann lösch das ```py
if channel:
damit fragt er ab ob der channel nicht none ist macht schon Sinn
du könntest mit prints rausfinden ab welcher line der code nichtmehr geht, dann weißt du es
ich denke aber das du eine flasche channel id eingegeben hast
mach mal bei dem if channel: ein else hin und print 1
dann siehst du ob die if abfrage True wird
Ich habe gerade schon versucht den Channels zu Print aber er wird auch nicht angezeigt
was wird denn geprintet
Hast recht. Mein fehler. Ich glaube du hast vergessen die Intents zu aktivieren oder @ruby sparrow ?
Nein
Hab intents auf alles
Das ist alles auch in cogs😂
Ne
Auch im developer Portal aktiviert?
ja
aber wenn du print machst muss was kommen?
oder es wird nicht aufgerufen / der code wird nicht geladen
Wollte ich auch gerade sagen.
import discord
from discord.ext import commands
class Welcome(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_member_join(self, member):
embed = discord.Embed(
title="Willkommen",
description=f"Willkommen {member.mention}, auf German | ZeroLife\n",
)
embed.set_image(
url="https://media.discordapp.net/attachments/1138987323653099573/1143229980231348324/BANNER-ESX.gif"
)
embed.add_field(name="hier findest du unser",
value="")
embed.add_field(name="hier findest du das IC",
value="")
channel = self.bot.get_channel(1138987322013134912)
if channel:
await channel.send(embed=embed)
print(f"{member} ist dem Server beigetreten")
else:
print("Der Kanal wurde nicht gefunden.")
def setup(bot):
bot.add_cog(Welcome(bot))```
ok
import datetime
import json
import discord
import asyncio
import ezcord
from dotenv import load_dotenv
import os
from ezcord import log
import logging
import asyncio
from colorama import Fore
from discord.ext import commands
from discord.ext import tasks
from itertools import cycle
intents = discord.Intents.all()
intents.voice_states = True
colors = {
logging.DEBUG: "blue",
logging.INFO: Fore.MAGENTA,
}
intents = discord.Intents.default()
activity = discord.Activity(type=discord.ActivityType.watching, name="ZeroLife RP")
status = discord.Status.idle
bot = ezcord.Bot(
intents=intents,
activity=activity,
status=status)
@bot.event
async def on_ready():
channel_id = 1135585816215830568 # dein id
channel = bot.get_channel(channel_id)
def get_config(name):
with open("config.json", "r") as f:
json_file = json.load(f)
return json_file[name]
@bot.slash_command(description="Zeigt dir alle Commands an")
async def help(ctx):
emb = discord.Embed(
title="Help",
description="**Commands**",
color=discord.Color.blue()
)
for cog in bot.cogs:
emb.add_field(name=cog, value="• " + "\n• ".join([command.name for command in bot.get_cog(cog).get_commands()]),
inline=False)
await ctx.respond(embed=emb)
@bot.slash_command()
@commands.has_permissions(manage_roles=True)
async def addrole(ctx, member: discord.Member, role: discord.Role):
await member.add_roles(role)
await ctx.respond(f"Sie haben dem Benutzer {member.mention} erfolgreich die Rolle {role.mention} hinzugefügt.")
log.debug("This is a debug message")
log.info("This is an info message")
ezcord.custom_log("CUSTOM", "This is a message with a custom log level")
@bot.event
async def on_raw_reaction_add(payload):
if payload.message_id == 1149117239405056102: # Ersetze MESSAGE_ID_HERE mit der ID der Nachricht
if str(payload.emoji) == "✅": # Ersetze "✅" mit dem Emoji, das du verwendest
guild = bot.get_guild(payload.guild_id)
role = guild.get_role(1138987321337847878) # Ersetze ROLE_ID_HERE mit der ID der Rolle
member = guild.get_member(payload.user_id)
await member.add_roles(role)
print(f"Gibt die Rolle {role.name} an {member.display_name}")
if __name__ == "__main__":
bot.load_cogs("cogs", log=ezcord.CogLog.default, log_color="green")
load_dotenv()
bot.run(get_config("token"))``` @novel ore
lädst du auch immer einen user ein der joint damit der bot das event auch auslöst
ja
@novel ore
kannst du mal talk
Kein wunder dass es nicht geht...
intents=discord.Intents.default()
Haben wir schon gemacht
Also geht es jetzt? @ruby sparrow
ja
@novel ore weiss du wie mach ein Feedback dropdown und so?
Wie meinst du
kannst du kurz call
Gerade schwer
Wie installiere ich die https://github.com/Pycord-Development/pycord bei meinem hoster?
Pycord, a maintained fork of discord.py, is a python wrapper for the Discord API - GitHub - Pycord-Development/pycord: Pycord, a maintained fork of discord.py, is a python wrapper for the Discord API
also master branch
das kommt auf deinen hoster an
endelon?
wenn du es über eine requirements.txt datei installieren musst kannst du das reintun
py-cord @ git+https://github.com/Pycord-Development/pycord
dankeschön 
?
@fierce dove hat @vivid sky gepingt.
Ausversehen
bei mir will Pycharm nicht py-cord installieren obwohl ich pip install py-cord gemacht habe
Was für ein Error kommt?
Wie lautet die Fehlermeldung?
pip : Die Benennung "pip" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens,
oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
- pip install py-cord
-
+ CategoryInfo : ObjectNotFound: (pip:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
das ist der error
das ist irgendwie nagelneu
https://discord.com/channels/1010915072694046794/1150775479167619193 komm mal ich helfe dir
Schicken Sie mir Ihr gesamtes Bild von Ihrem Pycharm
Du hast Python/pip nicht installiert
Bzw falsch installiert
ok
Schicken Sie mir Ihr gesamtes Bild von Ihrem Pycharm
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Discord Developer Portal
► https://discord.com/developers/applications
Downloads
Python ► https://www.python.org/downloads/
PyCharm ► https://www.jetbrains.com/de-de/pycharm/
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discor...
Perfekt
komisch, der Bot ist on, aber er kann keine Commands
Hast du die Commands im Cog? Wenn ja, schau ob der Cog geladen wird. Wenn nein, warte einfach nen Moment maybe kommen die dann
so, es musste nur die neuste Version geupdatet werden
kann mir jemand im code helfen?
Ich will das die Reaction beim User hinzugefügt wird und nicht beim Bot
@bot.event
async def on_message(message):
if message.author == bot.user:
return
if bot.user.mentioned_in(message) and message.author != bot.user:
if ping_reaction:
await message.add_reaction(ping_reaction)
await bot.process_commands(message)
kann mir jemand helfen?
hallo? ist jemand da?
ist jemand da?
ich will nur wissen, wie man einstellen kann im code, dass der Bot dem User die Reaktion hinzufügt (wenn er gepingt wird) und nicht wenn man den Bot pingt
ja, wenn man die Reaktion eingestellt hat
also ich mache jetzt z.B. /pingreaction 💎 mache soll es halt beim User hinzugefügt werden
also bei dem, der Command benutzt hat
also an sich geht das mit dem System, aber ich will dass der Bot das beim User dann macht und nicht bei dem Ping vom Bot
einfach nur user?
ich weiß nämlich nicht wie der heißt, also der User selbst im Code
Die willst also einen Code haben wo jeder User seine eigene Ping Reaktion festlegen kann oder wie?
ja
wie kann man das machen Timo?
also mit dem Speichern
wait ich habe eine Blacklist mal gecodet
Datenbank
@bot.command()
async def blacklist(ctx):
if str(ctx.author.id) in allowed_users4:
if len(blacklisted_users) > 0:
blacklist = "\n".join(blacklisted_users)
await ctx.send(f"Blacklist:\n{blacklist}")
else:
await ctx.send("Die Blacklist ist leer.")
else:
await ctx.send("Du hast keine Berechtigung, diesen Befehl zu verwenden.")
``` sowas in der art @solid ingot ?
ja, weiß ich
ohne allowed_users4
einfach nur generell
muss ich dann user = "\n".join(users) machen?
oder wie genau?
wie mache ich nochmal eine Datenbank?
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...
ich check es gerade nicht ganz mit der Datenbank
Dann schaue es dir nochmal an
Moin,
ich hatte mal eine frageeeeeeeeeeee
und zwar;
wie kann man eine 'custom' color bei embeds benutzen?
beispiel:
farbe = '0xffffff'
embed = discord.Embed(
description='test',
color=farbe
)
await interaction.response.send_message(embed=embed)
du musst die anführungszeichen weglassen
starkkkk
danke
😂
ach und;
bei ephemeral messages kriege ich bei meinem Message Logger nen Error
und zwar:
[ERROR] Error in event on_message_delete
Traceback (most recent call last):
File "C:\Users\DBXFl\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "c:\Users\DBXFl\Desktop\George Bot\Events\MessageLogger.py", line 25, in on_message_delete
log_channel = await self._get_message_log_channel(message.guild.id)
AttributeError: 'NoneType' object has no attribute 'id'
weiß jmd wie man das behebt?
da es ja eine Guild ist und keine dm 💀
if not message.guild:
return
jo funktioniert thx :D
gerne 😄
Was ist der unterschied zwischen
Inline=True
Und
inline=False
try it and see
Inline=false ist in einem Embed, dass es nicht nebeneinander, sondern untereinander ist und Inline=True is das gegenteil
OK danke
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
class Ticketsystem(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command(description="ticket menü")
@discord.default_permissions(administrator=True)
@discord.guild_only()
async def ticket_menu(self, ctx, channel: Option(discord.TextChannel, description="In which channel should the embed be send?", required=False)):
if channel is None:
channel = ctx.channel
embed = discord.Embed(
title="**Ticket System**",
description="Wähle deine Ticket Kategorie und trete mit unserem Team in Kontakt!",
color=0x1067a3
)
embed.set_footer(name=self.bot.user, icon_url=self.bot.user.display_avatar.url)
embed.set_author(name="Tickets", icon_url=self.bot.user.display_avatar.url)
erfolg = discord.Embed(
title="Ticket System erfolgreich erstellt!"
)
await ctx.channel.send(embed=embed)
await ctx.respond(embed=erfolg, ephemeral=True)
def setup(bot):
bot.add_cog(Ticketsystem(bot))
weiß jemand warum das nicht geht
kommt kein error
Mach prints?
alles gut hab fixxt
Also ich möchte bei Server Count anzeigen lassen auf wie vielen Servern der Bot ist aber irgendwie geht es nicht.
Hier der Code:
embed=discord.Embed(
title="Infos About the Bot",
color=discord.Color.blue())
embed.add_field(name="👑 Developer", value="alpha.wolf1, _kein_mensch_", inline=True)
embed.add_field(name="🐍 Bot Language", value="Python and Ezcord", inline=True)
embed.add_field(name="🌏 Server Count", value={len(bot.guilds)}, inline=True)
embed.add_field(name="💻 Bot Hosting", value="[Keks Hosting]()", inline=True)
embed.add_field(name="🤖 My Invite Link", value="[Klick Here!]()", inline=True)
embed.add_field(name="🆘 Support Server", value="[Support]()", inline=True)
bot.add_help_command(style=ezcord.HelpStyle.codeblocks, embed=embed, ephemeral=False, guild_only=True, author_only=True, show_categories=False)```
### Zusatz Info der Code ist in der Main.py
Hier der Code:
embed=discord.Embed(
title="Infos About the Bot",
color=discord.Color.blue())
embed.add_field(name="👑 Developer", value="alpha.wolf1, _kein_mensch_", inline=True)
embed.add_field(name="🐍 Bot Language", value="Python and Ezcord", inline=True)
embed.add_field(name="🌏 Server Count", value=f"{len(bot.guilds)}", inline=True)
embed.add_field(name="💻 Bot Hosting", value="[Keks Hosting]()", inline=True)
embed.add_field(name="🤖 My Invite Link", value="[Klick Here!]()", inline=True)
embed.add_field(name="🆘 Support Server", value="[Support]()", inline=True)
bot.add_help_command(style=ezcord.HelpStyle.codeblocks, embed=embed, ephemeral=False, guild_only=True, author_only=True, show_categories=False)```
### Zusatz Info der Code ist in der Main.py
@paper crane
?
Ja geht nicht habs genauso auch schon gehabt
f"{len(bot.guilds)}"das muss gehen
Hatte schon alles mögliche probiert aber nix geht
Ja da steht dann 0 aber richtig wäre 6
@solid ingot
@fierce dove
Kannst du mal helfen
Ich bin echt am verzweifeln


Ich benutze ezcord
Ich beides ezcord ist ja nur eine erweiterung ezcord alleine kann man ja schlecht nutzen
Joa
Ich nutze gar nix davon (°v°)
Bin gerade so verzweifelt habe sogar schon chat gpt gefragt 💀
Nice
was geht denn nicht?
Der wert wird falsch angezeigt da steht 0 aber es müsste 6 da stehen
Kann das was mit denn intents zu tun haben?
Nope habe alle intents an wait ich schick mal ganze datei
Muss eh off sorry war nur eine kurze idee Timo wird dir bestimmt helfen
schick doch mal deine main datei
Hier
die guilds werdene erst geladen nachdem das on_ready event ausgeführt wurde. du müsstest den code also ins on_ready event verschieben
achso wait
So?
hm, jetzt ist der help command nicht mehr über dem on_ready event, sondern darunter. er müsste aber ins on_ready event
Hä wie soll ich das dann machen?
aktuell stehen nur die beiden prints im on_ready event. wenn das embed auch im on_ready event sein soll, muss es genauso eingerückt werden wie die prints
Ok danke
Ich habe eine Frage: Wie kann ich das mit einer If-Abfrage machen, wo wurde das Update durchgeführt?
@solid ingot ?
welches update
kannst du kurz call
später
import discord
from discord.ext import commands, tasks
class Update(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.current_bot_version = "1.0.0"
self.is_bug_fix = False
@tasks.loop(minutes=30)
async def check_for_updates(self):
latest_version = "1.1.0"
is_bug_fix = False
if latest_version != self.current_bot_version:
announcement_channel = self.bot.get_channel(1150937254072684615)
if announcement_channel:
update_type = "Bug-Fix" if is_bug_fix else "Neues Feature"
embed = discord.Embed(title=f"**Neues Bot-Update: v{latest_version}**", color=0x00ff00)
embed.add_field(name="Update-Typ", value=update_type, inline=False)
embed.add_field(name="Was ist neu?", value="Es gibt ein neues Update mit großartigen Funktionen!", inline=False)
await announcement_channel.send(embed=embed)
self.current_bot_version = latest_version
self.is_bug_fix = is_bug_fix
@check_for_updates.before_loop
async def before_check_for_updates(self):
self.check_for_updates.cancel()
await self.bot.wait_until_ready()
def setup(bot):
bot.add_cog(Update(bot))
``` ich möche das abfragen wo Update durchgeführt @solid ingot
kennt jemand ein gutes tutorial zu packaging in python?
pass auf jeden fall auf, viele tutorials sind veraltet, da es in letzter zeit im packaging bereich einige änderungen gab
Hi, brauchte eine kleine Hilfe! Wenn ich in eine Ankündigungs channel für dem Bot festlegen will müsste dann hier : @slash_command(description="Setzt den Channel für Clanstadt Nachrichten")
@commands.has_permissions(administrator=True)
async def clanstadt_on_ready(self, ctx, channel: discord.TextChannel, intervals: str): Nicht discord.TextChannel sein sondern? Danke schon mal
Wenn es ein Text Channel sein soll, dann ja, aber du kannst auch einfach discord.Channel schreiben meine ich
discord.Channel das geht leider nicht nur discord.ChannelType. und hier dann noch
Kenne deinen Code nicht
async def clanstadt_on_ready(
self,
ctx,
channel: Option(discord.SlashCommandOptionType.channel, channel_types=[discord.ChannelType.news]),
intervals: str
)
Danke Timo
Timo Perfekt. Danke nochmal. Ich hab mich schon fast Tod gesucht unter Py-Cord Doku.
gerne 
Da gehts wohl um CoC oder?
Ja genau

Irgendwann wird es mit dem andere Bot klappen von coc die Daten in dem andere Bot. Ich mach ja VBA Excel Tabellen nebenbei
Traceback (most recent call last):
File "/home/container/.local/lib/python3.11/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 936, in exec_module
File "<frozen importlib._bootstrap_external>", line 1074, in get_code
File "<frozen importlib._bootstrap_external>", line 1004, in source_to_code
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home/container/cogs/RpRules.py", line 121
bot.add_cog(RpRules(bot)
^
SyntaxError: '(' was never closed
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/container/main.py", line 49, in <module>
bot.load_extension(f"cogs.{filename[:-3]}")
File "/home/container/.local/lib/python3.11/site-packages/discord/cog.py", line 910, in load_extension
self._load_from_module_spec(spec, name)
File "/home/container/.local/lib/python3.11/site-packages/discord/cog.py", line 777, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.RpRules' raised an error: SyntaxError: '(' was never closed (RpRules.py, line 121)
container@pterodactyl~ Server marked as offline...
[Pterodactyl Daemon]: ---------- Detected server process in a crashed state! ----------
[Pterodactyl Daemon]: Exit code: 1
[Pterodactyl Daemon]: Out of memory: false
[Pterodactyl Daemon]: Aborting automatic restart, last crash occurred less than 60 seconds ago.```
SyntaxError: '(' was never closed (RpRules.py, line 121)
Da steht alles
ja habe das aber jetzt das
File "/home/container/cogs/RpRules.py", line 116, in callback
await channel.send(embed=embed)
^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'send'
Ignoring exception in modal <cogs.RpRules.Modals object at 0x7f4add3c1890>:
Traceback (most recent call last):
File "/home/container/.local/lib/python3.11/site-packages/discord/ui/modal.py", line 341, in dispatch
await value.callback(interaction)
File "/home/container/cogs/RpRules.py", line 116, in callback
await channel.send(embed=embed)
^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'send'

