#Allgemeine Hilfe
1 messages · Page 76 of 1
@azure jasper brauchst du Hilfe oder was oder warum bist du in https://discord.com/channels/1010915072694046794/1020759567421931620
einfach so
Hey, kurze knackige Frage:
Ich möchte die Startzeit meines Bots in einem Discord Timestamp anzeigen lassen. Ich habe schon ein Datetime Objekt. Wie kann ich das ganze nun zu einem Timestamp umwandeln?
discord.utils.format_dt()
Und ezcord hat auch sowas
Perfekt, vielen dank dir!
Bei meinem Ticket system muss ich immer nach dem bot restart das Ticket embed neu senden wie fixe ich das?
Heißt Persistant View, erklärt Timo im Button Tutorial nochmal neu (falls du select oder so benutzt ist es das selbe)
@cloud prawn https://youtu.be/jTmu07k_m80
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github ► https://github.com/tibue99/tutorial-bot
Discord Developer Portal ► https://discord.com/developers/applications
Tutorial Playlist ► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/int...
ah ok, danke
Damit jeder user nur ein Ticket öffnen kann muss man mit db arbeiten oder?
Habe eins ohne db aber müsste jz mit db anfangen, weil ich will das man nur ein Ticket offen haben kann
Wie schließt du denn Tickets?
command
Kann man dann nicht auch jeden Channel löschen lassen
Mit deinem command
Auch wenn es garkein Ticket ist
nee, da wird bis jetzt nur der channel gelöscht wo man den command verwendet
Ja kann man doch in General verwenden einfach oder
ja
Ja dann wir general gelöscht
ja
Dafür brauchst du eine Datenbank
Um dir zu speichern welcher Channel ein Ticket ist
Und ob er gelöscht werden darf oder nicht
Ja, aber von db keine ahnug wie ich das machen soll
entweder ich mache das mit button oder command und db
Buttons sind cool, select menus sind auch super
Alles ist toll
Du kannst auch Buttons und command machen
Mit dB
Ja das könnte auch gehen
wie lasse ich noch Folder/file laden?
if __name__ == "__main__":
for filename in os.listdir("cogs"):
if filename.endswith(".py"):
bot.load_extension(f"cogs.{filename[:-3]}")```
Mit ezcord gehts einfacher
@azure jasper https://youtu.be/SsY8JOzuGfQ
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Links aus diesem Video
EzCord Docs ► https://ezcord.readthedocs.io/
EzCord GitHub ► https://github.com/tibue99/ezcord
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot
PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https:...
könntest du mir ein template mahcen?
Ja
danke, am besten wo er cogs/folder/file er soll dann jeden folder laden
Das kommt alles im Video vor
ok
async def on_ready(self):
async with aiosqlite.connect("tickets.db") as db:
await db.execute(
""""
CREATE TABLE users (
user_id INTEGER PRIMARY KEY,
tickets INTEGER DEFAULT 0
)
"""
)```
die datei "tickets.db" wird nicht erstellt
def load_cogs(folder: str):
for path in os.listdir(folder):
folder_path = f'{folder}/{path}'
if os.path.isdir(folder_path):
load_cogs(folder_path)
continue
if not path.endswith('.py'):
continue
cog_name = path.removesuffix('.py')
cog_location = f'{folder}.{cog_name}'.replace('/', '.')
try:
bot.load_extension(f'{cog_location}')
print(f'✅ | Successfully loaded Cog: {cog_location}')
except (
discord.ExtensionNotFound,
discord.ExtensionAlreadyLoaded,
discord.NoEntryPointError,
discord.ExtensionFailed
) as exception:
print(f'❌ | Failed to load Cog: {cog_location}')
raise exception
das hatte ich mal selber gemacht für unterordner
aber ja mit ezcord ist einfacher
mit ezcord ist einfacher

