#Allgemeine Hilfe
1 messages · Page 56 of 1
was war der fehler?
hier war er if name == "main":
Ok
Wie geht so was
DB und jede 7 Tage ein Select und Differenz errechnen und neuer Insert
Ok
Ja, Timo hat ein Video zu Checks gemacht, aber nicht dazu.
Meine Frage ist, wenn ich vor nem Command noch ein @commands.dm_only() einfüge, wie fange ich den Error dann ab?
In ner Function? Ein Listener? Hat jemand ein Beispielcodeschnipsel vielleicht?
Das hier müsste die Exeption sein die kommt wenn es nicht in einer dm ist, ich glaube das du das dann einfach in einem error handler abfangen kannst aber bin mir nicht genau sicher. Probier es am besten einfach mal aus weil ich bin grade auch nicht Zuhause und kann es nicht testen
wie kann ich ein timestmap machen
wo der anzeigt wann der user sein account erstellt hat
user.created_at() müsste das sein
py f"Account erstellt: {ezcord.dc_timestamp(int(ezcord.convert_to_seconds(str(member.created_at()))), style='R')} \n\n"
da bekommst du ein datetime.datetime Object.
Mit user.created_at().timestamp() bekommst du ein Timestamp, kannst den aber nicht als Footer-Timestamp nutzen. Wenn du den in ein Embed packen willst, musst du z.B.
f'<t:{int(user.created_at().timestamp())}:R>'
``` machen ;)
well, mir gehts eig. nur darum was ich darüber schreibe xD
Also z.B.
@commands.Cog.listener()
asnyc def ???(self, ???)
aber das habe ich in den beschreibung
des embeds
dauert zu lang. Bzw. ist ineffizient. Einfach direkt vom user-Object nutzen.
Wie meinst du?
oder einfach das 
Weil is kürzer?
Naja, wie muss der Funktionskopf z.B. aussehen?
Und muss ich noch einen listener machen dafür?
Achso
f"Account erstellt: {ezcord.dc_timestamp(int(ezcord.convert_to_seconds(str(member.created_at()))), style='R')} \n\n"```
aber das ist ja in der description
aber wenn ich das mache wird der timestamp wo steht wann der user auf den server gekommen ist
Mach einfach statt CommandOnCooldown das andere von eben
PrivateMessageOnly
Ah okay 👍
Good to know
Das wäre member.joined_at() und dann immer noch kürzer 😂
Weil member.created_at() müsste das gleiche wie user.created_at() sein.
Also halt normaler error handler 
Joa, hab noch net wirklich damit gearbeitet 😅
geht aber nicht
? Moment
Timo hat glaube mal ein Video dazu gemacht
discord.Role.created_at
discord.User.created_at
discord.Emoji.created_at
discord.Guild.created_at
discord.Invite.created_at
discord.Member.created_at
discord.Object.created_at
discord.Thread.created_at
discord.Widget.created_at
discord.Message.created_at
discord.Spotify.created_at
discord.Sticker.created_at
discord.Webhook.created_at
discord.Template.created_at
discord.DMChannel.created_at
discord.ClientUser.created_at
discord.SyncWebhook.created_at
discord.TextChannel.created_at
discord.BaseActivity.created_at
discord.ForumChannel.created_at
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...
@urban glen Vergleiche mal pls
Models are classes that are received from Discord and are not meant to be created by the user of the library. Attributes key, url. Methods def is_animated, async read, def replace, async save, def ...
weiß jmd wie man ne gute formelberechnung bei timos lvling macht?
meine wie mans integriert bin gerade zu dumm für xd
wie meinst du das genau?
ähh meine formel fürs level berechnen
und halt ob ich das bei der get_level methode rienpacken muss oder beim onmessage
Code:
class hommodal2(discord.ui.Modal):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.add_item(discord.ui.InputText(label="Aufgaben", placeholder="Deine Aufgaben als Head of Moderation", style=discord.InputTextStyle.long))
self.add_item(discord.ui.InputText(label="Stärken", style=discord.InputTextStyle.long))
self.add_item(discord.ui.InputText(label="Schwächen", style=discord.InputTextStyle.long))
self.add_item(discord.ui.InputText(label="Warum du?", placeholder="Wie lange bist du schon hier", style=discord.InputTextStyle.short))
async def callback(self, interaction: discord.Interaction):
values = ""
for i in self.children:
values = values + i
await interaction.response.send_message(f"{values}", ephemeral=True, delete_after=10)
class hommodal1(discord.ui.Modal):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.add_item(discord.ui.InputText(label="Name", style=discord.InputTextStyle.short))
self.add_item(discord.ui.InputText(label="Alter", style=discord.InputTextStyle.short))
self.add_item(discord.ui.InputText(label="Erfahrung", placeholder="Erfahrung auf diesem Server", style=discord.InputTextStyle.long))
self.add_item(discord.ui.InputText(label="Zeitraum", placeholder="Wie lange bist du schon hier", style=discord.InputTextStyle.short))
self.add_item(discord.ui.InputText(label="Aktivität:", placeholder="Deine Aktivität von 1-10", style=discord.InputTextStyle.short))
async def callback(self, interaction: discord.Interaction):
modal = hommodal2(title="Head of Moderation")
await interaction.response.send_modal(modal)
Error:
Ignoring exception in modal <__main__.hommodal1 object at 0x000001DE218E3210>:
Traceback (most recent call last):
File "C:\Users\fabian2\venv\Lib\site-packages\discord\ui\modal.py", line 341, in dispatch
await value.callback(interaction)
File "C:\Users\fabian2\PycharmProjects\lateammanager\main.py", line 40, in callback
await interaction.response.send_modal(modal)
File "C:\Users\fabian2\venv\Lib\site-packages\discord\interactions.py", line 1056, in send_modal
await self._locked_response(
File "C:\Users\fabian2\venv\Lib\site-packages\discord\interactions.py", line 1090, in _locked_response
await coro
File "C:\Users\fabian2\venv\Lib\site-packages\discord\webhook\async_.py", line 221, in request
raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In type: Value must be one of {4, 5, 6, 7, 10}.
Wie kann ich auf ein Modal ein weiteres senden ?
gar nicht, du müsstest dazwischen zB einen Button einbauen, mit dem man das nächste modal dann aufrufen kann
Bruh
okay, danke
class RPSButtons(discord.ui.View):
def __init__(self, game_mode, second_user, first_user):
self.game_mode = game_mode
self.second_user = second_user
self.first_user = first_user
super().__init__(timeout=None)
check_useres = {"first_user":self.first_user, "second_user":self.second_user}
so oder wie?
zum Beispiel, probier es Mal aus
Hier findest du das Main-Datei Template 😩
bruh
Man bekommt die Bug Hunter Rolle indem du einen Bug reportest @raven lotus
Mach Ticket auf und Frag ob das nh Bug ist
Aber wie ich Timo kenne, ist das nur ein "Feature" xD
XD
Also: Das ist aus Spamschutz da
oder so
was ist eig der Unterschied zwischen discord.py und Py-cord?
Sind zwei Discord API wrapper
Du kannst mit beiden das selbe machen, aber manche Sachen sind anders
Und pycord basiert auf discord.py, also ist discord.py sozusagen das Original lmao
Was besser ist liegt im Auge des Betrachters
Ich bevorzuge discord.py
Kommt drauf an für was man es benutzt ist geteilt bei einen ist das besser bzw einfacher beim anderen das
Glaube Timo weiß das schon
Also das eine ist der command cooldown und das andere ist die Zeit wann du den wieder benutzen darfst 😂
Also man hat 2 cooldowns 😂
Cmd cooldown ist da aber eig unnötig
Hi, kennt jemand eine gute Disxord Trello Applikation die die Karten über Webhooks sendet ?
probier's hiermit https://trello.com/power-ups/6470ef992836a95370bbced8
Organize anything, together. Trello is a collaboration tool that organizes your projects into boards. In one glance, know what's being worked on, who's working on what, and where something is in a process.
Das geht leider über einen Bit das habe ich schon ausprobiert
wie kann ich 2 view classen in einer packen ?
eine Nachricht kann nur einen View haben
ja aber möchte 2 dropdowns haben in der nachicht
dann brauchst du 2 dropdowns in einer View klasse
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...
Glaube ich
@viscid lake du kannst das auch mit /codingkeks machen
Wusste nicht wie das Video heißt
Ok
Halloo... habe eine frage... Ich habe einen Timeout Command Gecodet aber der sagt dann immer das er Keine rechte hat obwohl er admin perms hat.. Könnte vl jmd mal drüber schauen ob das so passt?
@admin.command(description="⏱️ × Timeoute einen User")
@discord.default_permissions(administrator=True, moderate_members=True)
async def timeout(
self,
ctx,
member: Option(discord.Member, description="👥 × Wähle einen User!"),
time: Option(int, description="⏱️ × Länge des Timeouts aus! (In Minuten)"),
reason: Option(str, default=None, description="📝 × Grund für den Timeout!")
):
try:
if reason is None:
reason = "Kein Grund angegeben!"
duration = timedelta(minutes=time)
await member.timeout_for(reason=reason, duration=duration)
embed = discord.Embed(
title="⏱️ × ERFOLGREICH",
description=f"Der user {member.mention} wurde erfolgreich getimeoutet!"
)
await ctx.respond(embed=embed)
except discord.Forbidden:
embed = discord.Embed(
title="📛 × Keine Rechte",
description="Ich habe keine Berechtigung, um diesen Member zu timeouten!"
)
await ctx.respond(embed=embed, ephemeral=True)
@admin.command(description=":stopwatch: × Timeoute einen User")
@discord.has_permissions(administrator=True, moderate_members=True)
async def timeout(
self,
ctx,
member: Option(discord.Member, description=":busts_in_silhouette: × Wähle einen User!"),
time: Option(int, description=":stopwatch: × Länge des Timeouts aus! (In Minuten)"),
reason: Option(str, default=None, description=":pencil: × Grund für den Timeout!")
):
try:
if reason is None:
reason = "Kein Grund angegeben!"
duration = timedelta(minutes=time)
await member.timeout_for(reason=reason, duration=duration)
embed = discord.Embed(
title=":stopwatch: × ERFOLGREICH",
description=f"Der user {member.mention} wurde erfolgreich getimeoutet!"
)
await ctx.respond(embed=embed)
except discord.Forbidden:
embed = discord.Embed(
title=":name_badge: × Keine Rechte",
description="Ich habe keine Berechtigung, um diesen Member zu timeouten!"
)
await ctx.respond(embed=embed, ephemeral=True)
@kind depot
oke danke
Bitte
wie kann ich machen das es nur voice channel angezeigt werden
@discord.ui.channel_select(
min_values=1,
max_values=1,
placeholder="Wähle den Voice Channel aus",
disabled=False,
)
async def channel_callback(self, select, interaction):
selected_channel = select.values[0]
if selected_channel.type == discord.ChannelType.voice:
server_id = interaction.guild.id
async with aiosqlite.connect(self.DB) as db:
await db.execute(
"INSERT OR REPLACE INTO servers_channels (server_id, voice_channel_id) VALUES (?, ?)",
(server_id, selected_channel.id)
)
await db.commit()
await interaction.response.send_message("Voice Channel ausgewählt!", ephemeral=True)
else:
await interaction.response.send_message("Bitte wähle einen Voice-Channel aus.", ephemeral=True)```
@discord.ui.channel_select(
min_values=1,
max_values=1,
placeholder="Wähle den Voice Channel aus",
disabled=False,
check=lambda channel: channel.type == discord.ChannelType.voice
)
async def channel_callback(self, select, interaction):
selected_channel = select.values[0]
server_id = interaction.guild.id
async with aiosqlite.connect(self.DB) as db:
await db.execute(
"INSERT OR REPLACE INTO servers_channels (server_id, voice_channel_id) VALUES (?, ?)",
(server_id, selected_channel.id)
)
await db.commit()
await interaction.response.send_message("Voice Channel ausgewählt!", ephemeral=True)
@fierce dove es bringt nix, wenn du nur fertige codes schickst, du solltest lieber erklären wie er es machen könnte
Ok
ja aber
dann kommt dieser fehlercode:
Traceback (most recent call last):
File "C:\Users\melvi\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 774, in _load_from_module_spec
spec.loader.exec_module(lib) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "C:\Users\melvi\PycharmProjects\mellensaroleplay\cogs\Datenbank -- Voice Channel Log\voice-log.py", line 64, in <module>
class Dropdown(discord.ui.View):
File "C:\Users\melvi\PycharmProjects\mellensaroleplay\cogs\Datenbank -- Voice Channel Log\voice-log.py", line 69, in Dropdown
@discord.ui.channel_select(
^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: channel_select() got an unexpected keyword argument 'check'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\melvi\PycharmProjects\mellensaroleplay\main.py", line 28, in <module>
bot.load_cogs("cogs", subdirectories=True)
File "C:\Users\melvi\AppData\Local\Programs\Python\Python311\Lib\site-packages\ezcord\bot.py", line 231, in load_cogs
self.load_extension(f"{'.'.join(path.parts)}.{dirname}.{name}")
File "C:\Users\melvi\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 910, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\melvi\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 777, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.Datenbank -- Voice Channel Log.voice-log' raised an error: TypeError: channel_select() got an unexpected keyword argument 'check'
Process finished with exit code 1
Und das is falsch
Ok
Probier channel_types=[nextcord.ChannelType.text],
So hab ich es bei meinem alten bot
ok wait
@urban glen also änder von "text" zu "voice"
ok aber da ist
nextcord
rot
Ja mach zu discord
Ich sag ja is von meinem alten bot, der war in nextcord, ist in py-cord eig genauso
vielen dank aber das: Probier channel_types=[nextcord.ChannelType.text],
hätte auch gereicht
Wie meinst du das?
na weil du noch das gesendet hat
Asso, ja halt von den Doc's + die verbesserte zeile
weiss einer wie kommt so bild auf google
das hast du schonmal gefragt
und die antwort ist immernoch (Selbermachen oder Pinterest)
sry hab nicht mehr mit kommen
Muss ich etwas Besonderes angeben oder nicht?
was du halt willst (beschrieben)
ichIch kann keine Schlümpfe mit Computern finden
dann schau genauer oder so
dann mach dir eins selber
was willst du von mir das ist allgemeine hilfe
von dir doch nichts hab ich für @ruby sparrow gemacht
Er hat was geschrieben hat es aber wieder gelöscht
ja
was denn 
du müssen Spotify eingeschaltet und auf Discord aktiviert haben, damit Sie mit Spotify verknüpft sind
Hab ich@ruby sparrow
zeig mal code
Hast du member intents aktiviert?
Habe
intents = discord.Intents.all()
und im Dev Portal?
Hab ich alle aktiviert
Hast du presence intents auch aktiviert im dev portal?
Code?
Starker Code
Meiner war in nextcord.
Bin nicht sicher ob er auch so in py-cord funktioniert
Bruder hab den code von dir grad gedownloadet, was hast du mit der einrückung gemacht??
Machst du immer Leerzeichen statt Tabs??
😅
In jeder Zeile bekomme ich die Meldung von deinem code digga
Dann rück richtig ein
Bei mir ist es richtig eingerückt

Aso
Weil CustomActivity auch als activity gilt
Ok
Hab nur das raus genommen
Liebe ist, was man mit dem Herzen fühlt und nicht das, was man mit den Augen sieht.
😅
Ne kannst es drinne lassen
Ok
Habs gefixxt
OK
Aber wieso versuchst du deine Codes nicht mal selber irgendwie zu fixxen?
Hab schon alles probiert
hm?
Was heißt für dich "hab schon alles probiert"
Ich mein, ich hatte erstmal selber keine Idee wie ich das fixxen soll, hab kurz die Doc's gelesen und rumprobiert und es geht :D
Oh
Schau [hier](#1106254659615723530 message)
aua
Wenn ich eine Line verbessert hat, ging es bei der nächsten weiter..
Also jede line bis zum ende ...
Und am ende allein Enter zu drücken hat nicht geholfen, musste es anders machen
thx
Hey! Ich habe einen Slash-Command welcher mit einem Text-Input ein Webhook senden soll. Soweit klappt alles, aber dieser Error tritt auf:```py
TypeError: Webhook.from_url() missing 1 required keyword-only argument: 'session'
Code: ```py
import discord
import ezcord
from discord.ext import commands
from discord.commands import slash_command, Option, SlashCommandGroup
class Webhook(ezcord.Cog, emoji="🌐"):
webhook = SlashCommandGroup("webhook")
@webhook.command(description="Lol")
async def send(self, ctx, url: Option(str), message: Option(str)):
webhook = discord.Webhook.from_url(url)
await webhook.send(content=message)
await ctx.send(f"Nachricht an das Webhook gesendet: {message}")
def setup(bot: discord.Bot):
bot.add_cog(Webhook(bot))
Ich weiß aber nun nicht, was nun bei webhook = discord.Webhook.from_url(url) nach (url) als session= hin soll.
Jetzt tritt dieser Error auf: ```py
[ERROR] Error while executing /webhook send
Traceback (most recent call last):
File "C:\Users\Leander\VSC\arsonist\venv\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\Leander\VSC\arsonist\venv\Lib\site-packages\discord\commands\core.py", line 978, in invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Users\Leander\VSC\arsonist\cogs\webhook.py", line 16, in send
await webhook.send(content=message)
File "C:\Users\Leander\VSC\arsonist\venv\Lib\site-packages\discord\webhook\async.py", line 1745, in send
data = await adapter.execute_webhook(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Leander\VSC\arsonist\venv\Lib\site-packages\discord\webhook\async_.py", line 157, in request
async with session.request(
^^^^^^^^^^^^^^^^
TypeError: ClientSession.request() missing 1 required positional argument: 'url'
Zeig mal deinen Code, wie er jetzt iost
import discord
import ezcord
import aiohttp
from discord.ext import commands
from discord.commands import slash_command, Option, SlashCommandGroup
class Webhook(ezcord.Cog, emoji="🌐"):
webhook = SlashCommandGroup("webhook")
@webhook.command(description="Lol")
async def send(self, ctx, url: Option(str), message: Option(str)):
webhook = discord.Webhook.from_url(url, session=aiohttp.ClientSession)
await webhook.send(url=url, content=message)
await ctx.send(f"Nachricht an das Webhook gesendet: {message}")
def setup(bot: discord.Bot):
bot.add_cog(Webhook(bot))
Hab gerade mal url=url ausprobiert.
Mal sehen obs klappt.
nö.
[ERROR] Error while executing /webhook send
Traceback (most recent call last):
File "C:\Users\Leander\VSC\arsonist\venv\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\Leander\VSC\arsonist\venv\Lib\site-packages\discord\commands\core.py", line 978, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Users\Leander\VSC\arsonist\cogs\webhook.py", line 16, in send
await webhook.send(url=url, content=message)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Webhook.send() got an unexpected keyword argument 'url'
import discord
import ezcord
import aiohttp
from discord.ext import commands
from discord.commands import slash_command, Option, SlashCommandGroup
class Webhook(ezcord.Cog, emoji="🌐"):
webhook = SlashCommandGroup("webhook")
@webhook.command(description="Lol")
async def send(self, ctx, url: Option(str), message: Option(str)):
session = aiohttp.ClientSession()
webhook = discord.Webhook.from_url(url, session=session)
await webhook.send(content=message)
await ctx.send(f"Nachricht an das Webhook gesendet: {message}")
def setup(bot: discord.Bot):
bot.add_cog(Webhook(bot))
Versuchs so
Ah ne
Wait, das is outdated
AttributeError: module 'discord' has no attribute 'AsyncWebhookAdapter'
Hab nachricht editiert
Hallöchen, ich schau gerade das zweite Tutorial, wo ich anfange zu coden und dabei brauche ich Hilfe, da es bei mir einen Fehler gibt(anscheinend).
Hast es wohl nicht installiert
ich habe am anfang geschrieben
pip install py-cord
Jo, so passts. Ich wollte jetzt so eine Choice machen um nicht immer die URL angeben zu müssen, aber dieser Error tritt auf:```py
Traceback (most recent call last):
File "C:\Users\Leander\VSC\arsonist\venv\Lib\site-packages\discord\cog.py", line 774, in _load_from_module_spec
spec.loader.exec_module(lib) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap_external>", line 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 "C:\Users\Leander\VSC\arsonist\cogs\webhook.py", line 17
session = aiohttp.ClientSession()
^
IndentationError: expected an indented block after 'if' statement on line 14
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Leander\VSC\arsonist\main.py", line 25, in <module>
bot.load_cogs("cogs")
File "C:\Users\Leander\VSC\arsonist\venv\Lib\site-packages\ezcord\bot.py", line 222, in load_cogs
self.load_extension(f"{'.'.join(path.parts)}.{name}")
File "C:\Users\Leander\VSC\arsonist\venv\Lib\site-packages\discord\cog.py", line 910, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\Leander\VSC\arsonist\venv\Lib\site-packages\discord\cog.py", line 777, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.webhook' raised an error: IndentationError: expected an indented block after 'if' statement on line 14 (webhook.py, line 17)
vielleicht hast du es für die falsche python Version indtalliert. schau Mal bei schritt 3 in #🔍・pycord-help
[ERROR] Error in event on_member_join
Traceback (most recent call last):
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 399, in _run_event
await coro(*args, **kwargs)
File "C:\Users\nicor\OneDrive\Desktop\dino bot\user\willkommen.py", line 35, in on_member_join
await channel.send(embed=embed)
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\abc.py", line 1628, in send
data = await state.http.send_message(
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\http.py", line 365, in request
raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions```
@commands.Cog.listener()
async def on_member_join(self, member):
server_id = str(member.guild.id)
settings = self.get_welcome_settings(server_id)
if settings:
channel = member.guild.get_channel(settings["channel_id"])
if channel:
welcome_message = settings["message"]
embed = discord.Embed(
title=f"Willkommen auf {member.guild.name}",
description=welcome_message,
color=discord.Color.green()
)
embed.set_thumbnail(url=member.avatar.url)
await channel.send(embed=embed)```
Er hat keine Permissions um nachrichten in diesem Channel zu senden
och man ey.. Ich verstehe garnichts mehr..
Was verstehst du denn nicht?
Ich habe eigentlich alles getan aber es funktioniert einfach nicht
schick doch Mal einen Screenshot von deiner pycharm Interpreter seite
du hast 2 verschiedene pycord Versionen installiert, deinstallier Mal beide, und dann installiere nur py-cord-dev
welche soll ich deinstallieren?
Beide.
Wie deinstalliere ich diese?
pip uninstall py-cord py-cord-dev
danke

Er sagt, dass beide nicht installiert sind
dann mach es über das interpreter menü
dort kannst du die packages mit dem minus-symbol deinstallieren
Was hast du bei pip install eingegeben?
pip install py-cord-dev==2.5.0rc5
Hmm
import json
with open("datei.json", "r") as file:
data = json.load(file)
print(data)
@fierce dove
Ja halt einfach den Pfad zur Datei angeben
Ok
Welche python Version hast du
Ok
woran kanns liegen?
Keine Ahnung
Ok
Mach mal python
dann öffnet sich microsoft
Es installiert
Nein im Terminal python eingeben
hab ich
Ok
jetzt gehts hab von normale dings deinstalliert und von store installiert
aber ob pip klappt
pip hat geklapptwill grad die main.py ausführen nicht in den code reingucken sondern es ausführen
welches aber auswählen?
Python 3.11
hab einfach per cmd gemacht
Glaube ich
digga warum sagt es jetzt das das kein hex code ist
Das # kommt weg
0xbabaf8
Ja so
Alles muss groß
Vielleicht gibt es den color Code nicht
doch
Wo
Es fehlen 0000
Ok jetzt gehts
Was sind die anderen Codes für farben
egal egal hab einfach farben rausgenommen
Oo
Hier ist die python Farben Tabelle
https://www.webucator.com/article/python-color-constants-module/
@bold sentinel
A simple Python module for holding color constants.
Wie macht man das bei einem söash command das eine bestimmte Rolle ein command ausführen kann
Gibt’s das auch mit einer rollen id
@commands.has_role()
Alternativ auch @commands.has_any_role() für mehrere oder auch ID‘s
Hat jemand eine Idee ?
Unhandled exception in internal background task 'user_status'.
Traceback (most recent call last):
File "C:\Users\fabian2\venv\Lib\site-packages\discord\ext\tasks\__init__.py", line 169, in _loop
await self.coro(*args, **kwargs)
File "C:\Users\fabian2\PycharmProjects\Los Angeles Real Life\lamain.py", line 48, in user_status
if member.status == discord.Status.online:
^^^^^^^^^^^^^
AttributeError: 'User' object has no attribute 'status'
@tasks.loop(seconds=10)
async def user_status():
member = await bot.fetch_user(997497624460529777)
if member.status == discord.Status.online:
print(f'{member.name} ist online')
elif member.status == discord.Status.offline:
print(f'{member.name} ist offline')
Habe es behoben
member = bot.get_guild(1080532772856279072).get_member(997497624460529777)
Ich habe nur Mist gelabert XD
await print ??????????
Das frag ich mich auch
Warum sendet der bot kein Image
import discord
import ezcord
import datetime
import random
import asyncio
import json
import aiosqlite
import sqlite3
import aiohttp
import os
import asyncpraw
from discord.ext import commands
from utils import *
from datetime import datetime
from discord.commands import slash_command, Option, SlashCommandGroup
class ImageAvatar(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.session = aiohttp.ClientSession()
image = SlashCommandGroup("image")
@image.command()
async def gay(self, cosmic, user: Option(discord.Member)):
user = user or cosmic.author
try:
avatar = user.avatar.with_format("png").url
except AttributeError:
return await cosmic.respond("der user hat kein avatar")
except Exception as e:
return await cosmic.respond(f"An error occured\n{str(e).capitalize()}")
url = f"http://some-random-api.ml/canvas/gay?avatar={avatar}"
async with self.session.get(url) as r:
if r.status != 200:
error = await r.json()
error_msg = error["error"]
return await cosmic.respond(f"An error occured\n`{error_msg}`")
embed = discord.Embed(color=COLOR)
embed.set_image(url=url)
await cosmic.respond(embed=embed)
def setup(bot):
bot.add_cog(ImageAvatar(bot))
Error?
Mach das doch mit easy-pill selber ._.
Ne dafür ist die url da
user.avatar 😐
Wo
Keine Ergebnisse für avatar.with_format gefunden. Meintest du Folgendes?
der code ist vermutlich veraltet 🤔
wieso
user.avatar
Hä? Was is damit
Damit sagst du mir jetzt nicht, wieso du denkst das er veraltet ist
?
?
egal
uh nice
also wer des nd checkt xD
Traceback (most recent call last):
File "c:\Uin.py", line 11, in <module>
bot.add_help_command()
^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Bot' object has no attribute 'add_help_command'
PS C:\Users\Wo>
Bekomme diesen fehler habe ezcord und so.
was hast du oben bei ezcord.Bot
bzw hast du überhaupt ezcord.Bot
ja
kannst du code zeigen
hast du auch die aktuellste version?
woran Lags? @vivid sky
ich hatte schon ein help command cog
xD
was möchtest du denn mit Infos und DB?
Bobby grad irgendwie brain afk xD
ka
Wie fügt man eine eigene Erweiterung in Python ein? wie ezcord
Coden & Veröffentlichen
Ja halt auf pypi oder so und github
also ok kannst kurz call?
Ne
Wie finde ich heraus welche Berechtigung mein bot braucht
Warum passiert nichts wenn ich auf das Select Menü drücke?
was ist das für eine unnötige view da unten
Einrückung...
?
ah ok
Was verstehst du daran nicht?
Er fragt was das für eine unnötige view da unten ist
die view macht doch nix xD
Er fügt im command was zur view hinzu
unübersichtlich?
naja warum unnötig
Frag ihn, nicht mich
hmm
Wie kann man den Bot Webhooks senden lassen?
discord.Webhook
discord.Webhook.avatar
discord.Webhook.channel
discord.Webhook.channel_id
discord.Webhook.created_at
discord.Webhook.delete
discord.Webhook.delete_message
discord.Webhook.edit
discord.Webhook.edit_message
discord.Webhook.fetch
discord.Webhook.fetch_message
discord.Webhook.from_url
discord.Webhook.guild
discord.Webhook.guild_id
discord.Webhook.id
discord.Webhook.is_authenticated
discord.Webhook.is_partial
discord.Webhook.name
discord.Webhook.partial
discord.Webhook.send
weiss einer wie geht das ? mit 60%
ALT GR + die taste
hab 60%
Darauf geht es meine ich nicht. aber ka
Muss ich was beachten, wenn ich Links in eine .env datei speicher und abrufen möchte ?
kannst du mir das senden ?
|
STRG + ALT + <
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ok danke
Ich habe keine deutsche Tastatur, ich habe eine englische Tastatur
Dann musst du wohl Googeln
Und ich eine Italienische
was muss ich dafür eingeben?
bei mir gehts es nicht
Was erwartest du jetzt von mir?
Soll ich dir nh neue Tastatur kaufen oder was?
Ich habe bei diesem guils.html bei der klasse link wie in coding kek video den style gemacht wie er gezeigt hat das die nicht blau sind aber es geht nicht hat jemand eine ahnung wieso?
code
wie kann ich in VS Code die datenbank einträge sehen ? (Timo hat das auch am ende vom Dashboard Tutorial 3)
musst dir entweder einen sql programm installieren oder in vsc eine Extension
das ist meine guilds.html
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dashboard</title>
<link rel="stylesheet" type="text/css" href="{{ url_for('static', path='style.css') }}">
</head>
<body>
<h1> Felix Dashboard </h1>
<p> Hey <strong>{{global_name}}</strong>, bitte wähle einen Server aus. </p>
<div class="container">
{% for guild in guilds %}
<a href={{guild.url}} class="link">
<div class="item">
<img class="title" src="{{guild.icon}}">
<p class="title"> <b>{{ guild.name }}</b> </p>
</div>
</a>
{% endfor %}
</div>
</body>
</html>
und das meine style:
.link {
text-decoration: none;
color: inherit;
display: inline-block;
}
hast du schon probiert mit shift und refresh zu aktualisieren?
oh es geht ich danke dir, ich hab es komplett vergessen.
Wieso ist das immer noch so ?
Style.css ```CSS
body {
background-color: #222727;
color: #d8d8d8;
text-align: center;
font-family: Verdana, sans-serif;
}
strong {
color: #ea461e;
}
.container {
display: flex;
justify-content: center;
align-content: flex-start;
flex-wrap: wrap;
margin: 2rem 2% 3rem;
}
.item {
margin: .85rem;
width: 400px;
min-width: 300px;
height: 100px;
border-radius: .75rem;
font-size: 2rem;
overflow: hidden;
background-color: #3a4242;
display: flex;
align-items: center;
}
.item:hover {
transform: scale(1.05);
box-shadow: 0 .2rem .5rem rgba(0,0,0,0.3), 0 1rem .5rem rgba(0,0,0,0.22)
}
.title {
margin-right: .7rem;
height: 80%;
font-size: 70%;
display: flex;
align-items: center;
padding: 1rem;
text-align: left;
border-radius: 50%;
}
.button {
background: #ea461e;
border: 0;
color: white;
padding: 12px 48px;
font-size: 18px;
margin-top: 8px;
border-radius: 8px;
cursor: pointer;
}
.link {
text-decoration: none;
color: inherit;
display: inline-block;
}```
guilds.html: ```html
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dashboard</title>
<link rel="stylesheet" type="text/css" href="{{ url_for('static', path='style.css') }}">
</head>
<body>
<h1> CodingKeks Dashboard </h1>
<p> Hey <strong>{{global_name}}</strong>, bitte wähle einen Server aus. </p>
<div class="container">
{% for guild in guilds %}
<a href={{guild.url}} class="link">
<div class="item">
<img class="title" src="{{guild.icon}}">
<p class="title"> <b>{{ guild.name }}</b> </p>
</div>
</a>
{% endfor %}
</div>
</body>
</html>
hast du schon probiert mit shift und refresh zu aktualisieren?
Danke. Hat geklapt ^^
Wenn ich die Login_url in der .env datei speicher, dann geht es ned mehr. WOran liegt das
immer genau die Videos anhören
dazu hat Timo doch ein video gemacht
dann lädst du den wert wahrscheinlich falsch aus der .env datei
Wenn ich es mache, dann kommt der fehler
wenn der wert nicht geladen werden konnte, ist er None
Habs gefixed
Kurze frage. Kann man etwas coden, dass wenn der Bot von einem bestimmten Server gekickt wird, dass er wieder automatisch join. Geht das ?
nein.
Wie kann hier im Code sagen, dass wenn der Mod log Channel nicht gesetzt ist kein Fehler kommt ?
im on_message_delete?
try execpt mal versuchen
danke dir
Bekomme trotzdem diesen fehler
Ignoring exception in on_message_delete
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\Ninja Dojo (Public Bot)\cogs\Logging\ModLog.py", line 95, in on_message_delete
if channel is None:
^^^^^^^
UnboundLocalError: cannot access local variable 'channel' where it is not associated with a val
Geht. Danke
Nächstes mal auch mal selber bisschen überlegen
Wie kann ich hier im code mehr level hinzufügen, sodass wenn man ein level aufsteigt, dass man immer mehr xp braucht.
Code
In LevelingSettings
Dem Table
Und bei dem System wie ich es verstanden habe wird immer bei 100 XP ein Level hochgestellt. Du könntest diese statische Variable natürlich verändern, aber Ansich bleibt sie bei allen Leveln gleich
Okay, weil das Probelm ist, dass wenn ich level 1 erreicht habe, dass wenn ich eine neue Nachricht schreibe immer ein Levelhoch geht und die xp sich nicht wieder zurücksetz und das ich für das 2 Level mehr xp brauche als für das erste
Bekomme die ganze Zeit jetzt diesen ezcord fehler
Code
Traceback (most recent call last):
File "c:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\Ninja Dojo (Public Bot)\main.py", line 4, in <module>
bot = Bot()
File "c:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\Ninja Dojo (Public Bot)\bot.py", line 18, in __init__
super().__init__(intents=intents, language="de")
File "C:\Users\YT197\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\bot.py", line 88, in __init__
super().__init__(intents=intents, **kwargs)
TypeError: BotBase.__init__() missing 1 required positional argument: 'command_prefix'
PS C:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\Ninja Dojo (Public Bot)>
benutzt du pycord? und schick mal den code
Ja
Pycord & Ezcord
from bot import Bot
if __name__ == "__main__":
bot = Bot()
bot.run()
import discord
import ezcord
import os
import random
from discord.ext import tasks
from dotenv import load_dotenv
from itertools import cycle
status = [
discord.Activity(type=discord.ActivityType.playing, name="By MecryTv"),
discord.Activity(type=discord.ActivityType.watching, name="Discord Bots"),
discord.Activity(type=discord.ActivityType.streaming, name="Test", url="https://www.twitch.tv/officialmecrytv")
]
class Bot(ezcord.Bot):
def __init__(self):
intents = discord.Intents.all()
super().__init__(intents=intents, language="de")
self.load_cogs("cogs", subdirectories=True)
self.status_cycle = cycle(status)
@tasks.loop(seconds=10)
async def change_activity(self):
new_activity = next(self.status_cycle)
await self.change_presence(activity=new_activity)
async def on_ready(self):
self.change_activity.start()
def run(self):
load_dotenv()
super().run(os.getenv("TOKEN"))
wahrscheinlich hast du aus versehen discord.py installiert oder so
😐
Jetzt bekomme ich diesen Fehler
Traceback (most recent call last):
File "c:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\Ninja Dojo (Public Bot)\main.py", line 1, in <module>
from bot import Bot
File "c:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\Ninja Dojo (Public Bot)\bot.py", line 2, in <module>
import ezcord
File "C:\Users\YT197\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\__init__.py", line 6, in <module>
from . import components, emb, logs, sql, times, utils
File "C:\Users\YT197\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\components.py", line 27, in <module>
from .internal import get_error_text
File "C:\Users\YT197\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\internal\__init__.py", line 2, in <module>
from .embed_templates import *
File "C:\Users\YT197\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\internal\embed_templates.py", line 10, in <module>
from ..internal.dc import discord
File "C:\Users\YT197\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\internal\dc\__init__.py", line 10, in <module>
commands = __import__(f"{discord.lib}.ext.commands", fromlist=[""])
ModuleNotFoundError: No module named 'discord.ext.commands'
schick mal dein pip freeze
sieht aus wie discord.py
aiocache==0.12.1
aiofiles==0.8.0
aiohttp==3.8.1
aiosignal==1.3.1
aiosqlite==0.17.0
annotated-types==0.5.0
anyio==3.7.1
async-timeout==4.0.2
asyncio==3.4.3
asyncpraw==7.7.1
asyncprawcore==2.3.0
attrs==23.1.0
better-ipc==2.0.3
Brotli==1.1.0
certifi==2023.5.7
cffi==1.15.1
charset-normalizer==2.1.1
chat-exporter==2.4.1
click==8.1.7
colorama==0.4.4
commonmark==0.9.1
discord==2.3.2
dotenv==0.0.5
easy-pil==0.1.9
emoji==2.5.1
exceptiongroup==1.1.3
ezcord @ git+https://github.com/tibue99/ezcord@c924616085c9b0d68ef76e0336f0558e38f07888
fastapi==0.103.1
ffmpeg==1.4
frozenlist==1.3.3
grapheme==0.6.0
h11==0.14.0
idna==3.4
Jinja2==3.1.2
lavalink==4.0.6
MarkupSafe==2.1.3
multidict==6.0.4
mutagen==1.47.0
Pillow==8.4.0
praw==7.7.0
prawcore==2.3.0
psutil==5.9.4
py-cord-dev==2.5.0rc5
pycparser==2.21
pycryptodomex==3.19.0
pydantic==2.3.0
pydantic_core==2.6.3
Pygments==2.16.1
PyNaCl==1.5.0
python-dotenv==0.20.0
pytz==2023.3
redis==4.6.0
requests==2.28.1
rich==12.6.0
sentry-sdk==1.31.0
six==1.16.0
sniffio==1.3.0
spotify-dl==8.8.2
spotipy==2.23.0
starlette==0.27.0
typing_extensions==4.6.3
update-checker==0.18.0
urllib3==1.26.16
uvicorn==0.23.2
vacefron.py==2.0.3
wavelink==2.6.4
websocket-client==1.6.1
websockets==11.0.3
yarl==1.8.2
youtube-dl==2021.12.17
yt-dlp==2023.7.6
@limber crow
⚠️ Entferne alle Module aus der Python Standardbibliothek
asyncio==3.4.3```
⚠️ Eventuell hast du falsche Packages installiert
```yml
dotenv==0.0.5 -> python-dotenv```
*Ich habe [diese Nachricht](#1019974414487535736 message) geprüft.*
Immer noch
aiocache==0.12.1
aiofiles==0.8.0
aiohttp==3.8.1
aiosignal==1.3.1
aiosqlite==0.17.0
annotated-types==0.5.0
anyio==3.7.1
async-timeout==4.0.2
asyncpraw==7.7.1
asyncprawcore==2.3.0
attrs==23.1.0
better-ipc==2.0.3
Brotli==1.1.0
certifi==2023.5.7
cffi==1.15.1
charset-normalizer==2.1.1
chat-exporter==2.4.1
click==8.1.7
colorama==0.4.4
commonmark==0.9.1
easy-pil==0.1.9
emoji==2.5.1
exceptiongroup==1.1.3
ezcord @ git+https://github.com/tibue99/ezcord@c924616085c9b0d68ef76e0336f0558e38f07888
fastapi==0.103.1
ffmpeg==1.4
frozenlist==1.3.3
grapheme==0.6.0
h11==0.14.0
idna==3.4
Jinja2==3.1.2
lavalink==4.0.6
MarkupSafe==2.1.3
multidict==6.0.4
mutagen==1.47.0
Pillow==8.4.0
praw==7.7.0
prawcore==2.3.0
psutil==5.9.4
pycparser==2.21
pycryptodomex==3.19.0
pydantic==2.3.0
pydantic_core==2.6.3
Pygments==2.16.1
PyNaCl==1.5.0
python-dotenv==0.20.0
pytz==2023.3
redis==4.6.0
requests==2.28.1
rich==12.6.0
sentry-sdk==1.31.0
six==1.16.0
sniffio==1.3.0
spotify-dl==8.8.2
spotipy==2.23.0
starlette==0.27.0
typing_extensions==4.6.3
update-checker==0.18.0
urllib3==1.26.16
uvicorn==0.23.2
vacefron.py==2.0.3
wavelink==2.6.4
websocket-client==1.6.1
websockets==11.0.3
yarl==1.8.2
youtube-dl==2021.12.17
yt-dlp==2023.7.6
@limber crow installiere mal ezcord neu also pip uninstall und pip install ezcord
Immer noch der gleiche fehler
ka wieso
Hä. Es ist so komisch. Kaum gehe ich wieder auf 11 hoch geht es
Keine Ergebnisse für sqlite gefunden. Meintest du Folgendes?
kann mir jemand vielleicht helfen?
@slash_command()
@discord.default_permissions(moderate_members=True)
@commands.has_permissions(moderate_members=True)
async def timeout(self, ctx, user: discord.Member, days: discord.Intents, hours: discord.Intents,
minutes: discord.Intents, seconds: discord.Intents,
duration=None):
if user.id == ctx.user:
await ctx.respond('Du kannst dich nicht selbst timeouten!')
if user.id == bot_owner_id:
await ctx.respond('Sorry, aber ich kann den Bot-Owner nicht timeouten!')
else:
duration_list = duration.split()
days, hours, minutes, seconds = days, hours, minutes, seconds
member = user
for item in duration_list:
if item.endswith('d'):
days = int(item[:-1])
elif item.endswith('h'):
hours = int(item[:-1])
elif item.endswith('m'):
minutes = int(item[:-1])
elif item.endswith('s'):
seconds = int(item[:-1])
timeout_duration = datetime.timedelta(days=days, hours=hours, minutes=minutes, seconds=seconds)
end_time = datetime.datetime.utcnow() + timeout_duration
embed = discord.Embed(
title=f"Timeout",
description=f'{member.mention} wurde für {duration} getimeoutet. Timeout endet am {end_time}.'
)
await member.timeout(days, hours, minutes, seconds)
await ctx.respond(embed=embed)
``` ._.
ich glaube ich mach das anderst
wenn du uns verrätst was nicht funktioniert und was passieren soll 
es soll ein Timeout Command sein ._.
idk was ich da gemacht habe
@slash_command()
@discord.default_permissions(moderate_members=True)
@commands.has_permissions(moderate_members=True)
async def timeout(self, ctx, user:discord.User, zeit: str):
if user.id == ctx.user:
await ctx.respond('Du kannst dich nicht selbst timeouten!')
if user.id == bot_owner_id:
await ctx.respond('Sorry, aber ich kann den Bot-Owner nicht timeouten!')
else:
zeit = zeit.lower()
einheit = zeit[-1]
zeit = int(zeit[:-1])
if einheit == 's':
wartezeit = zeit
elif einheit == 'm':
wartezeit = zeit * 60
elif einheit == 'h':
wartezeit = zeit * 60 * 60
else:
await ctx.respond(
"Ungültige Zeitangabe. Bitte verwende 's' für Sekunden, 'm' für Minuten oder 'h' für Stunden.")
return
embed = discord.Embed(
title=f"Timeout",
description=f'{user.mention} wurde für {zeit}{einheit} getimeoutet..'
)
await user.timeout(wartezeit)
await ctx.respond(embed=embed)
hab ich jetzt so verbessert
Benutzt du ezcord
yessir
@slash_command()
@discord.default_permissions(moderate_members=True)
@commands.has_permissions(moderate_members=True)
async def timeout(self, ctx, user: Option(discord.User), zeit: Option(str)):
if user.id == ctx.user:
await ctx.respond('Du kannst dich nicht selbst timeouten!')
if user.id == bot_owner_id:
await ctx.respond('Sorry, aber ich kann den Bot-Owner nicht timeouten!')
else:
zeit = zeit.lower()
einheit = zeit[-1]
zeit = int(zeit[:-1])
if einheit == 's':
wartezeit = zeit
elif einheit == 'm':
wartezeit = zeit * 60
elif einheit == 'h':
wartezeit = zeit * 60 * 60
else:
await ctx.respond(
"Ungültige Zeitangabe. Bitte verwende 's' für Sekunden, 'm' für Minuten oder 'h' für Stunden.")
return
embed = discord.Embed(
title=f"Timeout",
description=f'{user.mention} wurde für {zeit}{einheit} getimeoutet..'
)
await user.timeout(wartezeit)
await ctx.respond(embed=embed)
from discord.commands import slash_command, Option
Hier
was muss importet werden?
OK woran lags
@raven lotus
Ok
from discord.commands import slash_command, Option
Ja
Ok
hä wait
@slash_command()
@discord.default_permissions(moderate_members=True)
@commands.has_permissions(moderate_members=True)
async def timeout(self, ctx, user: Option(discord.User), zeit: Option(str)):
if user.id == ctx.user:
await ctx.respond('Du kannst dich nicht selbst timeouten!')
if user.id == bot_owner_id:
await ctx.respond('Sorry, aber ich kann den Bot-Owner nicht timeouten!')
else:
zeit = zeit.lower()
einheit = zeit[-1]
zeit = int(zeit[:-1])
if einheit == 's':
wartezeit = zeit
elif einheit == 'm':
wartezeit = zeit * 60
elif einheit == 'h':
wartezeit = zeit * 60 * 60
else:
await ctx.respond(
"Ungültige Zeitangabe. Bitte verwende 's' für Sekunden, 'm' für Minuten oder 'h' für Stunden.")
return
embed = discord.Embed(
title=f"Timeout",
description=f'{user.mention} wurde für {zeit}{einheit} getimeoutet..'
)
await user.timeout(wartezeit)
await ctx.respond(embed=embed)
``` geht net
Warum ist die Zeit noch str
der antwortet die ganze Zeit:AttributeError: 'int' object has no attribute 'isoformat'
Hm
@slash_command()
@discord.default_permissions(moderate_members=True)
@commands.has_permissions(moderate_members=True)
async def timeout(self, ctx, user: Option(discord.User), zeit: Option(str)):
if user.id == ctx.author.id:
await ctx.respond('Du kannst dich nicht selbst timeouten!')
elif user.id == bot_owner_id:
await ctx.respond('Sorry, aber ich kann den Bot-Owner nicht timeouten!')
else:
zeit = zeit.lower()
einheit = zeit[-1]
zeit = int(zeit[:-1])
if einheit == 's':
wartezeit = zeit
elif einheit == 'm':
wartezeit = zeit * 60
elif einheit == 'h':
wartezeit = zeit * 60 * 60
else:
await ctx.respond(
"Ungültige Zeitangabe. Bitte verwende 's' für Sekunden, 'm' für Minuten oder 'h' für Stunden.")
return
embed = discord.Embed(
title=f"Timeout",
description=f'{user.mention} wurde für {zeit}{einheit} getimeoutet.'
)
await user.timeout(wartezeit)
await ctx.respond(embed=embed)
if user.id == ctx.user zu if user.id == ctx.author.id geaendert, um zu überpruefen ob der Benutzer sich selbst timeoutet.
bro
Ja
das geht nicht, weil ich will ja, dass hinter der Zahl s, m oder h steht
._.
•_•
•_•
idk
@slash_command()
@discord.default_permissions(moderate_members=True)
@commands.has_permissions(moderate_members=True)
async def timeout(self, ctx, user: Option(discord.User), zeit: Option(str)):
member = user
if user.id == ctx.author.id:
await ctx.respond('Du kannst dich nicht selbst timeouten!')
elif user.id == bot_owner_id:
await ctx.respond('Sorry, aber ich kann den Bot-Owner nicht timeouten!')
else:
zeit = zeit.lower()
einheit = zeit[-1]
zeit = int(zeit[:-1])
if einheit == 's':
wartezeit = zeit
elif einheit == 'm':
wartezeit = zeit * 60
elif einheit == 'h':
wartezeit = zeit * 60 * 60
elif einheit == 'd':
wartezeit = zeit * 60 * 60 * 7
else:
await ctx.respond(
"Ungültige Zeitangabe. Bitte verwende 's' für Sekunden, 'm' für Minuten,'h' für Stunden oder 'd' für Tage.")
return
embed = discord.Embed(
title=f"Timeout",
description=f'{user.mention} wurde für {zeit}{einheit} getimeoutet.'
)
await member.timeout_for(wartezeit)
await ctx.respond(embed=embed)
wait
help pls
habs gelöst 
kann jemand helfen, dass der Bot nicht timeoutet, wenn der user schon timeout hat? :
@slash_command()
@discord.default_permissions(moderate_members=True)
@commands.has_permissions(moderate_members=True)
async def timeout(self, ctx, user: Option(discord.User), zeit: Option(str)):
member = user
if user.id == ctx.author.id:
await ctx.respond('Du kannst dich nicht selbst timeouten!')
elif user.top_role.position >= ctx.author.top_role.position:
await ctx.respond('Sorry, aber du kannst keine Benutzer timeouten, die über dir stehen!')
elif user.id == bot_owner_id:
await ctx.respond('Sorry, aber ich kann den Bot-Owner nicht timeouten!')
elif member in timeout_users:
await ctx.respond('Dieser Benutzer ist bereits getimeoutet!')
else:
zeit = zeit.lower()
einheit = zeit[-1]
zeit = int(zeit[:-1])
if einheit == 's':
wartezeit = datetime.timedelta(seconds=zeit)
elif einheit == 'm':
wartezeit = datetime.timedelta(minutes=zeit)
elif einheit == 'h':
wartezeit = datetime.timedelta(hours=zeit)
elif einheit == 'd':
wartezeit = datetime.timedelta(days=zeit)
else:
await ctx.respond(
"Ungültige Zeitangabe. Bitte verwende 's' für Sekunden, 'm' für Minuten,'h' für Stunden oder 'd' für Tage.")
return
embed = discord.Embed(
title=f"Timeout",
description=f'{user.mention} wurde für {zeit}{einheit} getimeoutet.'
)
embed.color = discord.Color.purple()
await member.timeout_for(wartezeit)
await ctx.respond(embed=embed)
Pycord oder Discord.py?
Mach doch einfach if member.timeout:
discord.Member.nick
discord.Member.pending
discord.Member.pins
discord.Member.premium_since
discord.Member.public_flags
discord.Member.raw_status
discord.Member.remove_roles
discord.Member.remove_timeout
discord.Member.request_to_speak
discord.Member.roles
discord.Member.send
discord.Member.status
discord.Member.system
discord.Member.timed_out
discord.Member.timeout
discord.Member.timeout_for
discord.Member.top_role
discord.Member.trigger_typing
discord.Member.typing
discord.Member.unban
Passiert den besten 🙂
Hey kar
wie kann man eine audio datei schicken so:
file = discord.File(fp=audio, filename="audio.png")
Ich habe aber diesen Fehler bekommen:
[ERROR] Error while executing /voicelab
Traceback (most recent call last):
File "C:\Users\tobia\PycharmProjects\tobfd_bot\DiscordBot\lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
File "C:\Users\tobia\PycharmProjects\tobfd_bot\DiscordBot\lib\site-packages\discord\commands\core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Users\tobia\PycharmProjects\tobfd_bot\cogs\voicelab.py", line 35, in voicelab
file = discord.File(fp=audio, filename="audio.png")
File "C:\Users\tobia\PycharmProjects\tobfd_bot\DiscordBot\lib\site-packages\discord\file.py", line 99, in __init__
self.fp = open(fp, "rb")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
Was ist "audio"
Also wie hast du es definiert
audio bekomme ich von einer api:
audio = generate(
text=text,
voice=voice,
model="eleven_multilingual_v2"
)
Wieso .png???
file=discord.File(io.BytesIO(audio), filename="audio.mp3")
await ctx.respond(file=file)
Du willst ja nicht nh Audio Datei als Bild speichern hahaha
ich bekomme immernoch diesen fehler:
[ERROR] Error while executing /voicelab
Traceback (most recent call last):
File "C:\Users\tobia\PycharmProjects\tobfd_bot\DiscordBot\lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
File "C:\Users\tobia\PycharmProjects\tobfd_bot\DiscordBot\lib\site-packages\discord\commands\core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Users\tobia\PycharmProjects\tobfd_bot\cogs\voicelab.py", line 35, in voicelab
file = discord.File(fp=audio, filename="audio.mp3")
File "C:\Users\tobia\PycharmProjects\tobfd_bot\DiscordBot\lib\site-packages\discord\file.py", line 99, in __init__
self.fp = open(fp, "rb")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
file = discord.File(fp=audio, filename="audio.mp3") -> file = discord.File(io.BytesIO(audio), filename="audio.mp3")
Dafür müsstest du import io bei den imports machen
Jetzt diesen:
[ERROR] Error while executing /voicelab
Traceback (most recent call last):
File "C:\Users\tobia\PycharmProjects\tobfd_bot\DiscordBot\lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
File "C:\Users\tobia\PycharmProjects\tobfd_bot\DiscordBot\lib\site-packages\discord\commands\core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Users\tobia\PycharmProjects\tobfd_bot\cogs\voicelab.py", line 37, in voicelab
await ctx.respond(embed=embed, file=file)
File "C:\Users\tobia\PycharmProjects\tobfd_bot\DiscordBot\lib\site-packages\discord\interactions.py", line 571, in respond
return await self.response.send_message(*args, **kwargs)
File "C:\Users\tobia\PycharmProjects\tobfd_bot\DiscordBot\lib\site-packages\discord\interactions.py", line 904, in send_message
await self._locked_response(
File "C:\Users\tobia\PycharmProjects\tobfd_bot\DiscordBot\lib\site-packages\discord\interactions.py", line 1198, in _locked_response
await coro
File "C:\Users\tobia\PycharmProjects\tobfd_bot\DiscordBot\lib\site-packages\discord\webhook\async_.py", line 220, in request
raise NotFound(response, data)
discord.errors.NotFound: 404 Not Found (error code: 10062): Unknown interaction
Das kannst du doch bestimmt selber fixxen?
Die interaction braucht zu lange, also müsstest du ein await ctx.defer() einbauen
danke, wie mach ich das die endung .mp3 ist wenn ich es downloade
Is doch .mp3 beim filename
Wie downlodest du es?
funktioniert nicht
hm
Jemand ne Ahnung wie man am besten einen Invite Tracker macht ? Also dass eine Nachricht ausgegeben wird wer von wem eingeladen wurde und wie viele Invites dieser hat
Mit einer Db
Hallo weiß wer wie ich es mache das die Interaktion nicht scheitert wenn der bot nicht antwortet
du könntest die nachricht bearbeiten, dann kann der bot auch ohne antwort auf die interaktion reagieren
Wie mache ich das am besten ?
#discordpy #python #tutorial
Welcome to the fifteenth episode of my Discord PY Tutorial Series where I go through and explain how to create a full on invite manager system using aiosqlite for a database, just like the famous InviteManager/InviteTracker bots.
Thank you for watching! If you enjoyed, please subscribe as 99% of my viewers aren't a...
Kein ding, ich weiß das es einigen schwer fällt mal selber danach zu suchen 😉
Habe schon danach geguckt bei YT, aber ich dachte jemand hat hier eine bessere idee xD
@solid ingot warum ist oben ein error und unten nicht?
was hat das obere denn mit dem unteren zu tun? das sind 2 verschiedene commands und 2 verschiedene codes
ich meine den avatar kann oben nicht abgerufen werden unten aber
dann vergleich die beiden codes doch mal
ok mach ich morgen am PC
Kann man eine Methode schreiben, dass wenn der Bot einem neuen Server gejoint ist, dass dieser Bot eine bestimmte Nachricht sendet ?
Ja
Ja
Keine Ergebnisse für direkt message gefunden. Meintest du Folgendes?
Keine Ergebnisse für dm message gefunden. Meintest du Folgendes?
das müsste es sein
Wieso bekomme ich keine Nachricht ? Was habe ich falsch gemacht ?
Code
import discord
import os
from discord.ext import commands
from discord.commands import slash_command
class JoinNewGuild(commands.Cog):
def __init__(self, bot, *args, **kwargs):
super().__init__(*args, **kwargs)
self.bot = bot
@commands.Cog.listener()
async def on_guild_join(self, guild):
owner = guild.get_member(os.getenv('OWNER_ID'))
if owner:
await guild.send(f'Ich bin dem Server {guild.name} beigetreten!')
def setup(bot):
bot.add_cog(JoinNewGuild(bot))
Was müsste ich ändern, damit es geht ?
glaube guild.owner.send
Möchte es machen, aber das wenn der Bot einem fremden server joint mir eine nachricht gesendet wird per dm
dir? also genau dir?
Jap
oder dem owner
Nein mir und nur mir
Keine Ergebnisse für discord.get_user gefunden. Meintest du Folgendes?
discord.Bot.get_user müsste es sein
Würde es so gehen ?
import discord
import os
from discord.ext import commands
from discord.commands import slash_command
class JoinNewGuild(commands.Cog):
def __init__(self, bot, *args, **kwargs):
super().__init__(*args, **kwargs)
self.bot = bot
@commands.Cog.listener()
async def on_guild_join(self, ctx):
owner = discord.Bot.get_user(os.getenv("OWNER_ID"))
await owner.send(f"Der Bot ist einem neuen Server beigetreten: {ctx.name} ({ctx.id})")
def setup(bot):
bot.add_cog(JoinNewGuild(bot))
Was willst du jtzt mit ctx xd
denke mal geht so aber allgemein nutzt man da eher guild damit die verwirrung nd verwirrt is
import discord
import os
from discord.ext import commands
from discord.commands import slash_command
class JoinNewGuild(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_guild_join(self, guild):
owner = self.bot.get_user(os.getenv("OWNER_ID"))
await owner.send(f"Der Bot ist einem neuen Server beigetreten: {guild.name} ({guild.id})")
def setup(bot):
bot.add_cog(JoinNewGuild(bot))
Danke euch
Was ist der Fehler ?
Fehlercode
Traceback (most recent call last):
File "c:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\Ninja Dojo (Public Bot)\main.py", line 4, in <module>
bot = Bot()
^^^^^
File "c:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\Ninja Dojo (Public Bot)\bot.py", line 18, in __init__
discord.Activity(type=discord.ActivityType.playing, name=f"auf {len(self.bot.guilds)} Servern")
^^^^^^^^
AttributeError: 'Bot' object has no attribute 'bot'. Did you mean: '_bot'?
PS C:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\Ninja Dojo (Public Bot)>
code
import discord
import ezcord
import os
import random
from discord.ext import tasks
from dotenv import load_dotenv
from itertools import cycle
class Bot(ezcord.Bot):
def __init__(self):
intents = discord.Intents.all()
super().__init__(intents=intents, language="de")
status = [
discord.Activity(type=discord.ActivityType.playing, name="By MecryTv"),
discord.Activity(type=discord.ActivityType.watching, name="Discord Bots"),
discord.Activity(type=discord.ActivityType.playing, name=f"auf {len(self.bot.guilds)} Servern")
]
self.load_cogs("cogs", subdirectories=True)
self.status_cycle = cycle(status)
@tasks.loop(seconds=10)
async def change_activity(self):
new_activity = next(self.status_cycle)
await self.change_presence(activity=new_activity)
async def on_ready(self):
self.change_activity.start()
def run(self):
load_dotenv()
super().run(os.getenv("TOKEN"))
```
- Du hast nirgends
self.botdefiniert selfist bereit's der Bot. Das heißt, dass duself.botauch nicht definieren musst.
->{len(self.bot.guilds)}->{len(self.guilds)}
Ah okay, aber irgendwie zeigt er immer noch 0 an, obwohl dieser auf 2 Servern ist
Wie geht das?
Danke
Kann man bei easypil auch eigene fonts nehmen?
wie z.b. diese hier
Lemon Milk Font | dafont.com
bruuh wie? finde da nur iwas mit Font.poppins
Die frage hab ich schonmal beantwortet xD
Schau mal [hier](#1019974414487535736 message)
danke xd
Und hier is das in den Doc's dafür: https://easy-pil.readthedocs.io/en/latest/easy_pil/easy_pil.font.html#easy_pil.font.Font
hab das sogar gesehen hab nur nd verstanden wie mans nutzt x
Halllo ^^
Jedesmal sobald das Ticket wieder freigegeben wird, verliert der User der das ticket erstellt hat die rechte das ticket einzusehen.
async def claim_ticket(self, button: nextcord.ui.Button, interaction: nextcord.Interaction):
claimed_by = self.claimed_by
if claimed_by is None and self.ticket_creator != interaction.user: # Check if the claimer is not the creator
self.claimed_by = interaction.user
overwrites = {
interaction.user: nextcord.PermissionOverwrite(read_messages=True, send_messages=True),
interaction.guild.default_role: nextcord.PermissionOverwrite(read_messages=False, send_messages=False),
}
await interaction.channel.edit(overwrites=overwrites)
await interaction.channel.send(f"Das Ticket wurde von {interaction.user.mention} beansprucht!")
elif claimed_by is None and self.ticket_creator == interaction.user:
await interaction.response.send_message("Sie können Ihr eigenes Ticket nicht beanspruchen.", ephemeral=True)
else:
if self.claimed_by == interaction.user:
# Ticket unclaimed
overwrites = {
interaction.guild.get_role(1161941100680970340): nextcord.PermissionOverwrite(read_messages=True,
send_messages=True),
interaction.guild.me: nextcord.PermissionOverwrite(read_messages=True, send_messages=True),
interaction.user: nextcord.PermissionOverwrite(read_messages=True, send_messages=True),
interaction.guild.default_role: nextcord.PermissionOverwrite(read_messages=False,
send_messages=False),
}
await interaction.response.send_message("Sie haben das Ticket nicht beansprucht.", ephemeral=True)
self.claimed_by = None
# Message about releasing the ticket
await interaction.channel.send(f"Das Ticket wurde von {interaction.user.mention} freigegeben.")
else:
await interaction.response.send_message(
f"Dieses Ticket wurde bereits beansprucht von {self.claimed_by.mention}. {interaction.user.mention} kann es nicht beanspruchen.",
ephemeral=True)
wenn das ticket freigegeben wird, werden die permissions aktuell mit overwrites überschrieben. da bei den overwrites der user, der das ticket geöffnet hat, nicht vorkommt, hat dieser dann auch keine berechtigung mehr, um auf das ticket zuzugreifen.
eine mögliche lösung wäre die altern overwrites zu ergänzen statt zu überschreiben, also sozusagen das alte overwrite-dictionary mit dem neuen zu mergen
ich bin mir unsicher wie ich das im code genau einbringen soll tbh
ich nehme mal an, dass der claim button im ticket channel ist. du könntest dann mit interaction.channel.overwrites auf die bisherigen overwrites zugreifen. um zu diesem dictionary dann neue overwrites hinzuzufügen, könntest du folgendes machen
if self.claimed_by == interaction.user:
# Ticket unclaimed
overwrites = {
**interaction.channel.overwrites,
interaction.guild.get_role(1161941100680970340): nextcord.PermissionOverwrite(read_messages=True,
send_messages=True),
interaction.guild.me: nextcord.PermissionOverwrite(read_messages=True, send_messages=True),
interaction.user: nextcord.PermissionOverwrite(read_messages=True, send_messages=True),
interaction.guild.default_role: nextcord.PermissionOverwrite(read_messages=False,
send_messages=False),
}
alternativ kannst du natürlich auch den user, der das ticket geöffnet hat, irgendwo speichern, und ihn dann zu den overwrites erneut hinzufügen, wenn das ticket unclaimed wird
das was du geschickt hast funktioniert nicht. Sorry bin noch nicht so tief im python geschäfft xD
Aber du kannst die Python Grundlagen oder?
halbwegs ja xD
schreib immer direkt dazu was genau nicht funktioniert, dann können wir danach schauen 🙂
achso sorry
immer noch so das es für den user nicht einseh bar ist nachdem es frei gegeben wurde
Moin ich möchte mir ein Sound board machen das man übers Mic hört also jeder ingame hört mit buttons
Add Sound
Play sound
Stop sound
Und halt die auswahl von sounds in einer Tabelle ist sowas schwer und was braucht man dafür in Python
Nutz doch einfach Soundpad von Steam
Tu ich
Aber Custom würde ich gerne machen
hey, ich bin grad dabei ein dashboard für meinen bot zu machen
das ist der code von der website main.py datei:
from fastapi import FastAPI, Request
from starlette.templating import Jinja2Templates
from fastapi.staticfiles import StaticFiles
import uvicorn
app = FastAPI()
app.mount("/static", StaticFiles(directory="frontend/static"), name="static")
templates = Jinja2Templates(directory="frontend")
@app.get("/")
async def home(request: Request):
return templates.TemplateResponse(
"index.html",
{
"request": request,
"count": 1
}
)
if __name__ == "__main__":
uvicorn.run("main:app", host="localhost", port=8000, reload=True)
ich bekomme aber diesen error:
raise RuntimeError(f"Directory '{directory}' does not exist")
RuntimeError: Directory 'frontend/static' does not exist```
könnte mir da jemand weiterhelfen?
im bild seht ihr die wichtigen dateien
bei dir ist es aktuell im Website ordner
Ka wieso 😅 ich wollte es genauso wie im tut machen, ich wusste nicht das es einen Unterschied macht
Hab den gleichen Code auch in der richtigen main Datei gehabt und es kam der gleiche error
der code den ich oben geschrieben habe ist in der main.py file im video
ah okay, hab es grad geändert
mein fehler
aber der error ist immernoch da
Hast du es so
Wie geht das das ich das in Discord anzeigen kann
Vencord oder BetterDiscord
Bruder jedes mal willst du alles was andere auch haben ._.
xD
Ich frag doch nur
du fragst wie ich dies gemacht hab, wie ich das gemacht hab etc.. xD
Man kann auch googlen, kriegt man nh schnellere antwort
Ich hasse Google
Ist gegen die TOS
hm?
Wie downloadest du dann alles, wenn du google hasst?
Woher bekommst du sonst alle infos?
Ich weiß, aber er hat ja explizit gefragt xD
Solange man keine unnötigen Regelmäßigen API Requests schickt, is es jetzt nicht der weltuntergang
Also wenn man sowas wie Automatischer Status Changer nutzt, dann is man gef*ckt
Hmmm
Moin Moin ich probiere mit chat GPT ein soundboard in Python zu machen weil auf Youtube finde ich nix aber ich bekomme die ganze zeit nen ätzenden error kann mir jemand dabei helfen
error:
Traceback (most recent call last):
File "C:\Users\1444\Downloads\CloudPad\main.py", line 66, in play_sound
self.play_audio(sound_file)
File "C:\Users\1444\Downloads\CloudPad\main.py", line 81, in play_audio
self.stream.write(audio.tobytes())
File "C:\Users\1444\AppData\Roaming\Python\Python311\site-packages\sounddevice.py", line 1538, in write
raise ValueError('number of channels must match')
ValueError: number of channels must match
Drücken Sie eine beliebige Taste . . .```
legal gar nicht
Ok
weiss einer warum ( das rot
weil die klammer nicht geschlossen wird
wenn du mit der maus drübergehst, wird dir auch immer angezeigt wieso etwas rot unterstrichen ist
import os
import pyaudio
import sounddevice as sd
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QPushButton, QTableWidget, QTableWidgetItem, QFileDialog
from PyQt5.QtCore import Qt
import numpy as np
from pydub import AudioSegment
class CloudPadSoundboard(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.setWindowTitle("CloudPad Soundboard")
self.setGeometry(100, 100, 800, 400)
self.audio_files = []
self.sounds_folder = "sounds"
layout = QVBoxLayout()
self.setLayout(layout)
self.table = QTableWidget(self)
self.table.setColumnCount(1)
self.table.setHorizontalHeaderLabels(["Sound"])
self.table.horizontalHeader().setStretchLastSection(True)
layout.addWidget(self.table)
self.add_button = QPushButton("Add Sound", self)
self.add_button.clicked.connect(self.add_sound)
layout.addWidget(self.add_button)
self.play_button = QPushButton("Play Sound", self)
self.play_button.clicked.connect(self.play_sound)
layout.addWidget(self.play_button)
self.stop_button = QPushButton("Stop Sound", self)
self.stop_button.clicked connect(self.stop_sound)
layout.addWidget(self.stop_button)
self.load_sounds()
self.p = pyaudio.PyAudio()
self.stream = None
self.playing = False
def add_sound(self):
file_dialog = QFileDialog()
file_path, _ = file_dialog.getOpenFileName(self, "Add Sound", "", "Audio Files (*.mp3)")
if file_path:
destination = os.path.join(self.sounds_folder, os.path.basename(file_path))
if not os.path.exists(destination):
sound = AudioSegment.from_mp3(file_path)
sound.export(destination, format="wav")
self.load_sounds()
def play_sound(self):
selected_row = self.table.currentRow()
if selected_row >= 0 and selected_row < len(self.audio_files):
sound_file = os.path.join(self.sounds_folder, self.audio_files[selected_row])
self.play_audio(sound_file)
def play_audio(self, file_path):
if self.stream:
self.stream.stop()
self.stream.close()
audio = AudioSegment.from_wav(file_path)
audio = audio.set_channels(2) # Ensure audio has 2 channels
audio = audio.raw_data
audio = np.frombuffer(audio, dtype=np.int16)
self.stream = sd.OutputStream(device=None, channels=2, callback=self.callback, dtype='int16')
self.stream.start()
self.stream.write(audio.tobytes())
self.playing = True
def callback(self, outdata, frames, time, status):
pass
def stop_sound(self):
if self.stream and self.playing:
self.stream.stop()
self.playing = False
self.stream.close()
def load_sounds(self):
sound_files = [file for file in os.listdir(self.sounds_folder) if file.endswith(".mp3")]
self.audio_files = sound_files
self.table.setRowCount(len(sound_files))
for i, sound_file in enumerate(sound_files):
item = QTableWidgetItem(sound_file)
self.table.setItem(i, 0, item)
def closeEvent(self, event):
self.stop_sound()
self.p.terminate()
super().closeEvent(event)
def main():
app = QApplication(sys.argv)
window = CloudPadSoundboard()
window.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
``` test mal aus
Was passiert jetzt laut dem Code spielt er sound aus headset und mic?
oder nur aus Headset
py File "C:\Users\1444\Downloads\CloudPad\main.py", line 40 self.stop_button.clicked connect(self.stop_sound) ^^^^^^^ SyntaxError: invalid syntax Drücken Sie eine beliebige Taste . . .
gefixt
nächster fehler wenn ich einen sound abspielen will (Play Sound) kommt des: py Traceback (most recent call last): File "C:\Users\1444\Downloads\CloudPad\main.py", line 66, in play_sound self.play_audio(sound_file) File "C:\Users\1444\Downloads\CloudPad\main.py", line 81, in play_audio self.stream.write(audio.tobytes()) File "C:\Users\1444\AppData\Roaming\Python\Python311\site-packages\sounddevice.py", line 1538, in write raise ValueError('number of channels must match') ValueError: number of channels must match Drücken Sie eine beliebige Taste . . .
Code
Du hast denke ich bei timestamp=datetime.datetime.utcnow() eingegeben. Richtig wäre: timestamp=datetime.datetime.now()
Genau das habe ich eingeben aber danke das ändere ich dann mal gleich
Garkein Problem. Habe den Fehler früher auch gemacht
Kurze frage. Kann man eine Methode schreiben, dass wenn man auf EN oder DE klickt, dass sich die die Texte auf die Ausgewählte sprache ändert ?
Ka, aber fragen kann man ja mal
Googlen und ausprobieren kann man auch mal
Moin! Ich würde mir gerne das Datum und die Uhrzeit ausgeben lassen, wann ein Nutzer seinen Account erstellt hat. Aber folgendes Problem tritt auf:
Python version 3.11 does not allow nesting of string literals with the same quote inside f-strings
Das hier ist der Code:
embed.add_field(name="📆 Erstellt", value=f"```yaml\n{user.created_at.strftime("%d.%m.%Y um %H:%M Uhr")}")
Sorry wegen der Formatierung.
innerhalb von einem f-string, den du mit " beginnst, kannst du nicht nochmal " verwenden
zumindest nicht in python 3.11
nö
GG
Moin, ich hab mal eine Allgemeine Frage zu /command Berechtigungsverwaltung, ich meine mal irgendwo ein Portal dazu gesehen zu haben entweder im Discord dev Portal oder wo anders. Dort konnte man festlegen welche Rollen welche /commands nutzen können... bin mir aber nicht sicher ob ich mir das einbilde xD
Meinst du das?
Ja genau
Servereinstellungen -> Integration -> Wähle deinen Bot aus -> Und dann stell ein was du willst
@edgy axle
Danke : )
Wie kann ich hier im Code sagen, dass es für alle Embeds sein soll die vom Bot erstellt worden sind ?
import discord
from discord.ext import commands
from discord.commands import slash_command
from deep_translator import GoogleTranslator
from Utils.config import *
class Translate(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command(name="settings", description="Setze deine wichtigsten Einstellungen")
async def settings(self, ctx):
em = discord.Embed(
title="Hello",
)
await ctx.respond(embed=em, view=SelectMenu())
def setup(bot):
bot.add_cog(Translate(bot))
class SelectMenu(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
options = [
discord.SelectOption(
label="Farbe Auswählen",
description="Sende dein Roster in ein Channel",
),
]
@discord.ui.select(
placeholder="🀄️ | Erstelle dein Embed",
min_values=1,
max_values=1,
options=options,
custom_id="roster_select:select",
)
async def callback(
self, select: discord.ui.Select, interaction: discord.Interaction
):
selected_option = select.values[0]
if selected_option == "Farbe Auswählen":
await interaction.response.send_message(
view=LanguageSelectMenu()
)
class LanguageSelectMenu(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
def translate(self, text: str, to_language: str):
translator = GoogleTranslator(source='auto', target=to_language)
return translator.translate(text)
options = [
discord.SelectOption(
label="Deutsch",
description="Füge deinen Custom Titel hinzu"
),
discord.SelectOption(
label="Englisch",
description="Füge deine Custom beschreibung hinzu"
),
]
@discord.ui.select(
placeholder="🎭 | Wähle deine Sprache aus",
min_values=1,
max_values=1,
options=options,
custom_id="lg_select:select",
)
async def callback(
self, select: discord.ui.Select, interaction: discord.Interaction
):
selected_option = select.values[0]
if selected_option == "Deutsch":
await interaction.edit(
embed=discord.Embed(
description=self.translate(self.text, "de")
)
)
await interaction.response.send_message("Du hast die Sprache auf Deutsch gestellt", ephemeral=True)
if selected_option == "Englisch":
await interaction.edit(
embed=discord.Embed(
color=0x111111,
description=self.translate(self.text, "en")
)
)
await interaction.response.send_message("Du hast die Sprache auf Englisch gestellt", ephemeral=True)
dass es für alle Embeds sein soll
Was ist es?
Also es soll ein Command sein mit der du die Bot Embeds, also die Texte darin auf deine Wunsch sprache änedrn kannst z.b. en oder de
discord.Permissions
discord.Permissions.add_reactions
discord.Permissions.administrator
discord.Permissions.advanced
discord.Permissions.all
discord.Permissions.all_channel
discord.Permissions.attach_files
discord.Permissions.ban_members
discord.Permissions.change_nickname
discord.Permissions.connect
discord.Permissions.create_instant_invite
discord.Permissions.create_private_threads
discord.Permissions.create_public_threads
discord.Permissions.deafen_members
discord.Permissions.embed_links
discord.Permissions.external_emojis
discord.Permissions.external_stickers
discord.Permissions.general
discord.Permissions.is_strict_subset
discord.Permissions.is_strict_superset
Kannst ja alle embeds in einer DB speichern und dann auch was die Settings sind
Wie kann ich das sqlite theme ändern in vsc
wie mesite du das ?
Meinst du z.B. die Farbe des SQL-Statements?
SELECT ... FROM ... WHERE ... = ...
Oder wie meinst du?
Kommt auf die extension an glaub ich
Ok
Ignoring exception in command rank:
Traceback (most recent call last):
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Users\nicor\OneDrive\Desktop\Cookie Bot\cogs\lvlsystem.py", line 133, in rank
mathe_lvl = self.get_level(mathe_xp)
File "C:\Users\nicor\OneDrive\Desktop\Cookie Bot\cogs\lvlsystem.py", line 22, in get_level
xp -= amount
TypeError: unsupported operand type(s) for -=: 'tuple' and 'int'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 1133, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 381, in invoke
await injected(ctx)
File "C:\Users\nicor\AppData\Local\Programs\Python\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: TypeError: unsupported operand type(s) for -=: 'tuple' and 'int'```
Weiß jemand, was man da jetzt machen muss beim Erstellen eines Links für den Bot?
Wegen dem "Please enter a redirect uri".
was hast du denn oben bei den scopes ausgewählt?
bot
sonst nichts?
jo okay
Hi, ich habe eine Frage:
Ich versuche in einem Cog das Prefix s! zu machen (ich nutze ezcord), doch es geht nicht
egal ob ich @commands, @commands.command oder @discord.command mache
wie macht man das?
Hast du so deinen bot in der Main File defined?
Also ich weiß nd genau, aber ich vermute das man ezcord.PrefixBot machen muss
wie mention man den user der einen channel erstellt hat?
Keine Ergebnisse für channel creator gefunden. Meintest du Folgendes?
author.mention
author.mention
Damit wird der Author des Channels gepingt
Ja ich teste mal
Jo
description=f"A channel has been deleted: {channel.mention} by {author.mention}",```
also so?
Sollte so gehen. Musst du mal gucken
description=f"A new channel has been created: {channel.mention} by {author.mention}",
^^^^^^
NameError: name 'author' is not defined
Kenne deinen Code halt nicht
@bot.event
async def on_guild_channel_delete(channel):
log_channel_id = 1164852235373649920 # Replace with the actual log channel ID
log_channel = bot.get_channel(log_channel_id)
if log_channel:
creator = channel.guild.get_member(channel.guild.owner_id)
embed = discord.Embed(
title="Channel Deleted",
description=f"A channel has been deleted: {channel.mention} by {author.mention}",
color=discord.Color.red()
)
await log_channel.send(embed=embed)```
@bot.event
async def on_guild_channel_create(channel):
log_channel_id = 1164852235373649920
log_channel = bot.get_channel(log_channel_id)
if log_channel:
creator = channel.guild.get_member(channel.guild.owner_id)
embed = discord.Embed(
title="Channel Created",
description=f"A new channel has been created: {channel.mention} by {author.mention}",
color=discord.Color.green()
)
await log_channel.send(embed=embed)```
Muss man einen Loop noch irgendwo starten oder sowas? Führt halt absolut nichts aus.
@tasks.loop(time=time(9, 27, tzinfo=timezone.utc))```
Füg mal ‘ctx‘ noch hinzu und dann ctx.author.mention
Also in on_guild_channel_create(ctx, channel)
Genauso beim löschen
Musst es halt in der on_ready noch irgendwie definieren, damit die Zeile ausgeführt wird
Wenn das nicht geht einfach channel.author.mention
Ignoring exception in on_guild_channel_create
Traceback (most recent call last):
File "C:\Users\1444\AppData\Roaming\Python\Python311\site-packages\discord\client.py", line 378, in _run_event
await coro(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
TypeError: on_guild_channel_create() missing 1 required positional argument: 'channel'
Dann mach das ctx weg und mach es einfach so ‘channel.author.mention‘
Ignoring exception in on_guild_channel_create
Traceback (most recent call last):
File "C:\Users\1444\AppData\Roaming\Python\Python311\site-packages\discord\client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "C:\Users\1444\Desktop\code\main.py", line 60, in on_guild_channel_create
description=f"A channel has been deleted: {channel.mention} by {channel.author.mention}",
^^^^^^^^^^^^^^
AttributeError: 'TextChannel' object has no attribute 'author'
Dann ka. Musst du selber gucken wie man das regelt. Ich würde es nochmal mit self versuchen, aber ka
ja dann nicht schlimm trotzdem danke
Kann man eine Custom Activity (also beim Profil) mit Python machen?
Der Status Text ja, aber du kannst nur Playing, Watching, Streaming, Listing und Online, offline, Idle und dnd
Du kannst glaub auch noch Online am Handy machen
Genau
Wie erhalte ich denn nochmal den Anzeigenamen, anstelle des Usernames?
Will, dass × 𝑨𝒆𝒏𝒐𝒙𝒊𝒄 × ausgegeben wird und nicht aenoxic.
user.display_name
Funktioniert das auch aus der Member-Klasse?
Wie meinst du?
Der User ist ja der Member.
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Links aus diesem Video
Git ► https://git-scm.com/downloads
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
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://d...
Nö, bekomme immer meinen Username..
{member.display_name}```
@solid ingot GRÜÜÜÜÜÜÜßE
Wenn du das Video anschaust, wüsstest du, was zu tun ist.
Passiert in der 1. Minute.
Bin dabei.
Ich meinte nicht bei einem Bot, sondern bei User
@solid ingot, aber wie erhalte ich ihn von der Member-Klasse?
AttributeError: 'Member' object has no attribute 'global_name'
vlt ist deine pycord Version zu alt
Die schriftart.otf datei wird nicht gefunden. Wie kann man den pfad zu der schriftart angeben?
Traceback (most recent call last):
File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "C:\Users\Schüler\Documents\CosmicBot\cogs\General\Level.py", line 17, in on_ready
await db.execute(
File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 184, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 129, in _execute
return await future
^^^^^^^^^^^^
File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 102, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: database is locked
hilfeeeee
Hast du die Datenbank im DB Browser offen?
ja
Hast du da eine änderung vorgenommen ohne es zu speichern?
er erstellt keine tabelle
Wenn du was änderst, musst du auf "Änderung schreiben" klicken
das ist grau
Schließ mal dein DB Browser und versuch dann deinen code nochmal auszuführen
[ERROR] Error in event on_message
Traceback (most recent call last):
File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "C:\Users\Schüler\Documents\CosmicBot\cogs\General\Level.py", line 32, in on_message
guild = message.guild
^^^^^
UnboundLocalError: cannot access local variable 'db' where it is not associated with a value
Du connectest nirgends zu deiner Datenbank
Also kannst du auch nicht async with db.execute nutzen
jetzt
Was kommt als nächstes @solid ingot
bekomme die ganze zeit py discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body In permission_overwrites: Must be 100 or fewer in length.
das ding ich habe 11 perms die ich ändern Code:
class SupportModal(discord.ui.Modal):
def __init__(self, user, *args, **kwargs):
super().__init__(
discord.ui.InputText(
label="Wie können wir dir Helfen",
style=discord.InputTextStyle.long,
min_length=0,
max_length=2500,
),
*args,
**kwargs
)
self.user = user
async def callback(self, interaction):
with open('ticketname.json', 'r') as f:
data = json.load(f)
countersupport = data["countersupport"]
supportcategory_id = 1164311336445038747 # SUPPORT KATEGORIE
kategorie = interaction.guild.get_channel(supportcategory_id)
# Berechtigungen für den erstellten Textkanal festlegen
overwrites = {
interaction.user: discord.PermissionOverwrite(
read_messages=True, # Nachrichten lesen
send_messages=True, # Nachrichten senden
add_reactions=True, # Reaktionen hinzufügen
mention_everyone=False, # Jeden erwähnen (@everyone und @here)
)
}
# Liste der Support-Rollen
support_roles = ["⠀⠀⠀⠀🔫 𑁉 CREW-TEΛM 𑁉 🔫⠀⠀⠀⠀", "「📌」 𑁉 TICKET-SUPPORTER"]
for support_role_name in support_roles:
support_role = discord.utils.get(interaction.guild.roles, name=support_role_name)
if support_role:
overwrites[support_role] = discord.PermissionOverwrite(
read_messages=True, # Nachrichten lesen
send_messages=True, # Nachrichten senden
add_reactions=True, # Reaktionen hinzufügen
mention_everyone=False, # Jeden erwähnen (@everyone und @here)
)
# Berechtigungen für alle anderen Rollen festlegen (Keine Zugriffsrechte)
for role in interaction.guild.roles:
if role not in overwrites:
overwrites[role] = discord.PermissionOverwrite(
read_messages=False,
send_messages=False,
add_reactions=False,
)
now = datetime.datetime.now()
timestamp = now.strftime("%A, %d. %B %Y %H:%M")
ticket_beschreibung = f"Ticket geöffnet am: {timestamp}" # Das ist die Ticket kanal Beschreibung
channelsupport = await interaction.guild.create_text_channel(
f"Support-{countersupport}",
category=kategorie,
overwrites=overwrites,
topic=ticket_beschreibung
)```
(kp ob das mit chatgpt gemacht wurde ich hab den so bekommen)
bei den ganzen "#" bedenke ich es
Nur weil da ein # ist heißt es nicht das es von chatgpt kommen muss kann auch sein das er das gemacht hat um es zu verstehen oder so 🤷♂️
Du kannst nicht nichts auswählen. Probier mal min_length auf 1 zu setzten
Bzw du musst da meines Wissens was reinschreiben
Kommt immer noch
Und wenn ich mich nicht täusche kommt er Fehler von den Channel perms
Max_lenght = 100?
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In permission_overwrites: Must be 100 or fewer in length.```
Form Bpdy kommt meines Wissens von Modal
Hast du die Message_intents an?
Yes
class SupportModal(discord.ui.Modal):
def __init__(self, user, *args, **kwargs):
super().__init__(
discord.ui.InputText(
label="Wie können wir dir Helfen",
style=discord.InputTextStyle.long,
min_length=0,
max_length=2500,
),
*args,
**kwargs
)
self.user = user
async def callback(self, interaction):
with open('ticketname.json', 'r') as f:
data = json.load(f)
countersupport = data["countersupport"]
supportcategory_id = 1164311336445038747 # SUPPORT KATEGORIE
kategorie = interaction.guild.get_channel(supportcategory_id)
# Setze Berechtigungen für den Benutzer, der das Ticket erstellt
overwrites[interaction.user] = discord.PermissionOverwrite(
read_messages=True,
send_messages=True,
add_reactions=True,
mention_everyone=False,
)
# Definiere Support-Rollen
support_roles = ["⠀⠀⠀⠀🔫 𑁉 CREW-TEΛM 𑁉 🔫⠀⠀⠀⠀", "「📌」 𑁉 TICKET-SUPPORTER"]
for support_role_name in support_roles:
support_role = discord.utils.get(interaction.guild.roles, name=support_role_name)
if support_role:
overwrites[support_role] = discord.PermissionOverwrite(
read_messages=True,
send_messages=True,
add_reactions=True,
mention_everyone=False,
)
# Setze Berechtigungen für alle anderen Rollen mit minimalem Zugriff
for role in interaction.guild.roles:
if role.id not in overwrites:
overwrites[role] = discord.PermissionOverwrite(
read_messages=False,
send_messages=False,
)
now = datetime.datetime.now()
timestamp = now.strftime("%A, %d. %B %Y %H:%M")
ticket_beschreibung = f"Ticket geöffnet am: {timestamp}"
# Überprüfe, ob die Anzahl der Berechtigungen im Limit von 100 bleibt
if len(overwrites) > 100:
await interaction.response.send_message("Zu viele Berechtigungen. Der Kanal kann nicht erstellt werden.")
else:
channelsupport = await interaction.guild.create_text_channel(
f"Support-{countersupport}",
category=kategorie,
overwrites=overwrites,
topic=ticket_beschreibung
)``` test mal so
@viscid lake geht es ?
Schau ich gleich bin auf dem Klo
wenn du willst du kannst heir rein kommen https://discord.com/channels/1010915072694046794/1164922127263223929
Traceback (most recent call last):
File "/home/container/main.py", line 108, in <module>
for filename in os.listdir("cogs"):
NameError: name 'os' is not defined```
...
import os
oh
danke#
irgendwie wird die Auto mod regel nicht angezeigt
achso
ist garnicht eingerichtet
._.
Kriegt der bot nicht das Auto Mod badge?
Keine Ahnung
@solid ingot kannst du mir das sagen?
welcher bot?
Wenn er auf unterschiedlichen Servern etwas mit Automod macht ja sonst nicht
Eigenen
Hat Timo bereits im Video gesagt
Wie vielen?
Habs nicht geschaut
Kannst du nachlesen
wo
Auf der discord Website
wenn ich jemand hinzufüge per id ist der channel auf einmal offen warum auch immer
class UserHinzufuegenModal(discord.ui.Modal):
def __init__(self, *args, **kwargs):
super().__init__(
discord.ui.InputText(
label="USER ID",
placeholder="Schreibe die User ID hier rein",
min_length=18,
max_length=18,
),
*args,
**kwargs
)
async def callback(self, interaction):
user_id = self.children[0].value
try:
user_id = int(user_id)
except ValueError:
ungueltige_id_embed = discord.Embed(
title="Ungültige User ID",
description=f"Bitte gib eine gültige numerische ID ein",
color=discord.Color.red()
)
await interaction.response.send_message(embed=ungueltige_id_embed, ephemeral=True)
return
user = interaction.guild.get_member(user_id)
if not user:
user_id_embed = discord.Embed(
title="User nicht Gefunden",
description=f"Die angegebene User ID wurde nicht gefunden oder gibt es nicht",
color=discord.Color.red()
)
await interaction.response.send_message(embed=user_id_embed, ephemeral=True)
return
text_channel = interaction.channel
overwrites = text_channel.overwrites
if user in overwrites:
user_id_ist_im_ticket = discord.Embed(
title="User bereits im Ticket ??",
description=f"Der User {user.mention} ist bereits im Ticket.",
color=discord.Color.blue()
)
await interaction.response.send_message(embed=user_id_ist_im_ticket, ephemeral=True)
return
overwrites[user] = discord.PermissionOverwrite(
read_messages=True,
send_messages=True,
add_reactions=True,
use_slash_commands=False,
external_emojis=False,
use_external_emojis=False,
mention_everyone=True,
attach_files=True,
embed_links=True,
manage_messages=False,
send_tts_messages=False,
create_instant_invite=False,
)
await text_channel.edit(overwrites=overwrites)
embed = discord.Embed(
title="✅ USER ERFOLGREICH HINZUGEFÜGT ✅",
description=f"{interaction.user.mention} hat den User {user.mention} zum Ticket Hinzugefügt",
color=discord.Color.green()
)
await interaction.response.send_message(embed=embed)```
hat jemand eine lösung und beim entfernen wird der user dann auch nicht entfernt
overwrites = discord.PermissionOverwrite(
user,
read_messages=True,
send_messages=True,
add_reactions=True,
use_slash_commands=False,
external_emojis=False,
use_external_emojis=False,
mention_everyone=True,
attach_files=True,
embed_links=True,
manage_messages=False,
send_tts_messages=False,
create_instant_invite=False,
)
await text_channel.edit(overwrites=overwrites)
versuchs mal so
Wisst ihr was passiert, wenn man eine Message ID einer gelöschten Nachricht hat und davon eine PartialMessage bekommen will?
File "c:\Users\sebas\Desktop\baustelle\haupt bot\cogs\moderation\modmail.py", line 242, in callback
overwrites = discord.PermissionOverwrite(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: PermissionOverwrite.__init__() takes 1 positional argument but 2 were given```
anscheinend gehts nur mit *args oder so.
Da ist auf jeden Fall ein was zu viel
overwrites = {
user: discord.PermissionOverwrite(
read_messages=True,
send_messages=True,
add_reactions=True,
use_slash_commands=False,
external_emojis=False,
use_external_emojis=False,
mention_everyone=True,
attach_files=True,
embed_links=True,
manage_messages=False,
send_tts_messages=False,
create_instant_invite=False,
)
}
await ctx.text_channel.edit(overwrites=overwrites)
```?
Hey, an die ganzen Python OpenCV Freaks unter euch:
Ich habe eine kleine Frage!
Wie kann ich denn checken ob ein Gesicht in der Cam ungefähr mit einem Bild übereinstimmen? Sollte ich dafür mit YoloV5 models Arbeiten oder gibt es da einen anderen, vielleicht sogar einfacheren Weg?
Vielen Dank im Vorraus!
Kann mir wer ein Ticke system geben bitte
Nö
Fragen nach fertigen Codes ist verboten. In 💙・code-austausch und auf meinem GitHub Profil findest du einige Code-Beispiele ( #🔰・old-help-rules )
Ok
wenn du timo seine vieso an gesehen hast denn kannst dir ein machen
Welche brauch ich dafür
Welche Art von Ticketsystem möchten Sie nutzen?
Code es doch selber
Ich kann nicht coden
Dann versuche es und dann lernst du mehr und du kannst besser coden
@lofty rock guck mal dm
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\modal.py", line 285, in find_open_space
raise ValueError("could not find open space for item")
ValueError: could not find open space for item```
def __init__(self, user, *args, **kwargs):
super().__init__(
discord.ui.InputText(
label="Als was möchtest du dich bewerben ?",
style=discord.InputTextStyle.long,
min_length=0,
max_length=2500,
),
discord.ui.InputText(
label="Wie alt bist du ?",
style=discord.InputTextStyle.long,
min_length=1,
max_length=2500,
),
discord.ui.InputText(
label="Was sind deine Stärken ?",
style=discord.InputTextStyle.long,
min_length=2,
max_length=2500,
),
discord.ui.InputText(
label="Nennen mir 3 nicht so gute Dinge über dich",
style=discord.InputTextStyle.long,
min_length=3,
max_length=2500,
),
discord.ui.InputText(
label="Wie sind Ihre Online-Zeiten?",
style=discord.InputTextStyle.long,
min_length=4,
max_length=2500,
),
discord.ui.InputText(
label="haben sie Admin Erfahrung",
placeholder="zb auf Servern",
style=discord.InputTextStyle.long,
min_length=5,
max_length=2500,
),
*args,
**kwargs
)
self.user = user```
Probier mal ein InputText zu entfernen
Wollte gerade mal das Dashboard in grundzügen nachcoden mit dem Tut, bei Part 2 kommt aber der Error
Hab aber leider keinen Plan von Ezcord 😅
pip freeze
naja ezcord ist schon installiert 😅
Zeig deine pip freeze
Hmmm
@graceful fiber komm mal call
hm?
https://discord.com/channels/1010915072694046794/1165040949068562532 komm mal hier rein oder guck hier https://discord.com/channels/1010915072694046794/1010955093140586586
also einfach nur die dev branch installieren?
kann erst gleich kurz kommen
Wie kann ich das so machen, dass nur bestimmte Rollen die Buttons nutzen dürfen?
rolle getten und dann mit ner if abfrage prüfen ob der user die rolle hat, und wenn nicht dann schickst du die nachricht das er nh ebstimmte rolle braucht
welches vsc plugin nutzt Timo eigentlich um die datenbanken anzeigen zu lassen?
keines
Wenn ich mich nicht täusche ist das von Pycharm so
Nein
Statt ein x kannst du es auch sagen 
geht auch gar nd xD
Such einfach nach qwtel.sqlite-viewer
Ich benutzte das nicht 🤷
dann hast du es :)
toktok
Doch, man kann die datenbank in vsc anzeigen lassen
@modest obsidian du hast es ja geschafft ^^
Dankee ^^
Kein ding :o
nein das geht nicht mit einem plugin von pycharm 😄
aso in pycharm 🤭
ja erst lesen 🙂
Hi habe eine frage kann mir jemand bei dem erorr code helfen weil ich sitze daran schon seit/ monaten Traceback (most recent call last):
File "C:\Users\chris\PycharmProjects\pythonProject7\main.py", line 5, in <module>
import aiocron
File "C:\Users\chris\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiocron_init_.py", line 2, in <module>
from croniter.croniter import croniter
File "C:\Users\chris\AppData\Local\Programs\Python\Python311\Lib\site-packages\croniter_init_.py", line 3, in <module>
from .croniter import (
File "C:\Users\chris\AppData\Local\Programs\Python\Python311\Lib\site-packages\croniter\croniter.py", line 6, in <module>
import traceback as _traceback
File "C:\Users\chris\AppData\Local\Programs\Python\Python311\Lib\traceback.py", line 5, in <module>
import linecache
File "C:\Users\chris\AppData\Local\Programs\Python\Python311\Lib\linecache.py", line 11, in <module>
import tokenize
File "C:\Users\chris\AppData\Local\Programs\Python\Python311\Lib\tokenize.py", line 38, in <module>
cookie_re = re.compile(r'^[ \t\f]#.?coding[:=][ \t]*([-\w.]+)', re.ASCII)
^^^^^^^^
AttributeError: module 're' has no attribute 'ASCII'
Process finished with exit code 1
code ?
cogs oder main ?
Da wo der Error ist
wozu brauchst du denn aiocron
war im code drinnw
Ja dann schick den Code

print("in das")
``` immer doch
aua
Sei mal leise und Troll nicht du idiot
import ezcord
import random
from discord import Option
import aiocron
import pytz
bot = ezcord.Bot(
)
c = [
"Online",
"Idle",
"Do not disturb",
"Invisible",
]
gametype = [
"Playing",
"Streaming",
"Listening",
"Watching",
]
@bot.slash_command(name="status", description="Set the status of the bot")
async def abc(ctx, status: Option(str, "The status of the bot", choices=c), gametype: Option(str, "The gametype of the bot", choices=gametype), *, text: Option(str, "The text of the bot")):
if status == "Online":
status = discord.Status.online
elif status == "Idle":
status = discord.Status.idle
elif status == "Do not disturb":
status = discord.Status.dnd
elif status == "Invisible":
status = discord.Status.invisible
else:
status = discord.Status.online
if gametype == "Playing":
gametype = discord.ActivityType.playing
elif gametype == "Streaming":
gametype = discord.ActivityType.streaming
elif gametype == "Listening":
gametype = discord.ActivityType.listening
elif gametype == "Watching":
gametype = discord.ActivityType.watching
else:
gametype = discord.ActivityType.playing
await bot.change_presence(status=status, activity=discord.Activity(type=gametype, name=text))
await ctx.respond(content=f"Status was set to {status} {gametype} {text}", ephemeral=True)
minute = "0"
stunde = "22"
end = f"{minute} {stunde} * * *"
@aiocron.crontab(end, tz=pytz.timezone('Europe/Berlin'), start=True)
async def morning():
channel = bot.get_channel(1111799805384081588)
await channel.send("Gute Nacht Feuer-chris • Community ! ::sleeping::")
minute = "0"
stunde = "6"
end = f"{minute} {stunde} * * *"
@aiocron.crontab(end, tz=pytz.timezone('Europe/Berlin'), start=True)
async def morning():
channel = bot.get_channel(1111799805384081588)
await channel.send("Guten Morgen Feuer-chris • Community ! ::sleeping_accommodation::")
@bot.slash_command(name="iq", description="Zeigt dir den IQ eines Users an")
async def iq(ctx, user: discord.Member = None):
if user == None:
user = ctx.author
await ctx.respond(f"**{user.name}'s IQ:** {random.randint(75, 150)}")
@bot.slash_command(description='Kicke ein Nutzer auf dein Server.')
async def kick(ctx, member: discord.Member, grund: str):
if not ctx.author.guild_permissions.kick_members:
embed = discord.Embed(title=":warning: | Du hast keine Rechte dafür!", color=0xffa55c)
await ctx.respond(embed=embed, ephemeral=False)
return
guild = bot.get_guild(886328523701223504)
embed = discord.Embed(title=f"Erfolgreicher Kick!", description=f"""
**Der Nutzer {member.mention} Wurde Erfolgreich Gekickt**
Grund: {grund}
""", color=0x2ecc71)
embed.set_thumbnail(url=f"{ctx.guild.icon.url}")
embed.set_footer(text=f"{ctx.author.name}", icon_url=ctx.author.avatar.url)
await ctx.respond(embed=embed)
embed2 = discord.Embed(title=f'**Du Wurdest Gekickt! auf {ctx.guild.name}**', description=f"""
**Der Grund: {grund}**
""", color=0xe74c3c)
embed2.set_thumbnail(url=f"{ctx.guild.icon.url}")
embed2.set_footer(text=f"{ctx.author.name}", icon_url=ctx.author.avatar.url)
await member.send(embed=embed2)
await ctx.guild.kick(member)
if message.content.startswith("!apply"):
applyChannel = client.get_channel(729854567197704303)
@bot.slash_command(description="Überprüfe ob der Bot noch online ist!")
async def ping(ctx):
await ctx.respond(f"**:bulb:` | Pong! {ctx.author.mention}**", ephemeral=True)
@bot.event
async def on_ready():
print(f"{bot.user} ist online")
if name == "main":
bot.load_cogs("cogs") # Load all cogs in the "cogs" folder
bot.run ```
Hilfe
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
UTC Zeitzone
► https://time.is/de/UTC
Code auf Github
► https://github.com/tibue99/tutorial-bot
Tutorial Playlist
► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Discord Developer Portal
► https://discord.com/developers/applications
Pycord
Docs ► https://docs.pycord....
#🔰・old-help-rules CODEBLÖCKE
@modest obsidian schau dir das Video an
bei was soll das mir in diesem fall helfen ?
bei @aiocron
ja das in deinem code kann man auch in tasks machen
Musst nur ein TXT Record hinzufügen lol hab ich auch. Hast überhaupt ne Domain?
Such einfach auf Google. Discord Rich Presence: Spotify, YouTube oder Pornhub
import asyncio
import discord
from discord.ext import commands
from discord.commands import slash_command
class Umfrage(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.Btnopti1 = None
self.Btnopti2 = None
self.channel = None
self.embed = None
@slash_command(
name='umfrage',
description='Erstelle eine Umfrage',
)
async def umfrage(self, ctx, channel: discord.TextChannel = None):
# Variablen
self.channel = channel or ctx.channel
if not ctx.author.guild_permissions.manage_messages:
await ctx.send('Du hast keine Berechtigung, diesen Befehl zu verwenden.', hidden=True)
return
self.embed = discord.Embed(
title='Umfrage-Embed',
color=discord.Color.blue()
)
self.embed.set_thumbnail(url=ctx.guild.icon.url)
self.embed.add_field(name='Option 1', value='> **`0`** Stimmen', inline=True)
self.embed.add_field(name='Option 2', value='> **`0`** Stimmen', inline=True)
self.embed.add_field(name='Umfrageersteller:', value=f'> {ctx.author}', inline=False)
components = [
discord.ui.Button(
style=discord.ButtonStyle.secondary,
label='Titel',
emoji='📝',
custom_id='umfrage-titel'
),
discord.ui.Button(
style=discord.ButtonStyle.secondary,
label='Beschreibung',
emoji='📝',
custom_id='umfrage-beschreibung'
),
discord.ui.Button(
style=discord.ButtonStyle.secondary,
label='Optionen bearbeiten',
emoji='📝',
custom_id='umfrage-optionen'
),
discord.ui.Button(
style=discord.ButtonStyle.primary,
label='Umfrage senden',
emoji='✉️',
custom_id='umfrage-send'
),
discord.ui.Button(
style=discord.ButtonStyle.secondary,
label='Kanal bearbeiten',
emoji='📝',
custom_id='umfrage-kanal'
)
]
await ctx.send(content=f'Sende an: {self.channel.mention}', embed=self.embed, components=components)
@commands.Cog.listener()
async def on_button_click(self, interaction):
if not interaction.component.custom_id.startswith('umfrage-'):
return
# Behandlung von Button-Interaktionen
if interaction.component.custom_id == 'umfrage-titel':
title_modal = discord.ui.View()
title_option = discord.ui.TextInput(style=discord.TextInputStyle.short, placeholder='Titel des Embeds')
title_modal.add_item(title_option)
await interaction.response.send_message('Gib den neuen Titel ein:', view=title_modal)
try:
title_response = await self.bot.wait_for('button_click', check=lambda
res: res.user == interaction.user and res.view == title_modal, timeout=60)
title = title_response.values[0]
if title:
self.embed.title = title
await interaction.response.edit_message(embed=self.embed)
await interaction.response.defer()
except asyncio.TimeoutError:
await interaction.response.send_message('Keine Antwort erhalten.', ephemeral=True)
def setup(bot):
bot.add_cog(Umfrage(bot))
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: TypeError: Messageable.send() got an unexpected keyword argument 'components'```
Frage... wie fügt man eigentlich zu seinem Dashbord aus dem Tutorial ein Icon hinzu? also zu der website? weil ich finde nix im internet..
Du machst in deinen Header einfach <img src="BILD.png">
bot = commands.Bot(command_prefix="*", activity=activity, status=discord.Status.online, intents=intents)
^^^^^^^^^^^^
AttributeError: module 'discord.commands' has no attribute 'Bot'```
Musst discord.Bot machen ig
@bot.slash_command # Replace 'slash_command' with 'add_command'
^^^^^^^^^^^^^^^^^
TypeError: ApplicationCommandMixin.slash_command() takes 1 positional argument but 2 were given```
ezcord.PrefixBot
Wo codest du denn? Pycord?
Wieso wird der User nicht mit der neuen Discord funktion getimeoutet ?
Code
import discord
import os
import humanfriendly
import datetime
from discord.ext import commands
from discord.commands import slash_command
class TimeoutCommand(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command(description="hello")
async def mute(self, ctx, member: discord.Member, time, *, reason: str = None):
time = humanfriendly.parse_timespan(time)
await member.edit(timeout = discord.utils.utcnow() + datetime.timedelta(seconds=time))
await ctx.respond(f"{member.mention} wurde für {time} gemutet: {reason}")
@slash_command(description="hello")
async def unmute(self, ctx, member: discord.Member, *, reason: str = None):
await member.edit(timeout = None)
await ctx.respond(f"{member.mention} wurde für {reason} unmutet")
def setup(bot):
bot.add_cog(TimeoutCommand(bot))
Fehler
[ERROR] Error while executing /mute
Traceback (most recent call last):
File "C:\Users\YT197\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
File "C:\Users\YT197\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "c:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\Ninja Dojo (Public Bot)\cogs\Admin\timeout.py", line 16, in mute
await member.edit(timeout = discord.utils.utcnow() + datetime.timedelta(seconds=time))
TypeError: Member.edit() got an unexpected keyword argument 'timeout'
discord.Member.timeout
discord.Member.timeout_for
discord.ui.View.timeout
discord.Guild.afk_timeout
discord.ui.View.on_timeout
discord.ui.Modal.on_timeout
discord.Member.remove_timeout
discord.AuditLogDiff.afk_timeout
discord.AutoModActionType.timeout
discord.ui.View.disable_on_timeout
discord.AutoModActionMetadata.timeout_duration
discord.ext.pages.Paginator.on_timeout
Alles klar 👌
Wie kann ich es fixen, dass mir nicht die Sekunden zurückgegebn werden im Chat, sondern das was ich eingetragen haben in time ?
import discord
import os
import humanfriendly
import datetime
from discord.ext import commands
from discord.commands import slash_command
class TimeoutCommand(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command(description="hello")
async def mute(self, ctx, member: discord.Member, time, *, reason: str = None):
time = humanfriendly.parse_timespan(time)
await member.timeout(discord.utils.utcnow() + datetime.timedelta(seconds=time))
await ctx.respond(f"{member.mention} wurde für {time} gemutet: {reason}")
@slash_command(description="hello")
async def unmute(self, ctx, member: discord.Member, *, reason: str):
await member.remove_timeout()
await ctx.respond(f"{member.mention} wurde für {reason} unmutet")
def setup(bot):
bot.add_cog(TimeoutCommand(bot))
Also du willst, dass das was du bei "time" angibst ausgegeben wird?
Also das was ich eingebe soll auch in der Respond sein. Momentan bekomme ich es so zurück "@Xantis SLR wurde für 432000.0 gemutet: None"
Dann definier es halt in Zeile 15 nicht als time, weil du es ja schon bei der mute function als parameter hast
@slash_command(description="hello")
async def mute(self, ctx, member: discord.Member, time, *, reason: str = None):
time_for_timeout = humanfriendly.parse_timespan(time)
await member.timeout(discord.utils.utcnow() + datetime.timedelta(seconds=time_for_timeout))
await ctx.respond(f"{member.mention} wurde für {time} gemutet: {reason}")
Ich habe eine frage und zwar wie kann ich abfragen ob der User getimeoutet wurde oder nicht und darauf hin soll der User getimeoutet werden wenn er es nicht ist und wenn der getimeoutet ist, soll eine Nachricht kommen
@slash_command(name="mute", description="Timeoute einen Member")
async def mute(self, ctx,
member: Option(discord.Member, "Wähle einen Member"),
time: Option(str, required=True, description="Gib eine Zeit an", choices = [
OptionChoice(name="60 sec", value=60),
OptionChoice(name="5 min", value=300),
OptionChoice(name="10 min", value=600),
OptionChoice(name="1 hour", value=3600),
OptionChoice(name="1 day", value=86400),
OptionChoice(name="1 week", value=604800)
]), *,
grund: Option(str, required=True, description="Grund für den Timeout")
):
time_in_seconds = time
time_for_timeout = humanfriendly.parse_timespan(time)
await member.timeout(discord.utils.utcnow() + datetime.timedelta(seconds=time_for_timeout))
em = discord.Embed(
title="Timeout",
color=MyColor
)
em.add_field(name="User", value=f"{member.mention} | `{member.id}`", inline=False)
em.add_field(name="Grund", value=f"{grund}", inline=False)
em.add_field(name="Zeit", value=f"{time_in_seconds}", inline=False)
em.add_field(name="Teamler", value=f"{ctx.author.mention} | `{ctx.author.id}`", inline=False)
em.set_footer(text=f"{ctx.guild.name}", icon_url=ctx.guild.icon)
await ctx.respond(embed=em)
damit
danke
kd
bei mir beim starten des bots beim hosting kommt dieser error
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.
Das ist noch kein Error
Um dir zu helfen, brauchen wir die Meldung darüber
warte
Python 3.10.13
:/home/container$ if [[ -d .git ]] && [[ "${AUTO_UPDATE}" == "1" ]]; then git pull; fi; if [[ ! -z "${PY_PACKAGES}" ]]; then pip install -U --prefix .local ${PY_PACKAGES}; fi; if [[ -f /home/container/${REQUIREMENTS_FILE} ]]; then pip install -U --prefix .local -r ${REQUIREMENTS_FILE}; fi; /usr/local/bin/python /home/container/${PY_FILE}
Requirement already satisfied: py-cord in ./.local/lib/python3.10/site-packages (from -r requirements.txt (line 1)) (2.4.1)
Requirement already satisfied: typing-extensions<5,>=4 in ./.local/lib/python3.10/site-packages (from py-cord->-r requirements.txt (line 1)) (4.8.0)
Requirement already satisfied: aiohttp<3.9.0,>=3.6.0 in ./.local/lib/python3.10/site-packages (from py-cord->-r requirements.txt (line 1)) (3.8.6)
Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in ./.local/lib/python3.10/site-packages (from aiohttp<3.9.0,>=3.6.0->py-cord->-r requirements.txt (line 1)) (4.0.3)
Requirement already satisfied: charset-normalizer<4.0,>=2.0 in ./.local/lib/python3.10/site-packages (from aiohttp<3.9.0,>=3.6.0->py-cord->-r requirements.txt (line 1)) (3.3.0)
Requirement already satisfied: attrs>=17.3.0 in ./.local/lib/python3.10/site-packages (from aiohttp<3.9.0,>=3.6.0->py-cord->-r requirements.txt (line 1)) (23.1.0)
Requirement already satisfied: yarl<2.0,>=1.0 in ./.local/lib/python3.10/site-packages (from aiohttp<3.9.0,>=3.6.0->py-cord->-r requirements.txt (line 1)) (1.9.2)
Requirement already satisfied: frozenlist>=1.1.1 in ./.local/lib/python3.10/site-packages (from aiohttp<3.9.0,>=3.6.0->py-cord->-r requirements.txt (line 1)) (1.4.0)
Requirement already satisfied: multidict<7.0,>=4.5 in ./.local/lib/python3.10/site-packages (from aiohttp<3.9.0,>=3.6.0->py-cord->-r requirements.txt (line 1)) (6.0.4)
Requirement already satisfied: aiosignal>=1.1.2 in ./.local/lib/python3.10/site-packages (from aiohttp<3.9.0,>=3.6.0->py-cord->-r requirements.txt (line 1)) (1.3.1)
Requirement already satisfied: idna>=2.0 in ./.local/lib/python3.10/site-packages (from yarl<2.0,>=1.0->aiohttp<3.9.0,>=3.6.0->py-cord->-r requirements.txt (line 1)) (3.4)
[notice] A new release of pip is available: 23.0.1 -> 23.3.1
[notice] To update, run: pip install --upgrade pip
Traceback (most recent call last):
File "/home/container/main.py", line 6, in <module>
from dotenv import load_dotenv
ModuleNotFoundError: No module named 'dotenv'
python-dotenv
Musst python-dotenv installieren
ins requirement.txt schreiben
ok
Hallo weiß wer wie ich bei guthup diese abzeichen bekomme? (hat sich beantwortet)
Ja, google weiß das
Kann jemand über nen Code (Code ist nen Command in Dc) drüber gucken und mir sagen was man verbessern könnte (Am code oder ähnlichem und code schicke ich per dm)
ok
dm
Welchen
nicht deinen 
Hab schon ne Antwort von wem und das reicht mir
😕
Keine Ergebnisse für banned gefunden. Meintest du Folgendes?
Warum tritt der Fehler auf und wie kann ich ihn beheben, damit ich diesen User entbannen kann ?
fehlercode
[ERROR] Error while executing /unban
Traceback (most recent call last):
File "C:\Users\YT197\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
File "C:\Users\YT197\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "c:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\Ninja Dojo (Public Bot)\cogs\Admin\ban.py", line 136, in unban
await ctx.guild.unban(user=member, reason=grund)
File "C:\Users\YT197\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\guild.py", line 3094, in unban
await self._state.http.unban(user.id, self.id, reason=reason)
AttributeError: 'str' object has no attribute 'id'
Code
@slash_command(name="unban", description="Entbanne einen User von dem Server")
async def unban(self, ctx: commands.Context,
member: Option(str, "Gib die ID des zu entbannenden Users an"),
grund: Option(str, required=True, description="Bitte gebe einen Grund an", choices=[
OptionChoice(name=gr, value=gr) for gr in [
"Entschuldigt",
"Andere"
]
])):
member_id = int(member)
if not ctx.author.guild_permissions.ban_members:
await ctx.respond(f"Du hast keine Berechtigung um von dem User {member.mention} seinen Timeout zu Entfernen", ephemeral=True)
return
em1 = discord.Embed(
color=MyColor
)
file1 = discord.File(f"img/Banner.png", filename="Banner.png")
em1.set_image(url="attachment://Banner.png")
em2 = discord.Embed(
title="User entbannt",
color=MyColor,
timestamp=datetime.now()
)
async with aiosqlite.connect("database/ban.db") as db:
async with db.cursor() as cursor:
await cursor.execute("SELECT user_name, user_id FROM bans WHERE user_id = ? AND guild_id = ?", (int(member), ctx.guild.id))
result = await cursor.fetchone()
user_name = result[0] if result else "Unbekannt"
em2.add_field(name="User", value=f"{user_name} | `{member_id}`", inline=False)
em2.add_field(name="Grund", value=f"{grund}", inline=False)
em2.add_field(name="Teamler", value=f"{ctx.author.mention} | `{ctx.author.id}`", inline=False)
em2.set_footer(text=f"{ctx.guild.name}", icon_url=self.bot.user.avatar.url)
file2 = discord.File(f"img/Imagelinie.png", filename="Imageline.png")
file3 = discord.File(f"img/Profilbild.png", filename="Profilbild.png")
em2.set_image(url="attachment://Imageline.png")
em2.set_thumbnail(url="attachment://Profilbild.png")
await ctx.guild.unban(user=member, reason=grund)
await ctx.respond(embeds=[em1, em2], files=[file1, file2, file3])
member ist kein Member, sondern nur eine ID
Und wie fixe ich mein Problem ?
Verstehe gerade nicht wo ich nen fehler gemacht hab 😅
fetch_user
ok
Habe ein Problem Mit Meine Slash Commands... Undzwar... das alle meine commands nur für admins sichtbar sind und nicht für alle leute... wie kann man das beheben?
Ich meine bei den Slash Commands ist das so, dass sie nur angeigt werden, wenn du dann eine bestimmte permission hast und wenn du keine angeben hast im Code, sollten sie immer sichtbar sein
habe ja nix angegeben... das ist ja das komische... allerding glaube ich habe ich den bug gefixt.. auser das man jz alle commands wieder sehen kann... auch die mit perms im code...
also mit command groups
Das habe ich auch, dass man trotz perms alle es sehen
discord.default_permissions?
Wie wäre es für einen bestimmten guild ?
im cog?
Warum zählt der ban_counts hier keinen hoch, wenn der user gebannt ist ?
Code
ja
@slash_command(description="Zeigt die Server auf dem der Bot ist",guild_ids=[493422342635126786])```
AH
also einf guild ids in die Liste
Jo
Das problem nervt echt
idk wieso überhaupt die datenbank?
wegen ban_counts unteranderem
mache ich persölich so
len(ctx.guild.bans)
du kannst doch alle die gebannt sind ohne datenbank herausfinden?
habe dafür aber extra datenbank und möchte nur wissen, warum mein Code nicht +1 zählt
ok
ik, aber ich mache es halt auf meine art
Funktioniert ja auch bei meinem Timeout command
hm