nur ezcord oder ezcord + aiosqlite?
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Links aus diesem Video
EzCord Docs ► https://ezcord.readthedocs.io/en/latest/ezcord/sql.html
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/ezcord-template
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Inhalt 📚
Heute schauen wir uns an, wie wir Datenbank...
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Links aus diesem Video
EzCord Docs ► https://ezcord.readthedocs.io/en/latest/ezcord/sql.html
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/ezcord-template
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Inhalt 📚
Heute schauen wir uns an, wie wir Datenbank...
Hmmm
hm
okk ich versuch es mal
Wir waren es nicht
hm ja das stimmt
☺️
guck mal dm
Ich?
ja
du kannst auch ein zb von mein code nennen
ticket system?
ja
def __init__(self):
super().__init__("ticket.db")
async def setup(self):
print("setup")
await self.exec(
"""CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY,
tickets INTEGER DEFAULT 0
)
"""
)
db = TicketDB()```
es printet sowiso k´nichts
Ja, habe ich mal will jz ein eigenes coden
class TicketDB(ezcord.DBHandler):
def __init__(self):
super().__init__("test.db")
async def setup(self):
print("test")
await self.exec(
"""CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY,
tickets INTEGER DEFAULT 0
)
""")
db = TicketDB()```
mach mal so
und guck mal ob es print
bei mir geht das
liegt maybe an pychaerm
from discord.ext import commands
from discord.commands import slash_command
import asyncio
import ezcord
class TicketDB(ezcord.DBHandler):
def __init__(self):
super().__init__("test.db")
async def setup(self):
print("test")
await self.exec(
"""CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY,
tickets INTEGER DEFAULT 0
)
""")
db = TicketDB()
class ticket_system(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
self.bot.add_view(TutorialView())
@slash_command(name="ticket_setup")
async def ticket_setup(self, ctx):
embed = discord.Embed(
title="Role accses",
description="""You must have 210 vouches to get the TRUSTED role.
You must have 80 vouches to get the EXPERIENCED role
You must have our vanity in your STATUS to get the SELLER role.
NOTE: Removing vanity after getting role = BLACKLIST (UPTO BAN).""",
color=discord.Color.green()
)
await ctx.send(embed=embed, view=TutorialView())
await ctx.response.send_message("It was sent successfully", ephemeral=True)
@slash_command()
async def add_user(self, ctx, user: discord.User):
if ctx.author.guild_permissions.manage_channels:
channel = ctx.channel
await channel.set_permissions(user, read_messages=True, send_messages=True)
await ctx.respond(f"Der Benutzer {user.mention} wurde dem Ticket hinzugefügt.")
else:
await ctx.respond("Du hast keine Berechtigung, Benutzer hinzuzufügen.", ephemeral=True)```
help me
Bei was
import discord
from discord.ext import commands
from discord.commands import slash_command
import asyncio
import ezcord
class TicketDB(ezcord.DBHandler):
def __init__(self):
super().__init__("test.db")
async def setup(self):
print("Test")
await self.exec(
"""CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY,
tickets INTEGER DEFAULT 0
)
""")
db = TicketDB()
class TicketSystem(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
pass
@slash_command(name="ticket_setup")
async def ticket_setup(self, ctx):
embed = discord.Embed(
title="Rollenzugriff",
description="""Du musst 210 Vouches haben, um die TRUSTED-Rolle zu erhalten.
Du musst 80 Vouches haben, um die EXPERIENCED-Rolle zu erhalten.
Du musst unsere Vanity in deinem Status haben, um die SELLER-Rolle zu erhalten.
HINWEIS: Entfernen der Vanity nach Erhalt der Rolle = BLACKLIST (BIS ZUM BAN).""",
color=discord.Color.green()
)
await ctx.send(embed=embed)
await ctx.respond("wurde erfolgreich gesendet", ephemeral=True)
@slash_command()
async def add_user(self, ctx, user: discord.User):
if ctx.author.guild_permissions.manage_channels:
channel = ctx.channel
await channel.set_permissions(user, read_messages=True, send_messages=True)
await ctx.respond(f"Der Benutzer {user.mention} wurde dem Ticket hinzugefügt.")
else:
await ctx.respond("Du hast keine Berechtigung, Benutzer hinzuzufügen.", ephemeral=True)
def setup(bot):
bot.add_cog(TicketSystem(bot))``` mach mal so
geht ned error beim starten
discord.errors.ExtensionFailed: Extension 'cogs.Ticket system' raised an error: NameError: name 'ticket_system' is not defined
mach das name="ticket_setup" raus
das heiste auch test
ja das auch nicht
Kann halt nichts hören also macht es kein sinn
dann ka
ja
kennt sich einer mit domains und webserver as
Keine Meta frage so kann keiner helfen
weiß einer wie man seine Domain mit seinem web server zu verbinden
Kommt auf dem Server an
Und auf deinen Domain host
Aber vermutlich musst du erstmal einen A Record auf die IP deines Servers machen und nen SSL Zertifikat hinzufügen
@native helm
Oder wenn du den webport auf einem anderem Port als 80 hast, musst du mit Nginx einen Proxy Host erstellen.
@graceful fiber & @twilit anvil Könnte einer Von euch in den Talk ??
Ne.
Was ist denn deine Frage?
wie es Geht
Wie was geht?
Naja das kommt danach noch, die DNS records müssen ja in dem falls
Hm?
Sag einfach mal nen bisschen konkreter dein Problem bitte, ansonsten kannst du mit unseren Stichwörtern bestimmt auch gute Tutorials finde oder Docs vom hoster
Das ist ein Bild ja 😅
Hier steht schon Recht viel für das Bild
Ich bin bei strato und habe meinen Eigenen server da ist mein webserver auch und da möchte ich die domain drauf haben aber ich weiß nicht wie das geht
...
Das wäre dann ein erster Schritt
Strato hat aber eigentlich auch eine Dokumentation dazu
Kann sonst nachher kurz Talk wenn du's dann noch nicht hast
dass ist aber so ```py
85.215.50.142:3511
In diesem Fall brauchst du einen Reverse Proxy
wie mache ich das ??
Einfach mit Docker compose
Oder einfach Nginx normal nutzen mit Configs, ist auch nicht so schwer
Hey Leute, ich stehe vor einem Problem: Es scheint, dass es nicht möglich ist, keine Custom Emojis add kann wer Kann mir jemand dabei helfen oder mir erklären, warum das so ist? ```py
@ticket.command()
async def select(self, ctx, name: str, emoji: discord.Emoji):
options = [
discord.SelectOption(label=name, value=name, emoji=emoji)
]
select = discord.ui.Select(
placeholder="Select an option",
options=options
)
view = discord.ui.View()
view.add_item(select)
await ctx.respond("Please select an option:", view=view)``` ```py
error
[ERROR] Error while sending error report to webhook. Please check if the URL is correct.
[ERROR] Error while executing /ticket select
Traceback (most recent call last):
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 1130, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 376, in invoke
await injected(ctx)
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 1370, in _invoke
await command.invoke(ctx)
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 376, in invoke
await injected(ctx)
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 981, in _invoke
arg = await converter().convert(ctx, arg)
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ext\commands\converter.py", line 846, in convert
raise EmojiNotFound(argument)
discord.ext.commands.errors.EmojiNotFound: Emoji "
" not found.
du hast eine falsche webhook url angegeben
es geht um die emojis
bei error webhook url
ist der bot auf den server von dem des emoji ist
hab schon
war es der fehler 😐
Syntax
Hey ich wurde zu ein privaten Post auf github eingeladen habe den auch angenommen finde ihn aber jetzt nicht mehr
was meiste du mit angenommen
Ne habe angenommen weiß jetzt aber nicht wo ich das finden
Ok danke
du musst schon auf ein Projekt von dir gehen🤨
Ich möchte ja kein hinzufügen
Ich wurde von einer Person in eine post hinzugefügt
Und weiß nicht wo ich den finden kann
weißt du wie der User heißt auf github? 😮
Ja
Kann mir wer helfen?
if interaction.channel.name == "ticket-":
ticket_id = "Support"
return
if interaction.channel.name == "bewerben-":
ticket_id = "Bewerben"
return
if interaction.channel.name == "bug-":
ticket_id = "Bug"
embed5.add_field(name="Ticket ID", value=ticket_id)```
wieso geht value nicht?
Error?
Ignoring exception in view <TicketClose timeout=None children=1> for item <Button style=<ButtonStyle.danger: 4> url=None disabled=False label='Schließen' emoji=<PartialEmoji animated=False name='🔒' id=None> row=None>:
Traceback (most recent call last):
File "C:\Users\tyler\PycharmProjects\minenoxbot\venv\Lib\site-packages\discord\ui\view.py", line 426, in _scheduled_task
await item.callback(interaction)
File "C:\Users\tyler\PycharmProjects\minenoxbot\src\ticket.py", line 199, in button_callback3
embed5.add_field(name="Ticket ID", value=ticket_id)
^^^^^^^^^
UnboundLocalError: cannot access local variable 'ticket_id' where it is not associated with a value```
das hat nix mit dem button zutun
if interaction.channel.name == "ticket-":
ticket_id = "Support"
return
if interaction.channel.name == "bewerben-":
ticket_id = "Bewerben"
return
if interaction.channel.name == "bug-":
ticket_id = "Bug"
embed5 = discord.Embed(
title="Ticket geschlossen",
color=discord.Color.green(),
timestamp=datetime.datetime.now()
)
embed5.add_field(name="Ticket ID", value=ticket_id)```
yk?
beim close button
Zeig mal deine view class
wofür denn
hast du auch das value definiert?
Ich will einfach wenn der Channel bestimmt heißt, das die Variable zu einer von den drein geändert wird. Und dann im Embed field ausgegeben wird
mach das so ```py
if interaction.channel.name == "ticket-":
ticket_id = "Support"
elif interaction.channel.name == "bewerben-":
ticket_id = "Bewerben"
elif interaction.channel.name == "bug-":
ticket_id = "Bug"
else:
ticket_id = "Unknown"
embed5 = discord.Embed(
title="Ticket geschlossen",
color=discord.Color.green(),
timestamp=datetime.datetime.now()
)
embed5.add_field(name="Ticket ID", value=ticket_id)```
Danke dir ^^
Geht ?
ja ansich schon aber der channel heißt ja eig immer bewerben-(user)
deswegen immer unbekannt
was auch sinn macht
Wie kann ich das jetzt fixen? 
if interaction.channel.name.startswith("bewerben-"):
ticket_id = interaction.channel.name[len("bewerben-"):]
elif interaction.channel.name == "ticket-":
ticket_id = "Support"
elif interaction.channel.name == "bug-":
ticket_id = "Bug"
else:
ticket_id = "Unknown"
embed5 = discord.Embed(
title="Ticket geschlossen",
color=discord.Color.green(),
timestamp=datetime.datetime.now()
)
embed5.add_field(name="Ticket ID", value=ticket_id)
``` so zb
ist ja auch bei ticket-(user) und auch bei bug-(user)
aber ich verstehe das len nicht
will es ja auch verstehen
ah hab gecheckt danke dir
Wie kann ich machen das der bot mit einer aktion z.B. 3 seconden warten soll
also z.B. /channeldelete aber er soll den erst nach 3sekunden löschen
Jo
😮
sicher das das richtig ist?
await asyncio.sleep(5)
await interaction.channel.delete()
sonst sagt er ist falsch
HeyHo minecraft Freunde, ich möchte gerne für meinen Bot ein Ticketban-System machen
-> Ich würde dann für jeden Server eine Liste von IDs der dort gebannten user machen aber wie mach ich das genau?
Habe bis jetzt nur globale Sachen gemacht
Hat da wer ne Idee?
Verstehe die Frage nicht
Also was erwartest du für ne Antwort?
Ne Lösung, wie ich für jeden server eine liste von gebannten membern speicher.
Einfach in einer Datenbank?
ja
Na denn ist doch alles gut? 
Chillig
ne, ich hab bis jetzt nur für jeden Server einen Kanal gehabt z.B Willkommenskanal aber checke nicht ganz, wie ich für jeden Server ne Liste mache
Dann verstehe ich nicht was du machen willst
Es geht um ein Ticketsystem?
Woraus man bannen kann?
neeee
ich will machen, dass man user die es missbrauchen für den Server bannen kann vom ticketsystem, also dass sie dann keine Tickets mehr aufmachen können
Genau das habe ich ja geschrieben eig
stimmt
Einfach einen Ticketban Command und dann wird z.b. der User einer DB hinzugefügt mit der User und Server id
also ne ban db in der dann für jeden ban die serverid und die userid gespeichert wird?
die drecks datenbanken kann ruhig discord übernehmen 🔥

Wenn du ein öffentlich discord bot machen willst dann musst du mit Datenbanken oder mit json arbeiten
@cloud cedar komm mal kurz dm
Kannst du bestimme in den Einstellungen ändern
in der default?
glaube schon, haben lange nicht mehr damit gearbeitet
Hab mich am 2. von StackOverflow orientiert, jetzt kommt 500 Internal Server Error und in die Konsole wird nix geprinted
Hey checke das nicht ganz, wie gette ich eine Rolle über die Id? self.bot.get_role(id) ist es nicht :(
code ?
ticketbann_role = await db.get_ticketbann_role(interaction.guild.id)
ticketbann_role_obj = self.bot.get_role(ticketbann_role)
ticketbann_role = await db.get_ticketbann_role(interaction.guild.id)
ticketbann_role_obj = await get_role_by_id(interaction.guild, ticketbann_role)
danki
so muss gehen
user: discord.PermissionOverwrite(read_messages=True, send_messages=True),
rolee: discord.PermissionOverwrite(read_messages=True, send_messages=True),
interaction.guild.default_role: discord.PermissionOverwrite(read_messages=False)
}```
wie kann "rolee" dem user eine rolle geben also die permisson dazu?

hallo wie kann ich mein Dashboard mit meinem Domain verbinden
Welches
Netlify
was für
INFO: Started server process [9508]
INFO: Waiting for application startup.
INFO: Application startup complete.
ERROR: [Errno 11001] getaddrinfo failed
INFO: Waiting for application shutdown.
INFO: Application shutdown complete.```
startet die website
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github ► https://github.com/tibue99/tutorial-dashboard
Discord Dev Portal ► https://discord.com/developers/applications
SSL Anleitung ► https://www.vultr.com/docs/how-to-deploy-fastapi-applications-with-gunicorn-and-nginx-on-ubuntu-20-04/
Danke an Nikos für die Unterstützung beim cod...
ich wurde gezwungen des zu machen von lucky 😦
das kommt auch bei starten
er error kommt bei website starten
ich soll dir von lucky sagen du bist ein noob
kennt wer ne gute einfache alternative zu openai in python? möchhte eig nur nen askai cmd machen bin aber ziemlich am strugglen
wo bei brachst du helfe
weiß jemand ob man das was in den tutorials gezeigt wurde mit den lokalen datenbanken und aiosqlite auch mit normalen maria DB Datenbanken umsetzbar ist
Klar
Ist ja im Endeffekt auch nur eine Datenbank
ok also mit der lib aiomysql dann
Aso ka
Einfach mal googlen
Aber Mariadb hat eigentlich eine eigene
Also eher nicht nehme ich an
wie meinst du die auch asyncron ist?

aber beide in dem slash command sind wie kann ich die beide inten bei der view variable neben dem embed anzeigen oder müssen beide buttons view heißen?
ups
link vergessen
Wieso machst du nicht einfach in einer class die Button 
@slash_command(description="Invite den Bot")
@commands.cooldown(1, 15, commands.BucketType.user)
async def invite(self, ctx):
button = discord.ui.Button(label="Invite", url="Link Bot Invite")
view_invite = discord.ui.View()
view_invite.add_item(button)
button = discord.ui.Button(label="Support Server", url="Link Server")
view_sup = discord.ui.View()
view_sup.add_item(button)
embed = discord.Embed(
title="Links!",
description="Du kannst den Bot zu deinem Server hinzufügen indem du auf den Invite Button klickst!\n"
"oder du kannst den Support Server Beitreten in dem Du auf den Support Server Button Klickst!",
color=color
)
embed.set_footer(text="2024 x Bot")
embed.set_thumbnail(url=self.bot.user.display_avatar.url)
await ctx.respond(embed=embed, view=[view_invite, view_sup])```
so jezt aber alle Sperrbaren Links raus
ich dacchte ich könnte es in ner liste übergeben
naja schade hätte ja klappen können
och neee
was ist wenn ich mehrere brauche dann brauchts ne eigene klasse?
Och doch
geht das wenns ne eigene klasse ist?
Du kannst in eine View mehrere Buttons Machen

heißt also?
das ich alle einfach am anfang view nenne?
oder wie soll ichs verstehen
hab keine

ist im Slash command
Denn mach mit class
ich wollte es ohne eigene class für den button
ich muss sie ja nicht zwingend MyView nennen richtig
np
pycord sollte das ja nicht interessieren
gut
Du kannst immer wieder neue Buttons mit @discord.ui.button machen
Ist deine Frage geantwortet?
@vast cradle
ja
Was soll alles in nem Control PC bot rein habe bereits
Screenshot, rotate, press key und press hotkey, PC notification
was macht rotate?
Wahrscheinlich den Bildschirm drehen
kann wer helfen
if __name__ == "__main__":
uvicorn.run(app, host="littxle.de", port=8000)```
AttributeError: 'Bot' object has no attribute 'get_role_by_id'
heißt wahrscheinlich, dass mit deiner domain was komisch ist
hast du die gekauft?
Ja

schick nochmal wie du’s hast bitte
also aktuell
ticketbann_role = await db.get_ticketbann_role(interaction.guild.id)
ticketbann_role_obj = self.bot.get_role_by_id(interaction.guild.id, ticketbann_role)
da muss ich dich enttäuschen, die docs sagen was anderes.
Keine Ergebnisse für bot.get_role_by_id gefunden. Meintest du Folgendes?
siehst du?
nico hat das gesagt :((((
bei bot kannst nur guild getten
wie mach ich das jetzt also?
also guild = await self.bot.get_guild(interaction.guild.id)
await guild.get_role(id)?
genau das ist dann das role obj
danki :)
slayyy geht
discord.Bot.get_user
discord.Client.get_user
discord.Invite.target_user
discord.sinks.Sink.get_user_audio
discord.ext.commands.Bot.get_user
Wie checke ich ob ein user ne bestimmte Rolle hat? hab user obj und rollen obj
Ja aber was

if role in user.roles
ah danke
if ticketbann_role_obj in interaction.user:
TypeError: argument of type 'Member' is not iterable
:( was hab ich falsch gemacht
Code
ticketbann_role = await db.get_ticketbann_role(interaction.guild.id)
guild = self.bot.get_guild(interaction.guild.id)
try:
ticketbann_role_obj = guild.get_role(ticketbann_role)
if ticketbann_role_obj is None:
raise ValueError("Ticketbann-Rolle existiert nicht")
except Exception as e:
embed = discord.Embed(title="❌ Ups!", description=f"Hmm, ich finde die Rolle, die die vom Ticketsystem gebannten Mitglieder markiert nicht... ich habe das dem Serverinhaber mitgeteilt!", color=discord.Color.red())
await interaction.response.send_message(embed=embed, ephemeral=True)
server_owner_obj = self.bot.get_user(interaction.guild.owner.id)
guild = self.bot.get_guild(interaction.guild.id)
embed = discord.Embed(title = "Huhu 👋", description=f"Ich finde die Ticketbann-Rolle für {guild.name} nicht :( \n - Das kann z.B. daran liegen, dass die Rolle gelöscht wurde. \n Verwende einfach /setup auf dem Server, um die Rolle neu einzustellen UwU", color=discord.Color.brand_red())
return await server_owner_obj.send(embed = embed)
if ticketbann_role_obj in interaction.user:
embed = discord.Embed(title = "❌ Ups!", description="🚨 Stopp! Du bist auf diesem Server von der Nutzung des Ticketsystems gebannt!", color=discord.Color.brand_red())
if ticketbann_role_obj in interaction.user.roles:
embed = discord.Embed(title="❌ Ups!", description="🚨 Stopp! Du bist auf diesem Server von der Nutzung des Ticketsystems gebannt!", color=discord.Color.brand_red())```
so glaub ich
if ticketbann_role_obj in interaction.user.roles: das hab ich nur
Erneuer
ja ik
war lost

hat wer ne idee
antivirus xD
was soll das machen
shutdown 💀
Wenn ich ausrasten soll dann ja
ach stimmt
oder einen command der auf amazon 4 Kilo Käse kauft
ohne cooldown
soll das dann zu mir kommen
ja
oder als fanpost an @solid ingot `s Adresse
@solid ingot darf ich
wollte dir noch vorschlagen, dass du diese ganzen "standarts" machst wie halt pc lock, anzeige wie schnell internet is etc
wie meinst du das mit pc lock
hallo an alle
habe ein embed und eine view dann möchte ich nur die view ändern aber es geht nicht
import asyncio
import json
import os
import aiosqlite
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
from datetime import datetime
from discord.commands import SlashCommandGroup
class clear_user_hinzufuegen(commands.Cog):
def __init__(self, bot):
self.bot = bot
async def User_hinzufuegen_function(self, interaction):
await interaction.message.edit(view=UserHinzufuegenUserDropdown())
def setup(bot):
bot.add_cog(clear_user_hinzufuegen(bot))
kommt auch kein fehlercode
mach mal den methodennamen ohne großbuchstaben
bringt nichts
@restive herald
win + l halt
das kamm mann schon bei press hotkey machen
was solll das können
Gibt's dafür net auch schon shortcuts normalerweise? Oder halt als Sammlung dann?
Ja nervt echt xD
Wo fügst du bitte den User hinzu
Und du anworte nix auf dem select Menü
guten tag, hatte jetzt den code überarbeitet
class clear_user_hinzufuegen(commands.Cog):
def __init__(self, bot):
self.bot = bot
async def user_hinzufuegen_function(self, interaction):
embed = discord.Embed(
title="User hinzufügen",
description="Wähle einen Benutzer aus, der die Berechtigung zum Löschen von Nachrichten erhalten soll.",
color=discord.Color.blue(),
)
await interaction.message.edit(embed=embed, view=UserHinzufuegenUserDropdown())
await interaction.message.edit(view=self)
await interaction.response.send_message(
"ok, wähle im Dropdown Menu ein User aus der den Befehl clear ab jetzt nutzen darf",
ephemeral=True,
)
def setup(bot):
bot.add_cog(clear_user_hinzufuegen(bot))
aber da kommt dieser fehlercode:
Ignoring exception in view <ClearConfigDropdown timeout=None children=1> for item <Select type=<ComponentType.string_select: 3> placeholder='Wähle eine Option aus' min_values=1 max_values=1 options=[<SelectOption label='User Hunzufügen' value='user_hinzufuegen' description='wenn ein bestimmter user clear benutzen darf' emoji=<PartialEmoji animated=False name='⭐' id=None> default=False>, <SelectOption label='User Entfernen' value='user_entfaeren' description='wenn ei
' emoji=<PartialEmoji animated=False name='⭐' id=None> default=False>, <SelectOption label='Rolle Hinzufügen' value='rolle_hinzufuegen' description='wenn eine bestimmte Rolle clear benutzen darf' emoji=<PartialEmoji animated=False name='⭐' id=None> default=False>, <SelectOption label='Rolle Entfernen' value='rolle_entfaeren' description='wenn eine bestimmte Rolle clear nicht benutzen darf' emoji=<PartialEmoji animated=False name='⭐' id=None> default=False>, <SelectOption label='View' value='view' description='WSehen welcher user und welche Rollen den Command benutzen dürfen' emoji=<PartialEmoji animated=False name='⭐' id=None> default=False>] channel_types=[] disabled=False>:
Traceback (most recent call last):
File "C:\Users\melvi\PycharmProjects\vindijk_4-bots\.venv\lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "C:\Users\melvi\PycharmProjects\vindijk_4-bots\cogs\clear\clear_config.py", line 99, in clear_config_dropdown_callback
await user_hinzufuegen_code.user_hinzufuegen_function(interaction)
File "C:\Users\melvi\PycharmProjects\vindijk_4-bots\cogs\clear\user_hinzufuegen.py", line 25, in user_hinzufuegen_function
await interaction.message.edit(view=self)
File "C:\Users\melvi\PycharmProjects\vindijk_4-bots\.venv\lib\site-packages\discord\message.py", line 1434, in edit
payload["components"] = view.to_components() if view else []
AttributeError: 'clear_user_hinzufuegen' object has no attribute 'to_components'
@urban glen https://youtu.be/MO-qFfHjcDE
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
In diesem Video stelle ich euch S...
Guck dir nochmal an
Traceback (most recent call last):
File "C:\Users\Schüler\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\cog.py", line 778, in _load_from_module_spec
spec.loader.exec_module(lib) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap_external>", line 995, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "C:\Users\Schüler\Documents\controll-pc\cogs\notification.py", line 12, in <module>
elevenlabs.set_api_key("78f1893803190a0bsf2a1d7df7076467c18cx98d28")
^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'elevenlabs' has no attribute 'set_api_key'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Schüler\Documents\controll-pc\bot.py", line 10, in <module>
bot.load_cogs(
File "C:\Users\Schüler\AppData\Local\Programs\Python\Python312\Lib\site-packages\ezcord\bot.py", line 318, in load_cogs
self.load_extension(cog)
File "C:\Users\Schüler\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\cog.py", line 912, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\Schüler\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\cog.py", line 781, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.notification' raised an error: AttributeError: module 'elevenlabs' has no attribute 'set_api_key'
Hat wer ein bsp. code für Logs?
Guck mal in help relgel
ist ein bsp. code da muss ja nichts besonderes dabei sein
muss ja nichts dabei sein vlt. nur ein kommentar wo die logs beginnen
oder nur den log code
GucK doch in #1027677692730036294
Ok, und was ist in dem code
def __init__(self, bot: discord.Bot) -> None:
self.bot = bot
@commands.Cog.listener()
async def on_application_command(self, ctx: discord.ApplicationContext) -> None:
logs = get_channel(ctx.guild, 'command-logs')
embed = discord.Embed(
title=f'/{ctx.command} in {ctx.channel}',
timestamp=datetime.datetime.now(),
color=discord.Color.purple()
)
embed.add_field(name='User', value=ctx.user.mention)
embed.add_field(name='Channel', value=ctx.channel.mention)
command = f'/{ctx.command} '
if ctx.selected_options:
command += ' '.join(
(
f'**{option["name"]}**:{option["value"]}'
for option
in ctx.selected_options
)
)
embed.add_field(name='Command', value=command)
embed.set_author(name=ctx.user.display_name, icon_url=ctx.user.display_avatar)
await logs.send(embed=embed)``` mit
```logs = get_channel(ctx.guild, 'command-logs')```
muss dann im server ein channel sein namens "command-logs"
???
Ja
ok, danke
Jmd ne Idee warum bei dem abschicken des forms das was auf dem screen zu sehen ist erscheint?
Code Formular:
<h2>Kanaleinstellungen</h2>
<p>Wartebereich: <br>Aktuell: {{ wait }}</p>
<p>Kanal ändern:
<form action="/server/{{ id }}/settings/voicesup/wait" method="POST">
<label for="voice_channel">Wartebereich:</label>
<select name="voice_channel" id="voice_channel">
{% for channel in channels %}
{% set channel_parts = channel.split(' ') %}
<option value="{{ channel_parts[0] }}">{{ channel_parts[1] }}</option>
{% endfor %}
</select>
<input type="submit" value="Speichern">
</form>
Code POST Methode:
@app.post("/server/{guild_id}/settings/voicesup/wait")
async def change_wait(guild_id: int, session_id: str = Cookie(None), wait: int = Form(...)):
user_id = await db.get_user_id(session_id)
if not session_id or not user_id:
raise HTTPException(status_code=401, detail="no auth")
perms = await ipc.request("check_perms", guild_id=guild_id, user_id=user_id)
if not perms.response["perms"]:
return {"error": "Du hast keinen Zugriff auf diesen Server"}
await voicesup_db.update_setting(guild_id, "wait",wait )
return RedirectResponse(url="/server/" + str(guild_id)+"/settings/voicesup")
also das kommt wenn abgeschickt wird
Kommt der Fehler von der API von Discord?
ne
Kann mir wer helfen
Hi ich habe das Problem das Pylance mir Optains immer untersteicht kann ich das irgendwie fixen?
bild?
jo warte kommt gleich
müsste iwo nen button geben womit das script so gemacht wird das diese fehler behebt
Also ich hab den ignore button gefunde naber das müsste ich dann bei jeden einzeln machen
Er will die Videos nicht abspielen
[generic] Extracting URL: Villager - Gangsta's Paradise
[youtube:search] Extracting URL: ytsearch:Villager - Gangsta's Paradise
[download] Downloading playlist: Villager - Gangsta's Paradise
[youtube:search] query "Villager - Gangsta's Paradise": Downloading web client config
[youtube:search] query "Villager - Gangsta's Paradise" page 1: Downloading API JSON
[youtube:search] Playlist Villager - Gangsta's Paradise: Downloading 1 items of 1
[download] Downloading item 1 of 1
[youtube] Extracting URL: https://www.youtube.com/watch?v=pf5RZ0a3qXM
[youtube] pf5RZ0a3qXM: Downloading webpage
[youtube] pf5RZ0a3qXM: Downloading ios player API JSON
[youtube] pf5RZ0a3qXM: Downloading android player API JSON
WARNING: [youtube] Skipping player responses from android clients (got player responses for video "aQvGIIdgFDM" instead of "pf5RZ0a3qXM")
[youtube] pf5RZ0a3qXM: Downloading m3u8 information
Ignoring exception in command play:
Traceback (most recent call last):
File "C:\Users\tyler\PycharmProjects\MineNoxMusic\venv\Lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\tyler\PycharmProjects\MineNoxMusic\venv\Lib\site-packages\discord\commands\core.py", line 1009, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Users\tyler\PycharmProjects\MineNoxMusic\cogs\youtube.py", line 29, in play
url = info['url']
~~~~^^^^^^^
KeyError: 'url'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\tyler\PycharmProjects\MineNoxMusic\venv\Lib\site-packages\discord\bot.py", line 1130, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Users\tyler\PycharmProjects\MineNoxMusic\venv\Lib\site-packages\discord\commands\core.py", line 376, in invoke
await injected(ctx)
File "C:\Users\tyler\PycharmProjects\MineNoxMusic\venv\Lib\site-packages\discord\commands\core.py", line 139, in wrapped
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: KeyError: 'url'
[download] Finished downloading playlist: Villager - Gangsta's Paradise```
Code:
@slash_command()
async def play(self, ctx, musik: discord.Option()):
await ctx.author.voice.channel.connect()
FFMPEG_OPTIONS = {
'before_options': '-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5',
'options': '-vn',
}
vc = ctx.voice_client
YDL_OPTIONS = {'format': 'bestaudio/best', 'noplaylist': True, 'default_search': 'auto'}
with yt_dlp.YoutubeDL(YDL_OPTIONS) as ydl:
info = ydl.extract_info(musik, download=False)
url = info['url']
source = await discord.FFmpegOpusAudio.from_probe(url, **FFMPEG_OPTIONS)
vc.play(source)```
@slash_command()
async def play(self, ctx, musik: discord.Option()):
await ctx.author.voice.channel.connect()
FFMPEG_OPTIONS = {
'before_options': '-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5',
'options': '-vn',
}
vc = ctx.voice_client
YDL_OPTIONS = {'format': 'bestaudio/best', 'noplaylist': True, 'default_search': 'auto'}
with yt_dlp.YoutubeDL(YDL_OPTIONS) as ydl:
info = ydl.extract_info(musik, download=False)
if 'url' in info:
url = info['url']
source = await discord.FFmpegOpusAudio.from_probe(url, **FFMPEG_OPTIONS)
vc.play(source)
else:
await ctx.respond("error")```
WARNING: [youtube] Skipping player responses from android clients (got player responses for video "aQvGIIdgFDM" instead of "pf5RZ0a3qXM")
[youtube] pf5RZ0a3qXM: Downloading m3u8 information
[out#0/opus @ 00000259eb6aeac0] Codec AVOption b (set bitrate (in bits/s)) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Das war ja eig ne such fukntion
Guck gleich
hi ganz kurz: wie checke ich bei meinem Dropdown View das value?
Also if selectvalue == "delete" so
Glaube ja
plöh
wie
ich will ja das value vom selectetem checken
wieeeeeeeeeee
Sollte so gehen: ```
select.values[0]```
ist das dann gleich das value?
def __init__(self):
super().__init__()
@discord.ui.button(label="Create Ticket", style=discord.ButtonStyle.primary, emoji="📨")
async def button_callback(self, button, interaction):
try:
user = interaction.user
role_id = 1234223112355188836 # Hier deine Support ID
role = interaction.guild.get_role(role_id)
overwrites = {
user: discord.PermissionOverwrite(read_messages=True, send_messages=True),
role: discord.PermissionOverwrite(read_messages=True, send_messages=True),
interaction.guild.default_role: discord.PermissionOverwrite(read_messages=False)
}
channel = await interaction.guild.create_text_channel(f"{user.name}-ticket", overwrites=overwrites)
try:
await interaction.response.send_message(f"The channel {channel.mention} got created!", ephemeral=True)
except:
print("Error sending message")
pass
embed_ticket = discord.Embed(
title="New Ticket",
description=f"""Please wait until Support team answer!""",
color=discord.Color.green()
)
await channel.send("<@&1234223112355188836>")
await channel.send(embed=embed_ticket)
except Exception as e:
print(e)
await interaction.followup.send(f"An error occurred: {e}", ephemeral=True)```
Wie kann ich im embed_ticket eine view classe adden, da ``` await channel.send(embed=embed_ticket, view=viewclass)``` nicht geht
und die Class war falsch
sie heißt TutorialView
gibt es irgendwo mit allen farben die ezcord beim logging so zur verfügung stellt?
wie kann ich diesen fehler beheben?
Error:
Ignoring exception in command claim_owner:
Traceback (most recent call last):
File "C:\Python310\lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
File "C:\Python310\lib\site-packages\discord\commands\core.py", line 1008, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "a:\Coding\Astro_bot\systems\vc_claim_owner.py", line 42, in claim_owner
async with db.cursor() as cursor:
File "C:\Python310\lib\site-packages\aiosqlite\context.py", line 46, in __aexit__
await self._obj.close()
File "C:\Python310\lib\site-packages\aiosqlite\cursor.py", line 69, in close
await self._execute(self._cursor.close)
File "C:\Python310\lib\site-packages\aiosqlite\cursor.py", line 31, in _execute
return await self._conn._execute(fn, *args, **kwargs)
File "C:\Python310\lib\site-packages\aiosqlite\core.py", line 122, in _execute
raise ValueError("Connection closed")
ValueError: Connection closed
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Python310\lib\site-packages\discord\bot.py", line 1130, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Python310\lib\site-packages\discord\commands\core.py", line 376, in invoke
await injected(ctx)
File "C:\Python310\lib\site-packages\discord\commands\core.py", line 139, in wrapped
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: ValueError: Connection closed
Machst du nicht db.close in deinem If Statement?
Und im async kannst du logischerweise keine geschlossene Verbindung aufrufen?
vermutlich irgendwas mit einrückung oder so kann man meiens Wissens ausstellen
ist nichts
jede klasse ist ja gelb
Put the caret on a warning you'd like to silence, press Alt-Enter and select the "Ignore errors like this" option.
Lucky kann Englisch
war kopiert
Ja aber das wird nicht aufgerufen
Was für eine App benutzt du
error
[ERROR] Error while executing /ticket select
Traceback (most recent call last):
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 1009, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Users\Dark_Angel\Desktop\Jinx-Bot\cogs\ticket.py", line 166, in select
await db.set_option(ctx.guild.id, name, emoji)
File "C:\Users\Dark_Angel\Desktop\Jinx-Bot\cogs\ticket.py", line 78, in set_option
await self.execute(
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\sql.py", line 330, in execute
return await self.exec(sql, *args, end=end, **kwargs)
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\sql.py", line 324, in exec
raise e
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\sql.py", line 321, in exec
cursor = await db.execute(sql, args)
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 193, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 132, in _execute
return await future
File "C:\Users\Dark_Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 115, in run
result = function()
sqlite3.IntegrityError: UNIQUE constraint failed: ticket.guild_id
``` ```py
meine code
@ticket.command()
async def select(self, ctx, name: str, emoji: str):
await db.set_option(ctx.guild.id, name, emoji)
ticket_message = await db.get_message(ctx.guild.id)
if ticket_message:
message = await ctx.channel.fetch_message(ticket_message)
t_options.append(discord.SelectOption(label=name, emoji=emoji))
view = CreateTicketSelect(t_options)
await message.edit(view=view)
await ctx.respond("The option was added successfully.", ephemeral=True)
else:
await ctx.respond("The ticket message was not found. Please set it up First!", ephemeral=True)```
und meine db
class TicketDB(ezcord.DBHandler):
def __init__(self):
super().__init__("db/ticket.db")
async def setup(self):
try:
await self.execute(
"""CREATE TABLE IF NOT EXISTS ticket(
guild_id INTEGER PRIMARY KEY,
category_id INTEGER DEFAULT 0,
teamrole_id INTEGER DEFAULT 0,
logs_channel_id INTEGER DEFAULT 0,
channel_id INTEGER DEFAULT 0,
message_id INTEGER DEFAULT 0,
option_name TEXT,
option_emoji TEXT
)"""
)
except Exception as e:
print(f"Error setting up database: {e}")
async def set_category(self, guild_id, category_id):
await self.execute(
"INSERT OR IGNORE INTO ticket (guild_id, category_id) VALUES (?, ?) ON CONFLICT(guild_id) DO UPDATE SET category_id = ?",
(guild_id, category_id, category_id)
)
async def get_category(self, guild_id):
return await self.one("SELECT category_id FROM ticket WHERE guild_id = ?", (guild_id,))
async def set_teamrole(self, guild_id, teamrole_id):
await self.execute(
"INSERT OR IGNORE INTO ticket (guild_id, teamrole_id) VALUES (?, ?) ON CONFLICT(guild_id) DO UPDATE SET teamrole_id = ?",
(guild_id, teamrole_id, teamrole_id)
)
async def get_teamrole(self, guild_id):
return await self.one("SELECT teamrole_id FROM ticket WHERE guild_id = ?", (guild_id,))
async def set_logs_channel(self, guild_id, logs_channel_id):
await self.execute(
"INSERT OR IGNORE INTO ticket (guild_id, logs_channel_id) VALUES (?, ?) ON CONFLICT(guild_id) DO UPDATE SET logs_channel_id = ?",
(guild_id, logs_channel_id, logs_channel_id)
)
async def get_logs_channel(self, guild_id):
return await self.one("SELECT logs_channel_id FROM ticket WHERE guild_id = ?", (guild_id,))
async def set_channel(self, guild_id, channel_id):
await self.execute(
"INSERT OR IGNORE INTO ticket (guild_id, channel_id) VALUES (?, ?) ON CONFLICT(guild_id) DO UPDATE SET channel_id = ?",
(guild_id, channel_id, channel_id)
)
async def get_channel(self, guild_id):
return await self.one("SELECT channel_id FROM ticket WHERE guild_id = ?", (guild_id,))
async def set_message(self, guild_id, message_id):
await self.execute(
"INSERT OR IGNORE INTO ticket (guild_id, message_id) VALUES (?, ?) ON CONFLICT(guild_id) DO UPDATE SET message_id = ?",
(guild_id, message_id, message_id)
)
async def get_message(self, guild_id):
return await self.one("SELECT message_id FROM ticket WHERE guild_id = ?", (guild_id,))
async def set_option(self, guild_id, option_name, option_emoji):
await self.execute(
"INSERT INTO ticket (guild_id, option_name, option_emoji) VALUES (?, ?, ?)",
(guild_id, option_name, option_emoji)
)
async def get_options(self, guild_id):
return await self.all("SELECT option_name, option_emoji FROM ticket WHERE guild_id = ?", (guild_id,))
db = TicketDB()```
hast iwo 2x gleichen primary key eingetragen
Ich habe das halt nicht sieht man doch oder
hast einmal kein OR IGNORE
Was meinst du
pycharm
Pycharm erkennt nicht so deutsch
? ist doch normales deutsch
Wie es ist kein Deutsch? Nachrichten ist kein Deutsch
Wer hat dich den Geballert?
Nachrichten ist deutsch
Mhhh
beim INSERT hast einmal kein ignore
doch jz
Krieg beim hosting des dashboards diesen error auf die seite - in`s Terminal wird nix geprinted
Tachometer. Habe mir Tobis Video mit den User Apps angesehen.
Problem: SlashCommandGroups funktionieren bei User Installs nicht, kann man das fixxen?
code
hilfe
https://discord.com/channels/1010915072694046794/1235661822284267601 kann wer #helfen
#1235642918258081872 kann wer helfen
Auch nicht in den logs vom Webserver?
Wo
Auf dem Webserver halt
Also auf Ubuntu seh icke nix
Bzw aufm server
Wo
...
Wo auch immer der in deinem Server ist
Meistens bei var/Log/nginx
@tawdry leaf ?
Gucke gleich mal danke
Gibt 2 errors, in der ersten steht worker_connections are not enough while Connecticut to upstream
In der 2. Dasselbe + Ssl do handshake error
????
was mesite du
Bei cogs laden meiste du oder was
nee bei en logs
Wo Speichert Pterodactyl die MySQL Login Daten?
Keine Ergebnisse für en logs gefunden. Meintest du Folgendes?
Ich verstehe deine farge nicht
Ich rede von allgemein ezcord.log
Das ist mir Grade wichtiger
Er hat glaub ich ein Video dazu gemacht
Ich hab vergessen was ich bei Pterodactyl für nen Passwort vergeben hab und hab das Passwort vom Pterodactyl User geändert
Jetzt muss ich in der Pterodactyl Config das ändern
Famits wieder Passt
Von dein oder von @high glen ?
Von meinem
hm da kann ich dir nicht helfen
Uff
Wurde von den Idioten vom Pterodactyl Panel getimeoutet
Für 7 Tage
Es klappt aber jetzt wieder
War ne .env Datei
Dateien die mit . anfangen werden bei meinem FTP Programm Standartmäßig ausgeblendet
kNn ich durch embed.set_image(url="pintereest link" angeben oder ein von einem Browser direkt?
war da ned an pccc
Kennt jemand ne Alternative zu Pterodactyl/Pelican wenn nicht werde ich nen Docker Container aufsetzen
Kennst du 🫵 dich mit Ubuntu aus?
Ich hab den Perfekten Kanal für dich!
#1235642918258081872
Wieso sagt es das ich kein title habe also
File "d:\discord Bots\Exchange Server bot\cogs\ticket.py", line 65, in select_callback
await interaction.response.send_modal(exhange(title="Exchange"))
^^^^^^^^^^^^^^^^^^^^^^^^^
File "d:\discord Bots\Exchange Server bot\cogs\ticket.py", line 77, in init
super().init(
TypeError: Modal.init() missing 1 required keyword-only argument: 'title'
habe es so
await interaction.response.send_modal(exhange(title="Exchange"))```
schickmal wie du das modal erstellst
hab es gefixed
wie gebe ich den channel an wo eine embed hingesndet wird?
habe es mit ``` channel = guild.get_channel(1235946622782013470)
await channel.send(embed=embed)```
also das ist in nem modal bei mir
und dann kommt NameError: name 'guild' is not defined
mit guild = get_guild(id) (so laut den docs)
gehts immernoch ned
Ich brauche jemanden der sich mit PC Hardware auskennt
Ich habe einen alten PC rumliegen habe die Ram sticks rausgenommen und sie passen nicht wieder rein
Und auserdem piept der beim starten einmal (als die sticks drin wahren)
eventuell post machen
Warum löscht er die Mesage nach 10 Sekunden nicht´?
@bot.event
async def on_message(message):
if message.content.startswith("?play"):
try:
if message.author.voice is None:
await message.reply("Du musst in einem Voice-Channel sein, um Musik abzuspielen.", ephemeral=True)
return
voice_client = await message.author.voice.channel.connect()
voice_clients[voice_client.guild.id] = voice_client
except Exception as e:
print(e)
try:
url = message.content.split()[1]
loop = asyncio.get_event_loop()
data = await loop.run_in_executor(None, lambda: ytdl.extract_info(url, download=False))
song = data['url']
player = discord.FFmpegOpusAudio(song, **ffmpeg_options)
if voice_clients[message.guild.id].is_playing():
remaining_time_seconds = data.get('duration', 0)
embed = discord.Embed(
description=f"Es wird bereits ein Lied abgespielt. Bitte warte noch **{format_remaining_time(remaining_time_seconds)}**.",
color=discord.Color.yellow()
)
sent_message = await message.channel.send(embed=embed, content=f"{message.author.mention}")
await asyncio.sleep(10)
await sent_message.delete()
else:
voice_clients[message.guild.id].play(player)
embed = discord.Embed(
description=f"Es wird jetzt der Song '**{data['title']}**' abgespielt.",
color=discord.Color.green()
)
sent_message = await message.channel.send(embed=embed, content=f"{message.author.mention}")
await asyncio.sleep(10)
await sent_message.delete()
except Exception as e:
print(e)
await message.delete()```
Mach doch einfach mit
delete _after=10
Also message.channel.send(embed=embed, delete_after=10)
Natürlich mit dem was du sonst noch dabei brauchst
Das sieht auch iwie nach einem ziemlich alten Code aus 🤷
danke
Wie Geht das das der ephemeral Nach einer zeit weg Geht?
mit py delete_after= deine zeit
kuss
🙂
Messageable.send() got an unexpected keyword argument 'ephemeral'
@bot.event
async def on_message(message):
if message.content.startswith("?play"):
try:
if message.author.voice is None:
await message.reply("Du musst in einem Voice-Channel sein, um Musik abzuspielen.", ephemeral=True, delete_after=5)
return```
Kann wer helfen?
bei so einem alten code...
was ist den zu alt?
@violet pendant
der code
kannst du ihn er neuern?
das kann man nicht command nennen du machst das mit einem event wie wärs mal mit ```py
@bot.command
aber ist doch on_Message
bro macht er mit @bot.command?
Muss ich
huhu hilfi hilfi #1235642918258081872
ja xd haha
Will pennen
main war es aber wollte in in cog
warum machst du nicht ?
interaction.client.get_guild
Ist das dein Code?
Oder aus irgendeinem alten Tutorial?
hab es kompllet anders geamcht
war von Tibue99 music da
Könntest du mir Kurz Helfen?
wie denn? (sag mir nd du hast bot übergeben oder so…)
Kannst du mir helfen?
wie denn?
``` channel = self.get_channel(interaction.guild, '┃💱﹕completed')`
def get_channel(self, guild: discord.Guild, target: str) -> Optional[discord.abc.GuildChannel]:
for channel in guild.channels:
if target in channel.name:
return channel
Jemand hatte es bei code austaush gepostet habe es dann genommen
Habe es bereits behoben bekommen. danke
Kann man den user von einem anderen modal/button in ein anderen modal/button getten, wenn ja wie??
ja du muss einfach dem 2 button ein 2 modal add
was meinst du?
will den button.authot getten jz z.b und in meinem Modal angeben wie mache ich das?
es gibt nicht mal button.authot

gibt auch net
wie
du schreibst author falsch
Und interaction.user ist richtig wie shemm es gesagt hat
Wie macht man soetwas?
ja mit diesem Aktivitäts embed
das dann beim richtigen embed weg geht
Das ist neu von discord
aschso ok
Ja habe es gerade gesehen.
Wie erstellt man solche Timestampts in Pycord o. Ezcord?
falsch geschrieben author
File "/home/ppp/exchangebot/main.py", line 8, in <module>
bot = discord.Bot(command_prefix="!", intents=intents)
AttributeError: module 'discord' has no attribute 'Bot'
wie fixt man das?
Keine Ergebnisse für Timestampts gefunden. Meintest du Folgendes?
@azure jasper hier
danke
Guck in #🔍・pycord-help
Hm
Es gibt auch nur ein converter in ezcord glaub ich
Keine Ergebnisse für timestampts gefunden. Meintest du Folgendes?
@azure jasper und hier ist für py-cord
aber ich möchte ja in .. Minuten oder Sekunden und Stunden.
Ist ein zB in #1027677692730036294 von mir
Wo da
hilllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllfe
#1235642918258081872
embed.add_field(name='Last Reboot', value= discord.utils.format_dt((self.start_time), "R"), inline=True)```
```self.start_time = datetime.now()``
aber dort soll ja stehen z.b in 2 Stunden wie hier
@solid ingot Wie hast du das gemacht?
wo genau ist das?
z.b bei /work
Bruder das ist Cooldown
Bro ich meine aber das dort steht in einer Stunde
das will ich das sind Timestampts aber ich weiß nicht wie da es irgend welche besonderen sind
Ja da du musst das als cootdown einbauen
nah bro
doch
@solid ingot weiß glaube was ich meine

braucht mal da nicht einfach nur einen timestamp der in die Zukunft berechnet ist… und schon wird die Differenz zu der Zeit als „coolup“ angezeigt… 🤷♂️ ist jetzt nur ne Vermutung und wie ich es angehen bzw. testen würde 🤷♂️
@ruby sparrow discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: OperationalError: no such table: ticket
dein code bekommt es nicht hin das Table zu erstellen
warum auch immer
ja
eigendlich sollte ews aber gehen
"""CREATE TABLE IF NOT EXISTS ticket(
server_id INTEGER PRIMARY KEY,
category_id INTEGER DEFAULT 0,
teamrole_id INTEGER DEFAULT 0,
logs_channel_id INTEGER DEFAULT 0
)"""```
hmh
warum auch immer
Zeig mal code
der code sagt doch wen nicht exxestiert erstelle table
denn kann ich dir sagen was für db benutzt du
Bro ich muss wissen was für ein Part ist der bug ist
Eigentlich ist der Part 2 komplett gefixt da kann keine Fehler mit die Datenbank
@vast cradle
Deswegen schick mir mal den Code welche du benutzt
es geht um setup
im ordner tickets
den code
Hast du auch ein DB Ordner
jep
Zeig
die datei hat er auch erstellt
lad dir denn die db von github runter
sollte es nicht selber den table erstellen?
so kenne ich es von normalen datenbanken
@vast cradle
Ich hab nen Bestätigen Button, der ne neue Nachricht sendet wenn man ihn drückt
Wie lösche ich die Nachricht mit dem Bestätigen-Button, wenn der button gedrückt wird?
discord.Interaction
discord.Interaction.app_permissions
discord.Interaction.application_id
discord.Interaction.cached_channel
discord.Interaction.channel
discord.Interaction.channel_id
discord.Interaction.client
discord.Interaction.custom_id
discord.Interaction.data
discord.Interaction.delete_original_message
discord.Interaction.delete_original_response
discord.Interaction.edit
discord.Interaction.edit_original_message
discord.Interaction.edit_original_response
discord.Interaction.followup
discord.Interaction.guild
discord.Interaction.guild_id
discord.Interaction.guild_locale
discord.Interaction.id
discord.Interaction.is_command
🙂
sus
@cloud cedar
was los
Oha ghost ping
hab dich ausversehen gepingt nico, sry
wollte eigtl ihn pingen xd
hab auf deine frage geantwortet
Kannst du vllt helfen später?
also einfach interaction.delete_original_message ins button callback?
wobei denn
Ich sag es dir später
ja, wenn du aber noch ne msg sendest darfst du das followup nd vergessen
ok
waaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas
och manno ich bin zu blöd :/
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot
PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discord.gg/pycord
Discord Developer Portal ► https://discord...
schau mal hier
Hey hab das so gemacht aber das löscht nicht die nachricht mit dem Button, sondern die nachricht, die durchs drücken des buttons gesendet wird :(
@discord.ui.button(label = "BESTÄTIGEN", style=discord.ButtonStyle.danger, emoji="🗑")
async def button_callbackdelete(self, button, interaction):
await interaction.response.send_message("Wird gelöscht... :/", ephemeral = True)
await db.remove_server(interaction.guild.id)
await interaction.delete_original_message()
mach ich...
mach ich doch >:(
und wenn du original_response machst
bin verwirrt
moment bitte
ok is beides das gleiche, musst also die id der msg bekommen und dann die msg getten und löschen
kannst du mir das embed schicken?
meinst du wie links?
musst eben den abstand definieren das dann immer der bot da dann den nächsten text erst schreibt
würde eher sagen, das sind 4 embed felder mit inline=True (oder wars false? idk)
und da is dann halt immer nen \n nach dem wert
mit name und value 🤔
das würde nächste zeile bedeuten 😅
name kann man eif "" machen ig, value is ja dann die liste mit den chatters etc.
ja, eben…
joa
er/sie hat ja nd den code vom embed…
was möchtest du den Formatieren?
achso
ja mathe
warte ich mach schnell und shcick dir dann
jo wäre nice danke
Na den blauen embed wie den pinken also das die schon in einer reihe sind
Was soll Formatiert werden
die abstände
Das alles schon untereinander steht
Es ist doch alles untereinander
ich mach schon alles gut
Oky
Ja das schon aber so meine ich das nicht sondern das eine hat paar sachen paar cm weiter drüben ist als das andere
fertig
spaces = " "
len_spaces = len(spaces)
level = "3033"
len_level = len(level)
print(str(len_level) + " " + str(len_spaces))
spaceee = len_spaces - len_level
spacee = ''.join([' ' for i in range(spaceee)])
print(str(level) + spacee + "|")
Kannst du was damit anfangen?
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| https://voided.host/sjkpsVvsGecXAbyx
das ist output
@hard pivot
jo danke
👍
außerdem sollte man nicht nach code fragen, dafür gibt es #1027677692730036294
wollte ja nur das embed ist nicht code
nen embed is auch code…
in meinen Profil ist ein githup link wenn du in cogs gehst dann in level system und bisschen runterscrolst kommst du zum leaderbourd embed
Kann man das auch irgend wie als bot machen? das der bot die umfrage erstellt
okk
Habe jetzt schon seit längerem diesen Fehler:
Traceback (most recent call last):
File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 400, in _run_event
await coro(*args, **kwargs)
File "/home/container/.local/lib/python3.11/site-packages/discord/bot.py", line 1178, in on_connect
await self.sync_commands()
File "/home/container/.local/lib/python3.11/site-packages/discord/bot.py", line 754, in sync_commands
app_cmds = await self.register_commands(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/container/.local/lib/python3.11/site-packages/discord/bot.py", line 531, in register_commands
prefetched_commands = await self._bot.http.get_guild_commands(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/container/.local/lib/python3.11/site-packages/discord/http.py", line 367, in request
raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access``` und weiß nicht woher er kommt.
schick mal die main.py
moment
@restive herald ```py
import logging
import os
from dotenv import load_dotenv
from colorama import Fore
import discord
import ezcord
from ezcord import log
import asyncio
load_dotenv() # Laden Sie die .env-Datei zuerst, um auf die Umgebungsvariablen zugreifen zu können
bot = ezcord.Bot(discord.Intents.all(), error_webhook_url=os.getenv("WEBHOOK_URL"), language="de")
bot.add_help_command()
async def get_guild_count():
return len(bot.guilds)
bot.add_status_changer(
[
"Ist auf {guild_count} Servern:tada:",
"Lade mich jetzt ein!:white_check_mark:",
"Join meinem Support Server:slight_smile:"
],
interval=30,
guild_count=get_guild_count,
)
if name == "main":
# Load all cogs with a custom log style
bot.load_cogs("cogs", log=ezcord.CogLog.default, log_color="green")
bot.run(os.getenv("TOKEN"))```
eif mal kurz die msg edited
kommt er bei einem bestimmten command
?
beim start kommt das immer
hast du iwo debug guilds festgelegt?
muss gucken
Strg F hilft 🙂
?
damit kannst du etwas schneller suchen 😄
ah okay
ne habe ich nd
@restive herald
auch nd being nen cmd oder so?
ne glaube nd
Keine Ergebnisse für interaction.response.edit gefunden. Meintest du Folgendes?
discord.Interaction.edit
discord.Interaction.edit_original_message
discord.Interaction.edit_original_response
@azure jasper was suchst denn
Habs.
ok
Keine Ergebnisse für guild.textchannel gefunden. Meintest du Folgendes?
Brauche Hilfe
Okay.
Nö
Bie was Hilfe
kann mir wer dort helfen
:0
Hallo
hallo?
Hey
Ich bekomme bei meinem Dashboard Teil nen Keyboard interupt error
Hat jemand ne Idee warum?
Also immer beim Stoppen des Bots
Ist eigentlich nichts aus deinem Code, passiert bei einigen python codes/libs wenn man mit ctrl+c das programm beendet
und das führen zum teil auch die IDE´s aus wenn man Stopp button drückt oder sowas
hey leute ich hab eine frage zu db
wie kann ich name aus er db löschen hier ist code py @ticket.command() async def remove(self, ctx, name: Option(str, autocomplete=basic_autocomplete(get_ticket))): await ctx.defer(ephemeral=True) ticket_message = await db.get_message(ctx.guild.id) if ticket_message: try: message = await ctx.channel.fetch_message(ticket_message) for option in t_options: if option.label == name: t_options.remove(option) view = CreateTicketSelect(t_options) await message.edit(view=view) await ctx.respond("The option was removed successfully.", ephemeral=True) except Exception as e: await ctx.respond(f"An error occurred: {e}", ephemeral=True) else: await ctx.respond("The ticket message was not found. Please set it up First!", ephemeral=True
heyho minecraft freunde :D
was fürn event krieg ich wenn der bot auf einen Server eingeladen wird?
- wie gette ich ne kategorie?
Fürs joinen auf ein Guild: on_guild_join(guild)
ah nice danke
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot
PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discord.gg/pycord
Discord Developer Portal ► https://discord...
danke
@solid ingot geht das auch mit dnd? das er dnd ist oder geht nur online?
geht auch mit dnd
wie geht das?
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...
activity1 = discord.CustomActivity(type=discord.ActivityType.dnd, name="Test")
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: type object 'ActivityType' has no attribute 'dnd'
async def update_activity(bot):
while True:
activity1 = discord.CustomActivity(type=discord.ActivityType.dnd, name="Text1")
activity2 = discord.CustomActivity(type=discord.ActivityType.dnd, name="Text2")
await bot.change_presence(activity=activity1)
await asyncio.sleep(10)
await bot.change_presence(activity=activity2)
await asyncio.sleep(10)
bot.loop.create_task(update_activity(bot))```
du kannst du auch ezcord machen

hm
vanity_invite = await member.guild.fetch_vanity_url()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Guild' object has no attribute 'fetch_vanity_url'
try:
vanity_invite = await member.guild.fetch_vanity_url()
server_info += f"\n\n[Server Einladung]({vanity_invite})"
except discord.NotFound:
print("Vanity Invite nicht verfügbar.")
server_info += f"\n\n[Server Einladung]({await self.bot.generate_invite()})"
except discord.Forbidden:
print("Zugriff auf Vanity Invite verweigert.")
server_info += f"\n\n[Server Einladung]({await self.bot.generate_invite()})"
except discord.HTTPException:
print("Fehler beim Abrufen des Vanity Invites.")
server_info += f"\n\n[Server Einladung]({await self.bot.generate_invite()})"```
Keine Ergebnisse für fetch_vanity_url gefunden. Meintest du Folgendes?
Mach mal .url
wie kann ich die guild id in so einem autocomplette wie das von templates bekommen
Zeig mal deine autocompette
async def templates(ctx: discord.AutocompleteContext):
db = await aiosqlite.connect('data/vc_settings.db')
async with db.cursor() as cursor:
await cursor.execute("SELECT * FROM vc_templates WHERE guild_id = ?", (,))
data = await cursor.fetchall()
await db.close()
return [template[2] for template in data] + ["all"]
async def region_finder(ctx: discord.AutocompleteContext):
return [region for region in discord.VoiceRegion] + ["auto"]
class vc_template_edit_rg(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command(name="vc_template_edit_region", description="Edit the region of a voice channel template")
async def vc_template_edit_rg(self, ctx: discord.ApplicationContext, template_name: Option(str, "The name of the template", autocomplete=templates), region: Option(str, "The region of the voice channel", autocomplete=region_finder)):
so das ist der code davon#
ich hab es so
@old ore
ich schau mal ob das so geht
hm gute frage
kannst du vllt helfen ?
bei was
@vast cradle der error beim dashboard reloadn is nd schlimm; kannst ignorieren ig
😮
musst du doch wissen 😅
Warum ist da keine Description?
@slash_command(name="play", description="Spielt Musik ab")
async def play_music(self, ctx, url: str = "Gebe eine YouTube URL an"):```
angezeigt wird er?
mach mal in discord strg + r
und wie mache ich das das er automatisch alle guild debugt? ich habe multiguild der code geht irgend wie nd
import discord, ezcord, dotenv, os, asyncio
intents = discord.Intents.all()
intents.voice_states = True
dotenv.load_dotenv()
bot = ezcord.Bot(
intents=intents,
language="de",
ready_event=ezcord.ReadyEvent.box_colorful
)
guild_ids = [guild.id for guild in bot.guilds]
print(guild_ids)
bot = ezcord.Bot(
intents=intents,
debug_guilds=guild_ids,
language="de",
ready_event=ezcord.ReadyEvent.box_colorful,
)
token = str(os.getenv("TOKEN"))
if __name__ == "__main__":
bot.load_cogs(subdirectories=True)
bot.run(token)```
verstehe nicht ganz was du meinst
Ja das die ganzen commands automatisch übernommen werden das geht ja mit dem debug
was geht nicht ?
oh xD

Habe es geändert zu play aber es dauert jetzt fast 10minuten und mit debug guilds geht es sofort

hast du strg + r gemacht?
nein aber ich möchte ja durch debugguilds es foort geht
oder strg + r
warum zeig es nur eins an aber in db ist 2 code ist hier py @ticket.command() async def remove(self, ctx, name: Option(str, autocomplete=basic_autocomplete(get_ticket))): await ctx.defer(ephemeral=True) ticket_message = await db.get_message(ctx.guild.id) if ticket_message: try: message = await ctx.channel.fetch_message(ticket_message) await db.remove_name(ctx.guild.id, name) for option in t_options: if option.label == name: t_options.remove(option) view = CreateTicketSelect(t_options) await message.edit(view=view) await ctx.respond("The option was removed successfully.", ephemeral=True) except Exception as e: await ctx.respond(f"An error occurred: {e}", ephemeral=True) else: await ctx.respond("The ticket message was not found. Please set it up First!", ephemeral=True) und Autocomplete code ist hier async def get_ticket(ctx: discord.AutocompleteContext): try: active_options = await db.get_name(ctx.interaction.guild.id) if active_options: ticket_options = [discord.OptionChoice(name=active_options, value=active_options)] return ticket_options else: print("Keine Optionen aus der Datenbank abgerufen.") return [] except Exception as e: print(f"Fehler beim Abrufen der Ticket-Optionen: {e}") return []
Hey ich bin beim Pterodactyl video und diese pfeile drehen sich immer noch nachdem ich den token eingegeben habe und mit systemctl start wings es gestartet habe
und in termius kam nach dem enter kein fehler
hast du auch die config richtig vom node`?
welche config meinst du genau
ich mach nochmal neu und check alles doppelt
und ich verbind mal meine domains mit cloudflare anstatt von meinen hoster
und schau bei /var/log/
Ok
ok es geht nicht und wo soll ich das eintragen "ls /var/log/pterodactyl*"
@vast cradle
ich glaub weiß das problem weil node ist nicht registiert da es ja node.name.de sein muss
und ich hab shezz-node.de
Ich mache es so das ich 2 Subdomains Vergebe
will ich jetzt auch :)
ja mach ich grad
muss es nicht umbedingt
du könntest auch deine 2 domains benutzen
Braucht jemand ad Blue
Ist halt nur bisschen weird für alles ne eigene domain zu kaufen
Meinst du etwa Unbedingt

Rich wie Nikos
ne ne
der typ hat sich für die node und fürs panel ne eigene domain gekauft
der ist anscheinend rich

Das ist einf nur dumm
Oder dumm 

Sagen wir unerfahren 
er kennt sich nicht so aus und wusste nicht was eine subdomain ist
unerfahren trifft es besser
Wenn man eine Domain hat und die Werbung weg haben mag Subt man seine eigene Domain
wusste ich halt net
xd
also bin jetzt wieder beim drehen :)
wenn man die Tickets setup-command durchgeführt dann werden alle options von jedes Server angezeigt aber ich weiß auch nicht warum kannn wer sagen kann ich es beheben @ticket.command(description="Setup the ticket system")
@option("category", description="Select a category", type=discord.CategoryChannel)
@option("ticket_channel", description="Select a ticket_channel", type=discord.TextChannel)
@option("logs", description="Select a logs Channel", type=discord.TextChannel)
async def setup(self, ctx, ticket_channel: discord.TextChannel, category: discord.CategoryChannel,
logs: discord.TextChannel, hexcode: Option(str)):
await ctx.defer(ephemeral=True)
hex_string = f"0x{hexcode}"
color = int(hex_string, 16)
guild_id = ctx.guild.id
category_id = category.id
logs_channel_id = logs.id
channel_id = ticket_channel.id
await db.set_channel(guild_id, channel_id)
await db.set_logs_channel(guild_id, logs_channel_id)
await db.set_category(guild_id, category_id)
category_name = category.name
logs_channel_name = logs.name
channel_name = ticket_channel.name
embed = discord.Embed(
title="🎫 Ticket System Setup",
description="Welcome to the ticket system setup. Follow the instructions below to configure your ticket system.",
color=discord.Color.dark_green()
)
embed.add_field(name="🔘 Open Tickets",
value=f"``{category_name}``",
inline=False)
embed.add_field(name="🎫 Ticket Channel ", value=f"``{channel_name}``", inline=False)
embed.add_field(name="📜 Log Channel", value=f"``{logs_channel_name}``", inline=False)
embed.add_field(name="Great! Now you can select roles that should have access to tickets.",
value="Click on Continue afterward.", inline=False)
setup_message = await ctx.send(embed=embed,
view=TicketRole(channel_name, logs_channel_name, category_name))
channel_id = await db.get_channel(guild_id)
if channel_id:
if ticket_channel:
embed = discord.Embed(
title="Ticket System",
description="Choose a category to contact support.",
color=color
)
message = await ticket_channel.send(embed=embed, view=CreateTicketSelect(t_options))
await db.set_message(guild_id, message.id)
else:
print(f"Channel with ID {channel_id} not found.")
else:
print(f"No channel ID found for server {guild_id}.")
await ctx.respond("The setup was completed successfully", ephemeral=True, delete_after=10)
print(f"Setting up ticket system for guild: {guild_id}")``` hier ist meine db ```py
async def add_option(self, guild_id, option_name):
await self.execute(
"INSERT INTO ticket_options (guild_id, option_name) VALUES (?, ?)",
(guild_id, option_name)
)
async def get_options(self, guild_id):
options = await self.all("SELECT option_name FROM ticket_options WHERE guild_id = ?", (guild_id,))
print(f"Options for guild {guild_id}: {options}")
return options
async def remove_option(self, guild_id, option_name):
await self.execute("DELETE FROM ticket_options WHERE guild_id = ? AND option_name = ?", (guild_id, option_name))```
wenn man die Tickets setup-command durchgeführt dann werden alle options von jedes Server angezeigt aber ich weiß auch nicht warum kannn wer sagen kann wie ich es beheben kann
lass #1237069779966103713
warum printtet es mir nur dieses <generator object get_channel at 0x000001DDFB77FCA0>
https://scrapetube.readthedocs.io/en/latest/#scrapetube.get_channel → Generator[dict, None, None]
pls help
so siehtt es ja auch aus und auch die channel id beim get_channel ist auch richtig
for video in videos:
print(video['videoId'])
Wenn du jede VideoId z.b. Printen möchtest geht das glaube ich so. (referenz)
Nur get_channel gibt dir nur nen objekt mit den ganzen Values
wie hier schon gezeigt (→ Generator[dict, None, None])
ja muss das so sein oder nicht?
so kannst du die Videos dann printen
bzw die ids
ich hab keine ahnung was da noch alles mit übergeben wird
könntest ja versuchen
for video in videos:
print(video)
Dann sollte er immer alle daten eines Videos ausgeben
aber ich weiß nicht genau ob das so funktioniert hab noch nie mit scrapetube gearbeitet
ne habs schon probiertt er bekommt iregtnwie keinne daten
was kommt denn?
<generator object get_channel at 0x000001DDFB77FCA0>
das kommt
dann versuch halt das
hab ich schon probiert aber diese variable videos gibtt denke ich mal nichts zurück
ja doch
sie gibt dir ja das objekt zurück
und in dem objekt sind dann ja eig die values
aber idk bei scrapetube
soll ja auch nicht videos sein sondern videoID
nikos kannst du vllt mir helfen
warte
Usage: https://github.com/dermasmid/scrapetube?tab=readme-ov-file#usage
Docs: https://scrapetube.readthedocs.io/en/latest/
Sollte eigentlich so mit der VideoID funktionieren. Wenn nichts kommt ist der Channel wahrscheinlich Falsch oder hat einfach keine Videos
jz kommt son error:
Unhandled exception in internal background task 'check_youtube'.
Traceback (most recent call last):
File "C:\Python310\lib\site-packages\discord\ext\tasks\__init__.py", line 169, in _loop
await self.coro(*args, **kwargs)
File "a:\Coding\Astro_bot\systems\youtube_notify_task.py", line 53, in check_youtube
for video in videos:
File "C:\Python310\lib\site-packages\scrapetube\scrapetube.py", line 50, in get_channel
for video in videos:
File "C:\Python310\lib\site-packages\scrapetube\scrapetube.py", line 150, in get_videos
client = json.loads(
File "C:\Python310\lib\json\__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "C:\Python310\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python310\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)```
denk doch grade mal selber drüber nach, du machst wohl an einer stelle eine abfrage ohne eine spezifische guild_id an zu geben. Anders könnte ich mir das nicht erklären. Hab jetzt aber grade auch echt nicht so lust mir deinen ganzen Code an zu schauen
mache grade noch was anderes nebenbei
muss grade wieder weg aer da expected er wohl was was er nicht bekommt in Zeile 53 (for video in videos) i guess das videos none ist solltest du vielleicht vorher mal checken oder so idk
Perfekt @vast cradle 
ja manchmal erledigt es sich von selbst
das war etwas dusseligkeit von mir

Pthon ist soo bescheuert in manchen momentewn
ganz unten in database.py steht db = DashboardDB()
aber neeeeein
ich wkanns nicht importiere ich kenne es nicht
bin ja leider zu doof dafür
uff wieso auch immer er diese kleine Variable nicht findet
Einfach kein Python benutzen

Pyhon ist nur die einzige Programmiersprche die ich soweit Behersche
das da was sinnvolles rauskommt
js: console.log()
wenn ich was versuche in ner anderen Sprache zu entwickeln kommt alles bei raus nur nicht das was soll
Naja, ist auch nur mal einfach was neues lernen
C soll ganz schön sein 🫣
ich hab mir ein mal c angeschaut
und habs dann schnell wieder weckgeklickt
bloß net
Die ganzen C sprachen sind super 
wie kann ich die options übersetzen im yaml Datei?
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Links aus diesem Video
EzCord Docs ► https://ezcord.readthedocs.io/en/latest/examples/localization.html
Im Pycord Guide findet ihr auch eine kleine Anleitung für Lokalisierung, allerdings sieht das etwas sperrig und hässlich im Code aus, deswegen schauen wir uns heute eine schickere Alternati...
weiß wer wie ich mit scrapetube das tthumbnail von einem yt video bekomme weil wen ich nur den yt link dortt rein mache passiert nichts
Was passiert, wenn du den yt-link mal direkt als Message nur in den Channel sendest… das mal getestet?
ja dann kommt es schon nur als vorschau img ned
aber des möchte ich ja ned
Wenn ich die Dokumentation richtig in Erinnerung habe, bekommst du aber kein Image, da müsstest du wahrscheinlich mit der API arbeiten.
Weiß ich aber nicht 100-prozentig 🤷♂️
ok ich schau mal nach
Für mich wäre es aber auch so, da ich es auch lieber wie mit meinem twitch-bot selber mit bestimmten Daten aufbauen wollen würde…
Darum bin ich noch nicht an yt dran…
Aber da ist halt die Sache mit den Tokenverbrauch über die yt-api… naja
Wie installieren ich node.js auf meinen VPS?
Wie pyhton
oka
Node.js is an open-source platform that helps JavaScript users execute their code outside a web browser. It is a free solution that runs well on almost any operating system. In terms of hosting, VPS servers provide a perfect environment to integrate Node.js apps with developer tools and APIs. Let's see…


