#Allgemeine Hilfe
1 messages · Page 58 of 1
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 ...
du willst ja einen post in einem forumchannel erstellen, also schau mal in den docs bei ForumChannel
und der start?
channel = ..get_channel(ID)
channel.create_thread.......................
zum beispiel
import discord
import ezcord
import asyncio
from discord.ext import commands
from discord.commands import SlashCommandGroup, Option
class ServerSetup(ezcord.Cog):
setup = SlashCommandGroup("setup")
@commands.Cog.listener()
async def on_ready(self):
self.bot.add_view(ButtonView(guild=None))
@setup.command(description="Richtet den Server mit passenden Kanälen und Sprachkanälen ein.")
@commands.has_permissions(administrator=True)
@commands.bot_has_permissions(administrator=True)
async def server(self, ctx):
await ctx.respond("> :warning: **ACHTUNG: Dieser Vorgang löscht alle Rollen und Kanäle. Möchtest du fortfahren?**", view=ButtonView(guild=ctx.guild))
def setup(bot: discord.Bot):
bot.add_cog(ServerSetup(bot))
class ButtonView(discord.ui.View):
def __init__(self, guild):
self.guild = guild
super().__init__(timeout=None)
@discord.ui.button(label="Fortfahren", style=discord.ButtonStyle.green, custom_id="CheckButton")
async def callback(self, button, interaction):
channels = self.guild.channels()
for i in range(500):
for channel in channels:
await channel.delete()
Traceback (most recent call last):
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 421, in _scheduled_task
await item.callback(interaction)
File "C:\Users\Leand\PycharmProjects\kompetenz\modules\serversetup.py", line 29, in callback
channels = self.guild.channels()
^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'channels'
Wieso übergibst du die guild?=
Habe das Guild an den Button übergeben, denn wenn der "Bestätigungsbuton" gedrückt worden ist, sollen erst die channel gelöscht werden.
Und dann die neuen erstellt werden
Aber du musst die Guild dafür nicht übergeben
Wie denn?
interaction.guild?
Du kannst mit interaction.guild auf die Guild zugreifen
korrekt
Du machst es dir selber schwerer als es ist
Und wofür diese Zeile: for i in range(500):?
@twilit anvil
Na und?
for channel in interaction.guild.channels:
geht ja durch alle channels
Also macht deine zeile eigentlich keinen sinn
import discord
import ezcord
import asyncio
from discord.ext import commands
from discord.commands import SlashCommandGroup, Option
class ServerSetup(ezcord.Cog):
setup = SlashCommandGroup("setup")
@commands.Cog.listener()
async def on_ready(self):
self.bot.add_view(ButtonView())
@setup.command(description="Richtet den Server mit passenden Kanälen und Sprachkanälen ein.")
@commands.has_permissions(administrator=True)
@commands.bot_has_permissions(administrator=True)
async def server(self, ctx):
await ctx.respond("> :warning: **ACHTUNG: Dieser Vorgang löscht alle Rollen und Kanäle. Möchtest du fortfahren?**", view=ButtonView())
def setup(bot: discord.Bot):
bot.add_cog(ServerSetup(bot))
class ButtonView(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
@discord.ui.button(label="Fortfahren", style=discord.ButtonStyle.green, custom_id="CheckButton")
async def callback(self, button, interaction):
for channel in interaction.guild.channels:
await channel.delete()
print(f"Deleted: {channel.name}")
@twilit anvil du machst es dir selber schwerer als ist es
Das kann sein.
Danke dir.
await support.create_forum_channel(name="〣│🔌・offener-support")
?
Traceback (most recent call last):
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 421, in _scheduled_task
await item.callback(interaction)
File "C:\Users\Leand\PycharmProjects\kompetenz\modules\serversetup.py", line 54, in callback
await support.create_forum_channel(name="〣│🔌・offener-support")
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\channel.py", line 2773, in create_forum_channel
return await self.guild.create_forum_channel(name, category=self, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\guild.py", line 1488, in create_forum_channel
data = await self._create_channel(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\http.py", line 371, in request
raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50024): Cannot execute action on this channel type```
Ist "support" ein Forum Channel?
Mit einer einzigen Line Code kannst du hier keine Hilfe erwarten
class ButtonView(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
@discord.ui.button(label="Fortfahren", style=discord.ButtonStyle.green, custom_id="CheckButton")
@commands.has_permissions(administrator=True)
@commands.bot_has_permissions(administrator=True)
async def callback(self, button, interaction):
guild = interaction.guild
for channel in interaction.guild.channels:
await channel.delete()
await asyncio.sleep(5)
infos = await guild.create_category(name="📙・Informationen")
await infos.create_text_channel(name="〣│📚・regelwerk", topic="Lese dir die Regeln dieses Servers durch!")
await infos.create_text_channel(name="〣│📣・ankündigungen", topic="Bleibe immer auf dem neuestem Stand!")
await infos.create_text_channel(name="〣│🎳・events", topic="Mache bei coolen Events mit!")
await infos.create_text_channel(name="〣│🎁・gewinnspiele", topic="Ich drücke dir die Daumen!")
general = await guild.create_category(name="⚔️・Community")
await general.create_text_channel(name="〣│💭・hauptchat", topic="Unterhalte dich mit den anderen Mitgliedern!", slowmode_delay=2)
await general.create_text_channel(name="〣│📷・bilder", topic="Teile deine Kunstwerke!")
await general.create_text_channel(name="〣│🔌・commands", topic="Benutze die Bots dieses Servers!")
await general.create_voice_channel(name="〣│📻・Radio")
await general.create_voice_channel(name="〣│⛺・Zeltlager", user_limit=10)
support = await guild.create_category(name="🆘・Support")
await support.create_text_channel(name="〣│🎫・ticket-erstellen", topic="Ob Support oder Bewerbung: Wir sind für dich da!")
await support.create_forum_channel(name="〣│🔌・offener-support")```
Ah lol, hab eben oben falsch gelesen xD
Dachte du versuchst ein Post zu erstellen.
My Bad, wait ich schau kurz
Alles gut, kein Problem
Bin auf der gleichen Seite in den Docs.
Aber checke das nicht xD
Aber eigentlich reicht der Name doch?
Allein das du so viele channels erstellst und so viele channels löscht ._.
Dein Bot wird so oft nen raitlimit bekommen xD
Hm an sich finde ich jetzt keinen direkten fehler
Allein das du so viele channels erstellst und so viele channels löscht ._.
Ist für ein System im #1027677692730036294
Soll ein verbessertes Server-Template sein.
Nur halt mit dem Bot an sich.
Is aber keine Gute idee so viele channels zu löschen und dann zu erstellen
jo und zwar hab ich einen Problem. Ich versuche einen Ticket Bot via Selection Menüs zu coden. nur es lässt sich kein channel erstellen bite um Hilfe.
alles gut war mit ihm abgesprochen
Wofür die Zeile????
muss die raus? ohne das kommt direkt nen fehler
Macht an der stelle sehr wenig sinn
Welcher fehler?
Btw: Wenn du den Ticket Channel so erstellen willst (letzte Zeile) wird das nicht fruchten: Du musst das mit einem - abtrennen.
jaa nur da steht interaction fehlgeschlagen
mit dem lässt sich auch nix einstellen
bin überfragt 😦
Das ist ja auch für pycord so.
Mit discord.py kenne ich mich nicht aus.
@urban glen
Ohne genaue Fehlermeldung und mehr Code kann ich nd helfen
das hab ich für das select menü. Fehler gibt es keine
wollte halt oben die 3 emojis nehmen für die textkanäle wo die leute halt drauf drücken halt [emoji] name
nur da klappt halt leider garnichts
Ich verstehe das genaue problem gerade nicht
mein problem ist das es keinen channel erstellt für das ticket system aber auch keine fehlermeldung angezeigt wird außer in discord interaktion fehlgeschlagen
und ich absolut keine ahnung hab wo ran es liegt
so oke channel werden erstellt jetzt brauche ich nur hilfe diese mit rechten zu versehen und da so nh willkommensnachricht rein zu senden
und wie ich die emojis oben benutze für den namen der text kanäle
Ich habe das mit embeds gemacht
Schreib doch deutsch?
yea but howw
sry
Keine Ergebnisse für discord.Overwrites gefunden. Meintest du Folgendes?
und wie kann ich denn channel so nennen das der [emoji] und der name vom spieler ist?
wie denn
Hmm?
guck mal oben bei den options sind ja die emojis für die 3 kategorien und ich will halt das der channel so erstellt wird wenn er zum beispiel auf das erste emoji klickt das der channel dann mit dem jewaligen emoji anfängt und dann der spielername
hoffe das verständlich erklärt
Wie kann man bei Pycord Befehe auf Server limitieren also das die nur auf manchen Servern zusehen sind?
bei deinem discord.bot einfach debug_guilds=[SERVER_ID] machen,
Ok vielen Dank
Wie kann ich in einem Cog, eine Class mit Buttons persistent machen ?
Man muss beachten, dass dieser Class Werte übergeben werden.
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github ► https://github.com/tibue99/tutorial-bot
Discord Developer Portal ► https://discord.com/developers/applications
Tutorial Playlist ► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/int...
@jaunty jasper Funktioniert genau so.
Aber er zeigt nicht, wie er in die Klasse mit der Persitent View ist, die Werte übergibt
und das ist ja mein Problem
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github ► https://github.com/tibue99/tutorial-bot
Discord Developer Portal ► https://discord.com/developers/applications
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discord.gg/pycord
Heute klären wir eine Frage, die ...
Er zeigt aber leider nur die Version, ohne persistant view
Broo
.
Aber für die Persistent View muss ich die Klasse im On_ready Event hinzufügen
und dort will er auch die Daten haben
die daten müsstest du dann zb in einer DB speichern und im on_ready event laden
Ok
Frag doch bei endelon nach ._.
ja ne
de geben mir so ne dumme docs die kein mensch versteht
Ich brauche kurz hilfe mit einem code
Ja
import discord
from discord.ext import commands, tasks
import sqlite3
from discord.commands import slash_command
class CountMemberCog(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.database = sqlite3.connect('voice_channels.db')
self.cursor = self.database.cursor()
self.update_voice_channel_names.start()
self.cursor.execute('''
CREATE TABLE IF NOT EXISTS voice_channels (
channel_id INTEGER PRIMARY KEY,
guild_id INTEGER,
channel_name TEXT
)
''')
@slash_command()
async def count_member(self, ctx, channel: discord.VoiceChannel, name: str):
if '{count}' not in name:
await ctx.respond("Der Name muss '{count}' enthalten.")
return
guild = ctx.guild
# Speichere die Informationen in der Datenbank
self.cursor.execute('''
INSERT OR REPLACE INTO voice_channels (channel_id, guild_id, channel_name)
VALUES (?, ?, ?)
''', (channel.id, guild.id, name))
self.database.commit()
await ctx.respond("Es wurde erfolgreich der Member-Count Channel festgelegt!")
@tasks.loop(minutes=1)
async def update_voice_channel_names(self):
database = sqlite3.connect('voice_channels.db')
cursor = database.cursor()
cursor.execute("SELECT guild_id, channel_id FROM voice_channels")
results = cursor.fetchall()
for guild_id, channel_id in results:
guild = self.bot.get_guild(guild_id)
voice_channel = guild.get_channel(channel_id)
if voice_channel:
if '{count}' in voice_channel.name:
member_count = len(voice_channel.members)
new_channel_name = voice_channel.name.replace('{count}', str(member_count))
if new_channel_name != voice_channel.name:
await voice_channel.edit(name=new_channel_name)
@update_voice_channel_names.before_loop
async def before_update_channels(self):
await self.bot.wait_until_ready()
def setup(bot):
bot.add_cog(CountMemberCog(bot))
``` warum führt er es nicht aus?
Die task loop oder der command?
5
Dann ist "{count}" wohl nicht im channel namen
Du fragst im Code ab, ob der Discord VoiceChannel mit '{count}' anfängt
Und nicht ob etwas in der Datenbank mit {count} ist
Ich muss es also so ändern, dass es in ist und nicht anfängt
aber wie ändere ich es so, dass es beinhaltet und nicht damit anfängt?
ich habe es zu dem geändert:
if '{count}' in voice_channel.name:
return
member_count = len(voice_channel.members)
new_channel_name = voice_channel.name.replace('{count}', str(member_count))
print(6)
``` und jetzt geht's bis 6
bei dem hier printet er 7:
if new_channel_name == voice_channel.name:
await voice_channel.edit(name=new_channel_name)
print(7)
er führt es trotzdem nicht aus ._.
Kann mir jemand helfen?
habe diesen Fehler wie kriege ich den weg
okay ist gefixxt jetzt hab ich nur die frage wie kriege ich den user da rein der drauf drückt
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...
@fringe hedge
Yo danke
weiß jemand wie ich in pycord alle administratoren oder alle user mit einer oder mehreren bestimmten rollen mir anzeigen lassen kann um die in eine datenbank zu packen?
Du gehst durch alle member von dem Server und prüfst mit ner If Abfrage, ob derjenige halt die permissions hat oder die Rolle hat und dann fügst du ihn zur Datenbank hinzu
Durch die member gehst du mit for member in guild.members
danke
mach ich das dann in einem task?
Woher soll ich wissen wie du es machen willst
ich mein wie würdest du es machen
Kommt halt drauf an
Soll es von einem bestimmten Server machen oder vom allen gleichzeitig?
von allen gleichzeitig
also will meinen bot mal öffentlich machen
er soll auf jedenfall auf mehreren servern sein
@urban glenwie meiste du das
ich will einfach das in meiner datenbank alle leute drinstehen die adminstatus haben
nur auf einem oder auf allen servern
auf allen
Ja dann in ner task
danke
obwohl gibt es nicht eine methode wenn von einem user die rollen geupdated werden?
for guild in bot.guilds:
print(guild.name)
for member in guild.members:
...
Hier schonmal ein kleiner Anfang
Musst du nach schauen
Keine Ergebnisse für role update gefunden. Meintest du Folgendes?
das erste ist wenn einstellungen bei einer rolle gemacht werden das zweite ist das richtige
nur damit du es weißt
nein fuck
das zweite auch nich
Asso du meinst wenn ein User nh Rolle bekommt oder so
Hab nur auf das "rollen geupdated werden" gedacht
Ja dann on_member_update
achso
entschuldigung
ok
Was???
jo kurze frage pycord ich würde gerne wissen wie ich die default rolle perms nehme
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
discord.DefaultAvatar
discord.DefaultAvatar.blurple
discord.DefaultAvatar.gray
discord.DefaultAvatar.green
discord.DefaultAvatar.grey
discord.DefaultAvatar.orange
discord.DefaultAvatar.red
discord.User.default_avatar
discord.Guild.default_notifications
discord.Guild.default_role
discord.Colour.default
discord.Member.default_avatar
discord.Option.default
discord.Intents.default
discord.Role.is_default
discord.commands.default_permissions
discord.NSFWLevel.default
discord.ClientUser.default_avatar
discord.MessageType.default
discord.TextChannel.default_auto_archive_duration
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 ...
brauche schnell hilfe meinen bot aufn server zu ziehen
auf einen root server
habe die fehler
Hey ich habe frage wie kann man so machen das bei einem tickets system eine person nu bestimmt viele tickets öffnen kann
Könntest die Person in ner DB speichern und beim erstellen des tickets abfragen ob die Person eingetragen ist
und wenn ja, dann einfach nh nachricht senden, wie zum Beispiel "Du hast bereit's ein Offenes Ticket"
Ich habe eine kurze Frage: Wie kann ich hier einstellen, dass nur das Jahr, der Monat, der Tag und die Zeit angezeigt werden bei dem Author?
@tasks.loop(seconds=1)
async def check_reminders(self):
current_time = datetime.datetime.now()
cursor.execute('''SELECT user_id, nachricht, erinnerungs_zeit FROM erinnerungen WHERE erinnerungs_zeit <= ?''',
(current_time,))
results = cursor.fetchall()
for result in results:
user_id, nachricht, erinnerungs_zeit = result
user = self.bot.get_user(user_id)
if user:
embed = discord.Embed(
title="🔔 Erinnerung",
description=f"**Ich sollte dich daran erinnern:**\n\n{nachricht}\n\n"
)
embed.set_thumbnail(
url="https://cdn.discordapp.com/attachments/1072941531109003345/1160685532553166999/Glocke_2.jpeg?ex=65358fa3&is=65231aa3&hm=df4c020d4745e4d5c057d32eb10bbe5fe65ed9c60b5c3a32ac831384e8d051d9&")
embed.color = discord.Color.purple()
embed.set_footer(text="Spidey System",
icon_url="https://cdn.discordapp.com/attachments/1072941531109003345/1160562396163752096/discord-avatar-128-2YE16.gif?ex=65351cf5&is=6522a7f5&hm=77322b598b9ea7ff68c4c909ef44d7142c5dcaebdef43d7fa6cd19f437da4550&")
embed.set_author(name=f"Geplante Erinnerungszeit: {erinnerungs_zeit}")
await user.send(embed=embed)
cursor.execute('''DELETE FROM erinnerungen WHERE user_id = ? AND nachricht = ?''', (user_id, nachricht))
connection.commit()
``` Problem ist das sonst folgendes passiert:
ich will das .882168 nicht haben
wenn ich meinen bot jetzt mit dem dashboard verbinden will also meinen bestehenden bot. und der bot ja in einer eigenen main lief muss ich dann jetzt einfach das was in der main stand in die bot.py schreiben? in die class?
und da ich in der main.py ja ```py
if name == "main":
for filename in os.listdir(f"./Cogs"):
if filename.endswith(f".py"):
bot.load_extension(f"Cogs.{filename[:-3]}")
load_dotenv()
bot.run(os.getenv("TOKEN"))
habe in was ändere ich das?
Mein Bot möchte bei meinem Hoster nicht mehr starten weiß wer woran das liegen kann? Das ist der Fehler py /entrypoint.sh: line 16: 19 Killed /usr/local/bin/python /home/container/${PY_FILE} Das Ding ist wenn ich den Beta Bot Token nutze geht alles normal aber beim richtigen Bot kommt halt der Fehler hat wer ideen woran es liegt und wie ich es beheben kann?
Zusatz Info:
- Habe den Bot Token schon neu generiert (Mehrmals hat nix gebracht)
wie fixe ich das? :
[ERROR] Error in event on_connect
Traceback (most recent call last):
File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "/home/container/.local/lib/python3.11/site-packages/discord/bot.py", line 1164, in on_connect
await self.sync_commands()
File "/home/container/.local/lib/python3.11/site-packages/discord/bot.py", line 738, in sync_commands
app_cmds = await self.register_commands(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/container/.local/lib/python3.11/site-packages/discord/bot.py", line 531, in register_commands
prefetched_commands = await self._bot.http.get_guild_commands(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/container/.local/lib/python3.11/site-packages/discord/http.py", line 365, in request
raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access
der bot hat keine rechte wenn ich nicht lüge kann es auch sein das er auf ein guild keine rechte hat
Missing Access
Ist das möglich in einem bot zu implementieren?
zB zu erkennen ob ein Nutzer bestimmte Sub gemacht hat?
Das ist doch nicht mal in de verfügbar
Lmao ich hab es aber als Schweizer
Kannst du es auch veröffentlichen?
Und zur deiner Frage wenn es bei den dc docs nicht steht dann nein
Ja kann ich jeder im Server kann es kaufen aber es macht nix, darum wollte ich es mit einem bot mehr Feature anbieten können
Same falls es so ist. Ich hab keinen Ahnung :D
discord.Guild.premium_subscription_count
discord.MessageType.role_subscription_purchase
discord.RawScheduledEventSubscription
discord.RawScheduledEventSubscription.event_id
discord.RawScheduledEventSubscription.event_type
discord.RawScheduledEventSubscription.guild
discord.RawScheduledEventSubscription.user_id
discord.MessageType.premium_guild_subscription
discord.SystemChannelFlags.premium_subscriptions
discord.raw_models.RawScheduledEventSubscription
discord.MessageType.guild_application_premium_subscription
Hier ist deine Antwort tatsächlich gibt es schon etwas
Oh
?
Auch in pycord?
Das ist pycord
Wollte nur sagen das es auch im Deutschland gibt
Ty sehr hilfreich von dir
Ja aber man kann es nickt aktivieren da steht ja für Update anmelden
Ty
Joa und das sollte auch so sein oder nicht?
Wäre ja komisch wenn jeder direkt machen könnte
Bis jetzt
Also im Discord.dev kann man jetzt schon ein deutsches Konto angeben vorher ging das nicht
Geill, wird sicher interessant für bots
Code
bot = ezcord.PrefixBot(intents=discord.Intents.all(), command_prefix='s!')
Der Bot sagt auch nichtmal eine Warnung
Er führt nichts aus
Und das Standard Help Menü geht auch nicht
Probiere mal
ezcord.BridgeBot
kann es an command_prefix liegen?
Ich glaube ja
bot = ezcord.PrefixBot(command_prefix='s!', intents=discord.Intents.all())
Probiere es so mal
Der bot hat keine rechte
Warum machst du immer denn Error weg dann können wir dir nicht helfen
[ERROR] Error in event on_connect
Traceback (most recent call last):
File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "/home/container/.local/lib/python3.11/site-packages/discord/bot.py", line 1164, in on_connect
await self.sync_commands()
File "/home/container/.local/lib/python3.11/site-packages/discord/bot.py", line 738, in sync_commands
app_cmds = await self.register_commands(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/container/.local/lib/python3.11/site-packages/discord/bot.py", line 531, in register_commands
prefetched_commands = await self._bot.http.get_guild_commands(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/container/.local/lib/python3.11/site-packages/discord/http.py", line 365, in request
raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access
wo fixe ich das?
Welche Rechte hat der bot
Administrator
Hast du eine debug_guild irgendwo
ja
Schau mal ob das die richtige ist
Warum
guild_ids
Mach mal das s von ids weg
Und probiere es noch mal
@slash_command(guild_id=debug_guilds)
waaaiit
Okkkkkkkkkkkkkkkkkkkkkkkkk
also, der error kommt nicht mehr
Ok
es gehen trotzdem keine Prefix commands
hab ich so
Ok
aber er macht es einfach nicht
Dann habe ich keine Ahnung
Ok
Aber alle slash commands gehen ._.
import discord
import ezcord
import aiosqlite
from discord.ext import commands
from discord.commands import slash_command
class Moderation(ezcord.Cog):
@commands.Cog.listener()
async def on_ready(self):
async with aiosqlite.connect("moderation.db") as db:
await db.execute(
"""
CREATE TABLE IF NOT EXISTS userinfo (
user_id INTEGER PRIMARY KEY,
grund STRING DEFAULT 0
)
"""
)
@slash_command()
async def ban(self, ctx, user: discord.Member, reason: str):
async with aiosqlite.connect("moderation.db") as db:
await db.execute(
"INSERT OR IGNORE INTO userinfo (user_id) VALUES (?)", (user.id),
"INSERT OR IGNORE INTO userinfo (grund) VALUES (?)", (reason)
)
await db.commit()
def setup(bot: discord.Bot):
bot.add_cog(Moderation(bot))
Traceback (most recent call last):
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Users\Leand\PycharmProjects\arsonist\modules\moderation.py", line 25, in ban
await db.execute(
^^^^^^^^^^^
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\context.py", line 54, in wrapper
return Result(method(self, *args, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Connection.execute() takes from 2 to 3 positional arguments but 5 were given
Habe das aus Timos Level System Video genommen, und abgeändert.
Warum hast du 2 sql statements im execute?
weil 2 sachen ja reingepackt werden sollen
Das kannst du mit einem ._.
@slash_command()
async def ban(self, ctx, user: discord.Member, reason: str):
async with aiosqlite.connect("moderation.db") as db:
await db.execute(
"INSERT OR IGNORE INTO userinfo (user_id, grund) VALUES (?, ?)", (user.id, reason)
)
await db.commit()
Ah okay. Danke!
Ignoring exception in command unban:
Traceback (most recent call last):
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Users\Leand\PycharmProjects\arsonist\modules\moderation.py", line 60, in unban
await db.execute(
File "C:\Users\Leand\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\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 129, in _execute
return await future
^^^^^^^^^^^^
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 102, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: near "(": syntax error
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\bot.py", line 1133, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 381, in invoke
await injected(ctx)
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 139, in wrapped
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: OperationalError: near "(": syntax error
Es geht um den unban command
Bin Grad am Handy, schick Mal Code als Screenshot
Am besten so Line 55-65
Bin kein SQL Profi aber macht man nicht
UPDATE tabellenname SET user_id = ?, grund = ?, WHERE irgendwas vermutlich bei dir user_id
Habe das zumindest früher mal so gelernt...
was kann ich noch machen außer:
command_prefix='s!'
```?
Bin jetzt erst am Pc, sorry dask keine antwort kam.
Und ja, dass was @graceful fiber sagt sollte richtig sein
Wie meinst du?
also hier:
bot = ezcord.PrefixBot(intents=discord.Intents.all(), command_prefix='s!')
weil er ladet bei mir meine Commands nicht
also Prefix commands
Hab keine ahnung von ezcord
ist auch nur py-cord ^^
die bot init methoden sind eigentlich fast überall gleich in den meisten libs
Von py-cord hab ich genauso wenig ahnung
Is ja schon anders als discord.py
Ich mein halt wegen dem ezcord.PrefixBot
ich wollte eig nur wissen was ich auch schreiben kann außer command_prefix
?
Ich versteh nicht ganz was du mit auch schreiben kann außer command_prefix meinst
muss es command_prefix heißen
ja
komisch ist, er führt gar nichts aus
ich habe mal print versucht und er macht es nicht
weiss wer warum das nicht geht?
activity = discord.CustomActivity(
"Test123",
)
bot = discord.Bot(intents=discord.Intents.all(), activity=activity, command_prefix=".")```
py-cord*
welche py-cord version hast du?
dann müsstest du noch die neuste version benutzen, in #🔍・pycord-help ist unten eine anleitung
Ok, Danke
ist das hier so richtig?
ja
Moin, hab mal eine Frage zu Buttons/Eingaben so die Richtung. Gibt es in Pycord irgendwas womit man eine extra Eingabe für den User ermöglichen kann, so das der User keinen Parameter mit dem /Befehl eingeben muss sondern z.B. sich erst eine Eingabe öffnet bei clicken auf einen Button..?
Wie eingabe öffnet?
Meinst du modals?
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)
self.check_useres = {"first_user":self.first_user.id, "second_user":self.second_user.id}
self.user_choice = {"first_user_choice":"", "second_user_choice":""}
AttributeError: 'NoneType' object has no attribute 'id```
Weiß wer wie ich es machen kann das der Error nicht mehr gezeigt wird funktioniert an sich alles der error kommt aber trotzdem
class TutorialModal(discord.ui.Modal):
def __init__(self, *args, **kwargs):
super().__init__(
discord.ui.InputText(
label="Embed Titel",
placeholder="Placeholder"
),
discord.ui.InputText(
label="Embed Beschreibung",
placeholder="Placeholder",
style=discord.InputTextStyle.long
),
*args,
**kwargs
)
async def callback(self, interaction):
embed = discord.Embed(
title=self.children[0].value,
description=self.children[1].value,
color=discord.Color.green()
)
await interaction.response.send_message(embed=embed)
class TutorialView(discord.ui.View):
@discord.ui.button(label="Klicke hier")
async def button_callback(self, button, interaction):
await interaction.response.send_modal(TutorialModal(title="Erstelle ein Embed"))```
@edgy axle
Ich bin mir unssicher xD also ich möchte das erst bei Clicken eines buttons eine Eingabe aufgefordert wird, funktioniert das mit Modals?
Ich meine, ob du mit "Eingabe" dann Modals meinst
Oder was meinst du mit "Eingabe"?
wie maches ich es das beim chat exporten nur das embed in den channel gesended wird und die andere nachricht in einem anderen channel gesendet wird
Das ist ja das Ding ich suche eine Möglichkeit, mit der der User bei clicken eines buttons eine Texteingabe machen kann, wenn Modals so funktioniern, dass sie erst aufgerufen werden wenn man ein Button clickt und nicht sofort beim Ausführen eines /Befehls... wenn das mit Modals gemacht werden kann dann ist es vieleicht das was ich suche xD...
ja das geht
Okay top, Danke
?
Moin wo muss ich einen Port einsetzen für ein Discord bot?
async def unban_slash(self, ctx:discord.ApplicationContext, id:Option(int, description = "Enter the ID of the user you want to unban here!")):
```weißt wer vielleicht warum er hier immer sagt "ungültige Zahl" obwohl es eine normaler int ist
Id's sind vermutlich zu lang, weshalb sie nicht mehr als int gezählt wird, hatte auch den fehler.
Probiers so:
async def unban_slash(self, ctx:discord.ApplicationContext, id:Option(str, description = "Enter the ID of the user you want to unban here!")):
id = int(id)
ah ok aber geht es dann als int durch wenn er es nicht als int nehmen kann?
Oder kann er das dann zu einen größeren datentyp konventieren?
class Modal1(discord.ui.Modal):
def __init__(self, *args, **kwargs):
super().__init__(
discord.ui.InputText(
label="Anzahl",
placeholder="Die Anzahl der zu löschenden Nachrichten"
),
*args,
**kwargs
)
async def callback(self, interaction: Interaction):
await interaction.channel.purge(limit=self.children[0].value)```
Traceback (most recent call last):
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\modal.py", line 341, in dispatch
await value.callback(interaction)
File "C:\Users\Leand\PycharmProjects\arsonist\modules\moderation.py", line 139, in callback
await interaction.channel.purge(limit=self.children[0].value)
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\channel.py", line 455, in purge
return await discord.abc._purge_messages_helper(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\abc.py", line 144, in _purge_messages_helper
async for message in iterator:
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\iterators.py", line 123, in __anext__
return await self.next()
^^^^^^^^^^^^^^^^^
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\iterators.py", line 325, in next
await self.fill_messages()
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\iterators.py", line 347, in fill_messages
if self._get_retrieve():
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\iterators.py", line 334, in _get_retrieve
if l is None or l > 100:
^^^^^^^
TypeError: '>' not supported between instances of 'str' and 'int'```
Der Input ist ein String, aber du benötigst es als Integer.
Ich hoffe du weißt, wie man etwas zu einem Integer macht
ne
int(WERT)
kann jemand helfen? wie tutorial gemacht Cogs klappen nicht
Error?
garnichts
das verwirrt mich ja
bei nem anderen bot von mir klappt alles
hab das zum test erst mit load extension gemacht
Hier findest du das Main-Datei Template 🍪
Lad die cogs mal wie hier
geht immernoch nicht
bin überfragt mal wieder
haste zufällig sonst noch ideen die klappen können
hab das jetzt so
geht immernoch nich
zeig mal deine konsole
here
zeig mal den code aus deinem cog
falsche einrückung
import discord
from discord.ext import commands
from discord.commands import slash_command
class Base(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command()
async def greet(self, ctx):
await ctx.respond(f"Hey {ctx.author.mention}")
def setup(bot):
bot.add_cog(Base(bot))
``` tu mal das hier in deine datei
jetzt geht es danke dir
kein ding immer gern
wie kann man das /level so unterstreichen? xd
/level meinst du so??
genau so mein ich das
``banane``
dankeee
yooo how to make ezcord bridge command because ich nix wissen wie
@urban glen Guck mal da
Wenn das nd hilft, musste Timo fragen
soweit ik waren auch
aber ik zu dumm sein dafür
ik nix gesagt haben
ik now verstanden haben
kannst du mir eventuell noch sagen wie man so eine rolle macht für die Abtrennung
wie meinst du abtrennung
ja halt wait so
einfach eine rolle machen die ----------- BLAH BLAH ----------------- heißt machen
oke wie krieg ich denn unsichtbare zeichen für dc rollen
leerzeichen?
funktioniert bei rollen glaub nicht
ya? hat bei mir damals nicht geklappt
jo
ㅤ
wie maches ich es das beim chat exporten nur das embed in den channel gesended wird und die andere nachricht in einem anderen channel gesendet wird
meinst du dropdowns?
ne, ich meinte bei slash commands
naja sollte das dann nicht in slash command video sein
Er hat dazu meine keines gemacht
Ich kann es dir aber erklären
Einfach für beide denn Channel per ID nehmen und dann reinschicken
Aber kannst auch Google fragen, denn da findest du es auch
Du meinst, dass du auswählen kannst welches alter z.b. du hast?
im cmd? oder den user
Ach ne da war nur Option
Mach eif den hier:
async def blabla(self,ctx,choice:Option(str,choices=[“Choice1“,“Choice2“])):```
Kann man in einem FOOTER bei text= keine Links anzeigen lassen?
ne, das müsstest du in der description ganz unten machen
och ne
aber wie kontrolliere ich die andere nachricht
Wie meinst du das ?
naja ich hab nur kontrolle über das embed, aber ich will das auch die andere nachricht die standard nachricht in einen anderen channel gesendet wird aber wie
Traceback (most recent call last):
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 1741, in _invoke
await self.callback(self.cog, ctx, target)
File "C:\Users\Leand\PycharmProjects\arsonist\modules\moderation.py", line 47, in pin
view.add_item(view1)
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 291, in add_item
raise TypeError(f"expected Item not {item.__class__!r}")
TypeError: expected Item not <class 'modules.moderation.ButtonView'>
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\bot.py", line 1133, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 381, in invoke
await injected(ctx)
File "C:\Users\Leand\AppData\Local\Programs\Python\Python311\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: expected Item not <class 'modules.moderation.ButtonView'>
Das ganze passiert beim @message_command
Ich möchte halt einen Link Button, und einen Normalen Button haben.
Hey wie kann ich meinen bestehenden bot meinem Dashboard zufügen? Denn
Der bot ist ja in einer eigenen main. muss ich dann jetzt einfach das was in der main stand in die bot.py schreiben? in die class?
und da ich in der main.py ja ```py
if name == "main":
for filename in os.listdir(f"./Cogs"):
if filename.endswith(f".py"):
bot.load_extension(f"Cogs.{filename[:-3]}")
load_dotenv()
bot.run(os.getenv("TOKEN"))
habe in was ändere ich das?
Guten Abend, ich hab hier ein Problem mit Buttons und Modals.. ich möchte ein Modal auf Knopfdruck ausgeben, bekomme den Fehler: discord.errors.InteractionResponded: This interaction has already been responded to before
class ChangeNameModal(discord.ui.Modal):
def __init__(self, *args, **kwargs):
rnd = random.randint(0,5)
if rnd == 0:
new_name = "Kevin"
elif rnd == 1:
new_name = "Travis"
elif rnd == 2:
new_name = "Karen"
elif rnd == 3:
new_name = "Liam"
elif rnd == 4:
new_name = "Keihanaikukauakahihuliheekahaunaele"
else:
new_name = "Al Jumahiriyah al Arabiyah al Libiyah asch Shabiyah al Ishtirakiyah al Uzma"
super().__init__(
discord.ui.InputText(
label="New Chibiname",
placeholder=f"e.g. {new_name}"
),
*args,
**kwargs
)
async def callback(self, interaction):
new_name_set_by_user = self.children[0].value
#await interaction.respond.send_message("name geändert")
class ButtonView_2(discord.ui.View):
def __init__(self, ctx):
super().__init__()
self.db = sqlite3.connect("bank.db")
@discord.ui.button(label="Activate", style=discord.ButtonStyle.green)
async def button_callback_activate(self, button, interaction):
button.disabled = True
cursor.execute("UPDATE users SET active_chibi = ? WHERE user_id = ?", (chosen_chibi, user_id))
db.commit()
await interaction.response.edit_message(view=self)
await interaction.followup.send("Chibi ist nun Aktiv! :white_check_mark:", ephemeral=True)
@discord.ui.button(label="Rename", style=discord.ButtonStyle.gray)
async def button_callback_no(self, button, interaction):
button.disabled = True
modal = ChangeNameModal(title="Change the name of your chibi")
cursor.execute(f"UPDATE {table} SET name = ? WHERE user_id = ?", (new_name_set_by_user, user_id))
db.commit()
await interaction.respond.send_modal(ChangeNameModal())
bin da etwas verwirrt und blick das nicht mehr... vieleicht hat ja jemand eine Idee 
jooo wie kann man wenn man channel erstellen lässt über selection menüs diese in eine bestimmte kategorie posten lassen? [pycord]
discord.CategoryChannel
discord.CategoryChannel.category
discord.CategoryChannel.changed_roles
discord.CategoryChannel.channels
discord.CategoryChannel.clone
discord.CategoryChannel.create_forum_channel
discord.CategoryChannel.create_invite
discord.CategoryChannel.create_stage_channel
discord.CategoryChannel.create_text_channel
discord.CategoryChannel.create_voice_channel
discord.CategoryChannel.created_at
discord.CategoryChannel.delete
discord.CategoryChannel.edit
discord.CategoryChannel.flags
discord.CategoryChannel.forum_channels
discord.CategoryChannel.guild
discord.CategoryChannel.id
discord.CategoryChannel.invites
discord.CategoryChannel.is_nsfw
discord.CategoryChannel.jump_url
du kannst beim erstellen des Channels "category" mit angeben, die bekommst du mit "discord.CategoryChannel" . so z.b.
neuer_channel = await ctx.guild.create_text_channel(channel_name, category=category)
category müsstest du voher noch definieren.
Falls du es so meintest.
also dann discord.CategoryChannel = ID?
Würde das so gehen oder bin ich dumm
discord.CategoryChannel kannst du aufjeden fall in einem /Befehl als parameter übergeben, hab mir das grade aus den Docs gefischt xD ich kann nochmal schauen um es genauer erläutern zu können.
Okay ja sonst kann ich dir morgen mal den Code zeigen villeicht hast du dann nh Idee wie
eher so:
category = discord.utils.get(ctx.guild.categories, id="hier die id, die bekommst du per Rechtsklick auf die Kategorie in Discord")
Geht das in cogs auch so ? Da ist ja meistens was anders muss das bei meinem select Menü mit Interaction.guild.create.text_channel
kannst du ein Stück vom Code reinsenden?
also darf ich keine hilfe erwarten? 😄
Ich hab da leider keine Idee sonst würde ich dir gern helfen :/
Du müsstest eben interaction.guild.categories machen
Moino, ich habe schwierigkeiten diesen Code umzuschreiben. Der Bot schickt bei einem Level Up eine DM, stattdessen soll er es nun in einen bestimmten Channel schreiben.
ch = member.
if ch is None:
ch = await member.create_dm()
try:
await ch.send(embed=lvlup)
except discord.HTTPException:
chat = guild.get_channel(1042477484303716433)
await chat.send(member.mention, embed=lvlup)
Eif nur den unteren Teill ig
Also willst du nicht das er nh Dm schickt?
Dann tu den code davon einfach raus
chat = guild.get_channel(1042477484303716433)
await chat.send(member.mention, embed=lvlup)
lol macht sinn, hatte gerade diesen anderen brainlag, da haette ich eig auch drauf kommen koennen. Danke!!
kann mir wer sagen warum ich "PyNaCl" nicht importen kann?
trotz
pip install PyNaCl
Wofür willst du es denn importieren?
musik cog
Aber du musst es nicht importieren
Du hast vermutlich diesen error bekommen, dass "PyNaCl" installiert sein muss.
Aber importieren musst du es eigentlich nicht
Jetzt spuckt er das hier aus:
ModuleNotFoundError: No module named 'discord.ext.commands'
Ohne komplette Fehlermeldung und Code kann ich dir nicht helfen
Traceback (most recent call last):
File "c:\Users\Kai\Desktop\Bullenscheiße\discordserver\Bots\Spongebob_Bot\cogs\MusicURL.py", line 4, in <module>
import ezcord
File "C:\Users\Kai\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\Kai\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\components.py", line 27, in <module>
from .internal import get_error_text
File "C:\Users\Kai\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\internal\__init__.py", line 2, in <module>
from .embed_templates import *
File "C:\Users\Kai\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\internal\embed_templates.py", line 7, in <module>
from ..internal.dc import discord
File "C:\Users\Kai\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'
Ezcord, das musst du @solid ingot fragen
hab literly nichts geaendert, und von einer skunde zur anderen kam der error ohne grund
Musst wie gesagt Timo fragen
@solid ingot hast du nen Moment?
welche library nutzt du?
@opaque blade
inwiefern?
also zb pyocrd, discord.py, etc
pycord
schick mal deine pip freeze liste
aiohttp==3.8.6
aiosignal==1.3.1
aiosqlite==0.19.0
async-timeout==4.0.3
attrs==23.1.0
certifi==2023.7.22
cffi==1.16.0
charset-normalizer==3.3.1
colorama==0.4.6
discord==2.3.2
discord.py==2.3.2
dnspython==2.4.2
ezcord==0.4.0
ffmpeg==1.4
frozenlist==1.4.0
idna==3.4
markdown-it-py==3.0.0
mdurl==0.1.2
multidict==6.0.4
psutil==5.9.6
py-cord-dev==2.5.0rc5
pycparser==2.21
Pygments==2.16.1
PyNaCl==1.5.0
python-dotenv==1.0.0
pytz==2023.3.post1
requests==2.31.0
rich==13.6.0
typing_extensions==4.8.0
urllib3==2.0.7
utils==1.0.1
yarl==1.9.2
youtube-dl==2021.12.17
@opaque blade
⚠️ Es sollte nur eine Discord Library installiert sein
discord==2.3.2
discord.py==2.3.2
py-cord-dev==2.5.0rc5```
*Ich habe [diese Nachricht](#1019974414487535736 message) geprüft.*
wenn du dpy deinstalliert hast, solltest du pycord danach neu installieren
Ich danke dir vom herzen!!!
❤️
Hat jemand eine Idee warum der Bot nicht reagiert, wenn ich in der RenameView Klasse Variablen initialisiere? Sobald ich die Variablen oben entferne reagiert der Bot wieder, sendet ein Embed mit Buttons und ich kann die Buttons nutzen.. bekomme dann Natürlich den AttributeError: 'RenameView' object has no attribute 'active_chibi'
class RenameView(discord.ui.View):
def __init__(self, active_chibi, user_id, role, ctx, table):
super().__init()
self.active_chibi = active_chibi
self.user_id = user_id
self.role = role
self.ctx = ctx
self.table = table
@discord.ui.button(label="Rename")
async def button_callback(self, button, interaction):
await interaction.response.send_modal(RenameModal(title="Rename your Chibi"))
@discord.ui.button(label="Activate")
async def button_callback_2(self, button, interaction):
button.disabled = True
await interaction.response.edit_message(view=self)
await interaction.followup.send("Chibi ist nun aktiv :white_check_mark:", ephemeral=True)
db = sqlite3.connect("bank.db")
cursor = db.cursor()
cursor.execute("UPDATE users SET active_chibi = ? WHERE user_id = ?", (self.active_chibi, user_id))
db.commit()
db.close()
Hat jemand eine Idee, weshalb der Loop stoppt aber nichts weiter dann passiert?
while True:
if xp - 50 * (lvl ** 2) + (500 * lvl) + 1000 < 0:
return xp, lvl
xp -= 50 * (lvl ** 2) + (500 * lvl) + 1000
lvl += 1
print(1)
xp3 = xp/50*(lvl**2)+(500*lvl)+1000
print(3)
also das print kommt nd mehr
und das print(1) wird 3x geprintet
dann halt nichts mehr
sobald das return ausgeführt wird stoppt die ausführung
Guten Abend, kann man wenn man ein DropDown Menü gesendet hat, in der Nachricht die von dem DropDown gesendet wird, noch ein DropDown Senden?
Natürlich
Also wenn du beim dropdown was anklickst, dass dann noch ein dropdown geschickt wird?
Ja
Ja ok
Brauchst einfach eine Zweite dropdown-Klasse machst und bei der Antwort vom ersten DropDown machst du („Test“, view=Dropdown2())
Ich denke er benötigt beim Absenden eher eine View-Klasse
Theoretisch ja, du könntest bei jedem anklicken einen dropdown schicken
ich weiß nicht, warum er nicht die Rolle entfernt:
@commands.Cog.listener()
async def on_raw_reaction_remove(self, payload):
channel = self.bot.get_channel(payload.channel_id)
message = await channel.fetch_message(payload.message_id)
member = payload.member
if member.bot:
return
# Verbindung zur Datenbank herstellen und Cursor erstellen
conn = sqlite3.connect('reaction_roles.db')
cursor = conn.cursor()
# Daten aus der Datenbank abrufen
cursor.execute('SELECT * FROM reaction_roles WHERE message_id = ? AND emoji = ?',
(payload.message_id, str(payload.emoji)))
row = cursor.fetchone()
if row:
message_id, emoji, role_id = row
# Rolle abrufen
role = discord.utils.get(member.guild.roles, id=role_id)
await member.remove_roles(role)
# Datenbankverbindung schließen
conn.close()
also das hier wäre geben:
@commands.Cog.listener()
async def on_raw_reaction_add(self, payload):
channel = self.bot.get_channel(payload.channel_id)
message = await channel.fetch_message(payload.message_id)
member = payload.member
if member.bot:
return
# Verbindung zur Datenbank herstellen und Cursor erstellen
conn = sqlite3.connect('reaction_roles.db')
cursor = conn.cursor()
# Daten aus der Datenbank abrufen
cursor.execute('SELECT * FROM reaction_roles WHERE message_id = ? AND emoji = ?',
(payload.message_id, str(payload.emoji)))
row = cursor.fetchone()
if row:
message_id, emoji, role_id = row
# Rolle abrufen
role = discord.utils.get(member.guild.roles, id=role_id)
await member.add_roles(role)
# Datenbankverbindung schließen
conn.close()
waaaaaaaiit
ich habs gesehen ._.
message = await channel.fetch_message(payload.message_id)
mist, geht trotzdem net
hallo, brauche hilfe
async with aiosqlite.connect(self.DB) as db:
await db.execute(
"""
CREATE TABLE IF NOT EXISTS list(
guild_id INTEGER,
user_id INTEGER,
monat INTEGER,
tag INTEGER
)
"""
)
aber in der console kommt immer dieser error
[ERROR] Error in event on_ready
Traceback (most recent call last):
File "C:\Users\tobi\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "C:\Users\tobi\PycharmProjects\tobisbot\cogs\list.py", line 38, in on_ready
await db.execute (
File "C:\Users\tobi\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 190, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\tobi\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "C:\Users\tobi\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: near ")": syntax error
?
ach egal, ich kann nicht helfen
wie kann ich die channel die erstellten in nh bestimmte kategorie posten
category = discord.utils.get(interaction.guild.categories, id=HIER CATEGORY ID)
category.create_channel(….)
wie gehen die roten stellen weg
Hover mal drüber
oke hab
Mach Screenshot
Musst das category.create… noch awaiten
Oben hast du die Klammer vergessen
wie kriege ich das dann noch rein? das wäre in den erstellten channel rein gekommen
ist das einzige was nicht klappt
category = discord.utils.get(interaction.guild.categories, id=HIER CATEGORY ID)
ticketchannel1 = category.create_channel(….)
oke es geht danke dirr
Kein Problem
weiß jemand wie man am besten youtube videos mit python herunterladen kann? hab 20 pakete probiert irgendwie geht keins
Kennt jemand ein gutes Tutorial für einen invite Manager via pycord der hat per /invites die invites anzeigt etc bräuchte ein Video um selber eins zu machen und kenne mich nicht so gut aus
meinst du die invites die grade auf dem server aktiv sind?
Tuto kenn ich keins, kann dir sagen wies geht
Keine Ergebnisse für guild invites gefunden. Meintest du Folgendes?
Jo wäre auch jut
wie kann ich buttons deaktiveren
hey, dazu kannst du dir das button video anschauen
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github ► https://github.com/tibue99/tutorial-bot
Discord Developer Portal ► https://discord.com/developers/applications
Tutorial Playlist ► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/int...
ok wie heißt es
dannke
ok aber wie kann ich Buttons aber in ner anderen class deaktiveren
du kannst auch mit view.disable_all_items alle items deaktivieren
dannke sehr 
welche timestamps gibt es alle ?
Keine Ergebnisse für all timestamps gefunden. Meintest du Folgendes?
Die Website sollte dir weiterhelfen: https://discordlookup.com/timestamp
import discord
import ezcord
import aiohttp
import os
import random
from discord.ext import commands
from discord.commands import slash_command
from main import EMBEDCOLOR
class SystemCog(ezcord.Cog):
@commands.Cog.listener()
async def on_member_join(self, member: discord.Member, guild: discord.Guild):
list = [f":information: {member.mention} gehört nun zu den leuten, die auf dem Server sind!",
f":information: Wir begrüßen {member.mention} rechtherzlich auf dem Server!",
f":information: {member.mention} hat den richtigen Knopf gedrückt!"]
session = aiohttp.ClientSession()
webhook = discord.Webhook.from_url(url=os.getenv("SYSTEM_WEBHOOK"), session=session)
await webhook.send(avatar_url=guild.icon,
username=f"» Willkommen! 〣 Mitglieder: {guild.member_count}",
content=random.choice(list)
)
def setup(bot: discord.Bot):
bot.add_cog(SystemCog(bot))```
Eigentlich soll ein Webhook in einen Kanal gesendet werden, wenn ein Nutzer beitritt. Wird es aber nicht und es kommt kein Error. Was ist da der Fehler?
Moinooo, ich glaube ich habe einfach ein Packages-Problem, weiss aber nicht wie ich das fixen soll. kann wer helfen? 
Cog: 'AdminCommands' erfolgreich geladen!
Traceback (most recent call last):
File "C:\Users\Kai\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 561, in _inject
bot.add_command(command)
AttributeError: 'Bot' object has no attribute 'add_command'. Did you mean: 'all_commands'?
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Kai\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 789, in _load_from_module_spec
setup(self)
File "c:\Users\Kai\Desktop\Bullenscheiße\discordserver\Bots\Spongebob_Bot\cogs\MusicURL.py", line 352, in setup
bot.add_cog(MUSICA(bot))
File "C:\Users\Kai\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 659, in add_cog
cog = cog._inject(self)
File "C:\Users\Kai\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 566, in _inject
bot.remove_command(to_undo.name)
AttributeError: 'Bot' object has no attribute 'remove_command'. Did you mean: 'message_command'?
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "c:\Users\Kai\Desktop\Bullenscheiße\discordserver\Bots\Spongebob_Bot\main.py", line 43, in <module>
bot.load_cogs("cogs")
File "C:\Users\Kai\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\bot.py", line 227, in load_cogs
self.load_extension(f"{'.'.join(path.parts)}.{name}")
File "C:\Users\Kai\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 913, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\Kai\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 794, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.MusicURL' raised an error: AttributeError: 'Bot' object has no attribute 'remove_command'
Kannst du mal pip freeze machen, und das schicken? @opaque blade
aiohttp==3.8.6
aiosignal==1.3.1
aiosqlite==0.19.0
async-timeout==4.0.3
attrs==23.1.0
certifi==2023.7.22
cffi==1.16.0
charset-normalizer==3.3.1
colorama==0.4.6
dnspython==2.4.2
ezcord==0.4.0
frozenlist==1.4.0
idna==3.4
markdown-it-py==3.0.0
mdurl==0.1.2
multidict==6.0.4
psutil==5.9.6
py-cord-dev==2.5.0rc5
pycparser==2.21
Pygments==2.16.1
PyNaCl==1.5.0
python-dotenv==1.0.0
pytz==2023.3.post1
requests==2.31.0
rich==13.6.0
typing_extensions==4.8.0
urllib3==2.0.7
utils==1.0.1
yarl==1.9.2
youtube-dl==2021.12.17
Hmm, okay, da kann ich dir leider nicht helfen.
Hoffentlich aber wer anders.
@opaque blade zeig mal kurz deine bot datei.
Also die Datei, wo du deinen bot startest
Nutzt du irgendwo Prefix Commands?
warte kurz
import discord
import os
import pytz
import ezcord
from discord.ext import commands
from discord import Embed
from dotenv import load_dotenv
from datetime import datetime
intents = discord.Intents.all()
activity = discord.Activity(type=discord.ActivityType.watching, name="/help auf Nick 💜")
status = discord.Status.online
bot = ezcord.Bot(
intents=intents,
activity=activity,
status=status,
language="de")
bot.add_help_command()
de = pytz.timezone('Europe/Berlin')
@bot.event
async def on_member_join(user):
guild = bot.get_guild(1042477080186720296)
embed = discord.Embed(
title="Ein wildes etwas ist aufgetaucht!",
description=f'Willkommen {user.mention} in der Krossen Krabbe! Du bist Member Nr. {guild.user_count}\n\n'
f'Schön, dass du da bist! Bitte lies dir in Ruhe die Regeln durch.\n'
f'Vielleicht findest du auch hier neue Freunde!\n'
f'Ansonsten wünschen wir dir einen tollen Aufenthalt! <3',
color=discord.Color.random(),
timestamp=discord.utils.utcnow())
embed.set_thumbnail(url=user.avatar.url)
embed.set_footer(text="Die Krosse Krabbe 🦀", icon_url="https://media.discordapp.net/attachments/1167199821648625757/1167200153510359180/sponge_pfp.png")
channel = bot.get_channel(1042477256934707341)
await channel.send(embed=embed)
if __name__ == "__main__":
bot.load_cogs("cogs")
load_dotenv()
bot.run(os.getenv("TOKEN"))
nein, benutze die slash commands von discord wie timo die gemacht hat
Hm okay, ich kenne diese Fehlermeldung nur, wenn man nen Prefix Command hat, aber seinen Bot nicht mit "commands.Bot" definiert hat.
Ich schau mal nach ner lösung
Könntst du mir in der Zeit auch deinen MusicCog schicken?
mach ich privat ja? will nicht leaken haha
Es ist nur nen Discord Bot Code ._.
Sowas is nix besonderes
dannke sehr hat mir geholfen
Gerne 
Alle Befehle in diesem Code werden nicht registriert woran liegt das? Ich sehe da kein Fehler. Wenn ich in einer anderen Datei ein Befehl erstelle geht der ohne Probleme nur in der nicht.
hi versuchst du es auch auuf den richtigen server ?
ja
Hast keine Init Methode
Braucht er nicht
kein error?
Kleier Tipp:
du benutzt discord.default_permissions das heißt alle ohne die Rechte die du da festgelegt hast sehen den Command nicht somit braucht du nicht die if-statements mit if MissingPermissions
habe den mal bisschen geändert aber bei mir geht der einwandfrei
Änder das:```py
options = list[
"ILoveRadio": "https://ilm-stream12.radiohost.de/ilm_iloveradio_mp3-192",
"ILoveDance": "https://ilm-stream11.radiohost.de/ilm_ilove2dance_mp3-192",
"ILoveBass": "https://ilm-stream12.radiohost.de/ilm_ilovebass_mp3-192",
"ILoveChillHop": "https://ilm-stream12.radiohost.de/ilm_ilovechillhop_mp3-192",
"ILoveDance 2023": "https://ilm-stream11.radiohost.de/ilm_dance-2023-jahrescharts_mp3-192"]
zu:
```py
options = [
discord.SelectOption(label="ILoveRadio", value="https://ilm-stream12.radiohost.de/ilm_iloveradio_mp3-192"),
discord.SelectOption(label="ILoveDance", value="https://ilm-stream11.radiohost.de/ilm_ilove2dance_mp3-192"),
discord.SelectOption(label="ILoveBass", value="https://ilm-stream12.radiohost.de/ilm_ilovebass_mp3-192"),
discord.SelectOption(label="ILoveChillHop", value="https://ilm-stream12.radiohost.de/ilm_ilovechillhop_mp3-192"),
discord.SelectOption(label="ILoveDance 2023", value="https://ilm-stream11.radiohost.de/ilm_dance-2023-jahrescharts_mp3-192")]
Also probiers mal so aus
@twilit anvil
Ignoring exception in view <RadioSelect timeout=180.0 children=1> for item <Select type=<ComponentType.string_select: 3> placeholder='» Wähle einen Radiosender aus!' min_values=1 max_values=1 options=[<SelectOption label='ILoveRadio' value='https://ilm-stream12.radiohost.de/ilm_iloveradio_mp3-192' description=None emoji=None default=False>, <SelectOption label='ILoveDance' value='https://ilm-stream11.radiohost.de/ilm_ilove2dance_mp3-192' description=None emoji=None default=False>, <SelectOption label='ILoveBass' value='https://ilm-stream12.radiohost.de/ilm_ilovebass_mp3-192' description=None emoji=None default=False>, <SelectOption label='ILoveChillHop' value='https://ilm-stream12.radiohost.de/ilm_ilovechillhop_mp3-192' description=None emoji=None default=False>, <SelectOption label='ILoveDance 2023' value='https://ilm-stream11.radiohost.de/ilm_dance-2023-jahrescharts_mp3-192' description=None emoji=None default=False>] channel_types=[] disabled=False>:
Traceback (most recent call last):
File "C:\Users\Leander\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 421, in _scheduled_task
await item.callback(interaction)
File "C:\Users\Leander\PycharmProjects\bushaltestelle\modules\radio.py", line 58, in callback
if interaction.client.voice_client is None:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Bot' object has no attribute 'voice_client'```
bot.voice_client gibt es nicht
Cool, und wie mache ich dass dann?
discord.voice_client.VoiceClient
discord.voice_client.VoiceProtocol
discord.Bot.voice_clients
discord.Guild.voice_client
discord.Client.voice_clients
discord.ext.commands.Bot.voice_clients
discord.ApplicationContext.voice_client
discord.ext.commands.Context.voice_client
Mit der Guild
interaction.guild.voice_client
Solche Fragen kannst du dir selbst mit den Doc's beantworten
Ignoring exception in view <RadioSelect timeout=180.0 children=1> for item <Select type=<ComponentType.string_select: 3> placeholder='» Wähle einen Radiosender aus!' min_values=1 max_values=1 options=[<SelectOption label='📻 ILoveRadio' value='https://ilm-stream12.radiohost.de/ilm_iloveradio_mp3-192' description=None emoji=None default=False>, <SelectOption label='🕺 ILoveDance' value='https://ilm-stream11.radiohost.de/ilm_ilove2dance_mp3-192' description=None emoji=None default=False>, <SelectOption label='🔊 ILoveBass' value='https://ilm-stream12.radiohost.de/ilm_ilovebass_mp3-192' description=None emoji=None default=False>, <SelectOption label='🏀 ILoveChillHop' value='https://ilm-stream12.radiohost.de/ilm_ilovechillhop_mp3-192' description=None emoji=None default=False>, <SelectOption label='ILoveDance 2023' value='https://ilm-stream11.radiohost.de/ilm_dance-2023-jahrescharts_mp3-192' description=None emoji=None default=False>] channel_types=[] disabled=False>:
Traceback (most recent call last):
File "C:\Users\Leander\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 421, in _scheduled_task
await item.callback(interaction)
File "C:\Users\Leander\PycharmProjects\bushaltestelle\modules\radio.py", line 64, in callback
discord.FFmpegPCMAudio(select.option.value)
^^^^^^^^^^^^^
AttributeError: 'Select' object has no attribute 'option'```
@tawdry leaf wo soll da nh Klammer fehlen?
alles gut, habe mich versehen
discord.FFmpegPCMAudio(select.values[0]) vermute ich
Würde das jetzt gerne in den Status vom Bot einbauen. Wie kann ich mir jetzt nur den Namen ausgeben lassen?
@urban glen
discord.Role
discord.Role.color
discord.Role.colour
discord.Role.created_at
discord.Role.delete
discord.Role.edit
discord.Role.guild
discord.Role.hoist
discord.Role.icon
discord.Role.id
discord.Role.is_assignable
discord.Role.is_bot_managed
discord.Role.is_default
discord.Role.is_integration
discord.Role.is_premium_subscriber
discord.Role.managed
discord.Role.members
discord.Role.mention
discord.Role.mentionable
discord.Role.name
Der bot hat Administrator
ist der channel auch auf dem server wo der bot admin ist?
warum entfernt er alle Rollen?:
@commands.Cog.listener()
async def on_raw_reaction_remove(self, payload):
guild = self.bot.get_guild(payload.guild_id)
member = guild.get_member(payload.user_id)
if member.bot:
return
# Verbindung zur Datenbank herstellen und Cursor erstellen
conn = sqlite3.connect('reaction_roles.db')
cursor = conn.cursor()
# Daten aus der Datenbank abrufen
cursor.execute(f'SELECT role_id FROM reaction_roles WHERE message_id = {payload.message_id}')
row = cursor.fetchone()
# Rolle abrufen
role = guild.get_role(row[0])
await member.remove_roles(role)
Wie kann mein bot in ein annoucements Kanal die Nachricht automatisch veröffentlichen
Thx
Inwiefern pause?
Musst uns schon mehr infos geben
jo
ich habe ein Problem hier:
@commands.Cog.listener()
async def on_raw_reaction_remove(self, payload):
guild = self.bot.get_guild(payload.guild_id)
member = guild.get_member(payload.user_id)
if member.bot:
return
# Verbindung zur Datenbank herstellen und Cursor erstellen
conn = sqlite3.connect('reaction_roles.db')
cursor = conn.cursor()
# Daten aus der Datenbank abrufen
cursor.execute('SELECT role_id FROM reaction_roles WHERE message_id = ? AND emoji = ?', (payload.message_id, str(payload.emoji)))
rows = cursor.fetchall()
for row in rows:
role_id = row[0]
role = guild.get_role(role_id)
if role:
await member.remove_roles(role)
else:
print(f"Rolle mit der ID {role_id} nicht gefunden.")
# Datenbankverbindung schließen
conn.close()
``` er entfernt nicht, wenn mehrere reactionen da sind, die gespeichert wurden
cursor.fetchone()
@commands.Cog.listener()
async def on_raw_reaction_remove(self, payload):
guild = self.bot.get_guild(payload.guild_id)
member = guild.get_member(payload.user_id)
if member.bot:
return
# Verbindung zur Datenbank herstellen und Cursor erstellen
conn = sqlite3.connect('reaction_roles.db')
cursor = conn.cursor()
# Daten aus der Datenbank abrufen
cursor.execute('SELECT role_id FROM reaction_roles WHERE message_id = ? AND emoji = ?', (payload.message_id, str(payload.emoji)))
row = cursor.fetchone()
role = guild.get_role(row)
if role:
await member.remove_roles(role)
else:
print(f"Rolle mit der ID {row} nicht gefunden.")
# Datenbankverbindung schließen
conn.close()```
wie übergebe ich einen nachrichten inhalt [mit hilfe von App Commands, bzw commands die ausgeführt werden wenn man auf einen User klickt > Apps > command vom bot]???????????????????????????????
Immer wenn ich dann halt interaction.message.content mache, klappts nicht und es sagt das der message content None sei
hast du den Message content intent aktiviert? und welche library nutzt du?
py-cord
ja alles aktiviert
💀
bei user_commands ist nur das problem, das es halt ned immer einen content gibt bzw soweit ich weis nicht abrufen kann
deshalb frage ich ja hier 💀
haben user commands überhaupt ein message content?
ka deshalb frage ich 💀
Also soweit ich weiß nein
kannst höchstens ein on_message event triggern das wars dann aber auch wieder
oder halt message.content musst dann halt nur message eintragen in die funktion
@app_commands.context_menu()
async def react(self, interaction: discord.Interaction, message: discord.Message):
await interaction.response.send_message('Content: {message.content}', ephemeral=True)```
das geht auch nicht
oder wait
nope geht nicht
error?
Rolle mit der ID None nicht gefunden.
[ERROR] Error in event on_raw_reaction_remove
Traceback (most recent call last):
File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "/home/container/cogs/reactionroles.py", line 62, in on_raw_reaction_remove
role = guild.get_role(row[0])
~~~^^^
TypeError: 'NoneType' object is not subscriptable
geht nicht
dann ist die rollen id falsch
wait
bzw wird der emoji nicht erkannt
aber die ID vom emoji ist da
rolle ist richtig
so steht es drinnen
hab ich ein Fehler gemacht?
also noch hinzufügen in die Datenbank oder wie?
nein
du änderst die sql query in das:
cursor.execute('SELECT role_id FROM reaction_roles WHERE message_id = ? AND emoji = ?', (payload.message_id, str(payload.emoji.name)))
wait
[ERROR] Error in event on_raw_reaction_remove
Traceback (most recent call last):
File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "/home/container/cogs/reactionroles.py", line 62, in on_raw_reaction_remove
role = guild.get_role(row[0])
~~~^^^
TypeError: 'NoneType' object is not subscriptable
```wieder row[0] entfernen?
printe mal payload.emoji.name
oder warte
role = guild.get_role(int(row))
wenn das nicht geht printe das mal
[ERROR] Error in event on_raw_reaction_remove
Traceback (most recent call last):
File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "/home/container/cogs/reactionroles.py", line 62, in on_raw_reaction_remove
role = guild.get_role(int(row))
^^^^^^^^
da fehlt was
[0]?
TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'
mach mal print(payload.emoji.name)
das hier wäre geben:
@commands.Cog.listener()
async def on_raw_reaction_add(self, payload):
channel = self.bot.get_channel(payload.channel_id)
message = await channel.fetch_message(payload.message_id)
member = payload.member
if member.bot:
return
# Verbindung zur Datenbank herstellen und Cursor erstellen
conn = sqlite3.connect('reaction_roles.db')
cursor = conn.cursor()
# Daten aus der Datenbank abrufen
cursor.execute('SELECT * FROM reaction_roles WHERE message_id = ? AND emoji = ?',
(payload.message_id, str(payload.emoji)))
row = cursor.fetchone()
if row:
message_id, emoji, role_id = row
# Rolle abrufen
role = discord.utils.get(member.guild.roles, id=role_id)
await member.add_roles(role)
# Datenbankverbindung schließen
conn.close()
ah
cursor.execute('SELECT * FROM reaction_roles WHERE message_id = ? AND emoji = ?', (payload.message_id, str(payload.emoji)))
wenn payload.emoji nicht geht dann .name dahinter
musst dann aber row[2] machen
Umfrage
[ERROR] Error in event on_raw_reaction_remove
Traceback (most recent call last):
File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "/home/container/cogs/reactionroles.py", line 63, in on_raw_reaction_remove
role = guild.get_role(int(row))
^^^^^^^^
TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'
row[2]
[ERROR] Error in event on_raw_reaction_remove
Traceback (most recent call last):
File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "/home/container/cogs/reactionroles.py", line 62, in on_raw_reaction_remove
role = guild.get_role(row[2])
~~~^^^
TypeError: 'NoneType' object is not subscriptable
soll wieder int rein?
probiers mal
Hi liebe community von timo ich habe ne frage
kann man video in embeds machen oder geht das nicht ?
Wait
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Links aus diesem Video
Scrapetube Docs ► https://scrapetube.readthedocs.io/en/latest/
Python Dictionary ► https://www.w3schools.com/python/python_dictionaries.asp
Gigachad ist traurig ► https://youtu.be/dxzW_sbltgE
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github...
@urban glen
aber das ist doch das nicht ?
Das beantwortet seine Frage nicht, er fragt nicht wie man ein YouTube notifier macht, sondern ob man Videos in Embeds abspielen lassen kann.
@urban glen Nein, eigene Videos gehen nicht
ok schade aber dannke sehr
kann mir jemand helfen bitte
await message.channel.send(response, ephemeral=True)```
möchte da ephemeral=True machen aber es geht nicht
await message.channel.send(response, ephemeral=True)
``` test mal so
das ist doch mein code
test doch einfach
ach und hier ein fehlercode:
await message.channel.send(response, ephemeral=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Messageable.send() got an unexpected keyword argument 'ephemeral'```
geht nicht wieder der fehlercode
man kann einen channel response nicht unsichtbar machen
nur einen direkten response für einen user
ja stimmt auch
sprich;
interaction.response.send_message(response, ephemeral=True)
ok aber da ist interaction rot weil ich das in ein event mache
Is das in nem on_message?
Dann kannst du das "ephemeral=True" weg machen
geht ned in nem event
ja ist es
Du hast halt einfach Nichts am Code geändert ._.
Ja da kannst du Ephemeral nicht nutzen.
Das geht nur in Interactions, also Slash Commands, Dropdowns, Buttons, Modals
hab schon mit kommen
oder mit ctx.respond
bei nem prefix command
ja aber der text war halt einer den nur der user sehen sollte ( der text hat den user drauf hin gewisen das er das nicht maschen kann)
geht aber in nem on_message event ned

wofür brauchst du den code denn
Ja geht halt nicht in Ephemeral.
Dann musst du es anders machen, zum Beispiel dem Member nh Dm schicken
Oder du schickst die nachricht ab, als reply und löscht sie nach einigen sekunden, dass würde so aussehen:
await message.reply(response, delete_after=5)
na das ist im event das wenn ein user ein video senden tut und dann habe ich halt so gemacht das wenn der user in unter 10 min noch ein senden tut das das gelöscht wird uund der fehler den kommt
geht bei nem reply nichta uch ephemeral?
Nein.
Nur bei Interaktionen
ok dannke sehr
dann mach anstelle von ephemeral einfach delete_after=Sekunden
achso okay, wusste ich ned :D
wieso überhaupt interaction.message.content, bei rechtsklick commands bekommst du doch direkt die message. also einfach message.content
@user_command()
async def Report(self, interaction: discord.Interaction, user: Option(discord.Member)):
await interaction.response.send_modal(Report(user, title='Nachrichten Meldung'))
so hab ich es aktuell
wie solls denn sonst aussehen? so habe ich es bislang bei den anderen user commands auch gemacht...
aber halt keine ahnung wie ich message content krieg
achso, du machst einen user command
ja aber es gibt doch auch message commands
wie meinst?
also ich verstehe dein problem nicht wirklich. du greifst doch in dem command nirgends auf den content von irgendetwas zu
meintest du nicht du willst den message content haben
ja
wüsste aber nicht wie man sonst so einen app command machen sollte
deshalb fragte ich ja hier 😂
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github ► https://github.com/tibue99/tutorial-bot
Discord Developer Portal ► https://discord.com/developers/applications
Tutorial Playlist ► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/int...
du hast ein paar sachen falsch, deswegen schau dir am besten dieses 3min video nochmal kurz an
okay
also
anstelle user_command = message_command
und anstelle interaction = message
also wenn du den message content haben willst, nimm einen message command, keinen user command (beides davon sind rechtsklick commands)
error?
how ik maken schicken modal bei msg?
genauso wie bei jedem anderen command auch
message.send_modal?
ne
1:1 so wie bei normalen commands auch
du musst keinen einzigen buchstaben ändern
naja das ist keine interaction, sondern ein applicationcontext
alsoooo ctx
anstelle des interaction parameters
omg
sorry
timo
mein fehler
ich sollte evtl mal anfangen deinen code im tutorial durch zu lesen
😂
tree.command in discord.py ist doch ungefähr das selbe wie commands.group in pycord. richtig?
Nein.
Mit @bot.tree.command() macht man Slash Commands, also in der main datei.
Beispiel:
@bot.tree.command()
async def test(ctx: discord.Interaction):
await ctx.response.send_message("Test bestanden", ephemeral=True)
@client.tree.command()
async def hello(interaction: discord.Interaction):
"""Says hello!"""
await interaction.response.send_message(f'Hi, {interaction.user.mention}')```
oh. das was in pycord @slash_command()
jap.
Mehr findest du hier
hmm okay. wozu dient dann commands.group ?
In py-cord oder discord.py?
das macht halt eine command group ._.
pycord
Command groups are a way to create subcommands for your commands. For example, !afk set or `!afk
._.
@commands.Cog.listener()
async def on_raw_reaction_remove(self, payload):
channel = self.bot.get_channel(payload.channel_id)
message = await channel.fetch_message(payload.message_id)
guild = message.guild
member = guild.get_member(payload.user_id)
if member.bot:
return
conn = sqlite3.connect('reaction_roles.db')
cursor = conn.cursor()
cursor.execute('SELECT * FROM reaction_roles WHERE message_id = ? AND emoji = ?', (message.id, str(payload.emoji)))
row = cursor.fetchone()
if row:
role_id = row[2]
role = guild.get_role(role_id)
if role:
await member.remove_roles(role)
else:
print(f"Rolle mit der ID {role_id} nicht gefunden.")
conn.close()
```ich brauche irgendwie hilfe
Okay.
er führt es nicht mal aus
ich würde gerne meinen discord bot hosten mit einem server wie kann ich phpmyadmin mit drauf instalieren sodass ich zb. beim levelsystem sachen bearbeiten kann wie zum beispiel wie viel xp der user hat oderso - und zu dem was ich bei dem code ändern muss sodass es connecten ist weil die .db datein habe ich ja alle schon.
kann mir wer sagen was da falsch läuft?
Ja, bitte senden den relevanten code xD
Traceback (most recent call last):
File "c:\Users\drnes\PycharmProjects\NovaNerve\main.py", line 75, in <module>
bot = Bot()```
@tawdry leaf das ist der Error
discord.errors.ExtensionFailed: Extension 'cogs.Ticket System.static' raised an error: AttributeError: 'Bot' object has no attribute 'add_command'
nein
das aber es ist alles nur weil er das eine hat..
Fehler ist schon alles mit behoben
😄
👶
🍼
ich frag mich immer noch woher das kommt py File "f:\baustelle\haupt bot\cogs\utils1\text.py", line 64, in text view = embedView() ^^^^^^^^^^^ TypeError: embedView.__init__() missing 1 required positional argument: 'user'
code
if text == "Neulinge":
if not channel:
channel = ctx.channel
embed = discord.Embed(
title=" Willkommen auf der Baustelle!",
description="Hier sind ein paar Informationen für dich:\n\n"
"📜 **Regeln** findest du in #1164311336201764954\n"
"📢 **Ankündigungen** findest du in #1164311336889630799\n"
"📌 **Support** findest du in #1164311336201764954\n"
"📊 **Umfragen** findest du in #1164311336889630799\n"
"💬 **Chat** findest du in #1164311337065795751\n\n"
"Was kann ich hier machen?\n\n"
"👋🏼 **Neue Leute kennenlernen**\n"
"🎮 **Gemeinsam zocken**\n"
"🎶 **Musik hören**\n"
"🎰 **Minigames spielen**\n"
"📢 **Ankündigungen lesen**\n"
)
view = embedView()
await channel.send(embed=embed, view=view)
def setup(bot):
bot.add_cog(Texste(bot))
class embedView(discord.ui.View):
def __init__(self, *args, **kwargs):
super().__init__(
timeout=None,
*args,
**kwargs
)
options = [
discord.SelectOption(
label="Rollen Übersicht",
description="Zeigt dir alle Rollen an",
value="Rollenübersicht",
emoji="✨"
),
discord.SelectOption(
label="Team Übersicht",
description="Zeigt dir alle Teammitglieder an",
value="Team",
emoji="🌟"
),
discord.SelectOption(
label="Channel Übersicht",
description="Zeigt dir alle Channel an",
value="Channel",
emoji="🌟"
),
]
@discord.ui.select(
min_values=1,
max_values=1,
placeholder="Optionen",
options=options,
custom_id="dropdown2"
)
async def select_callback2(self, select, interaction):
auswahl = select.values[0]
if auswahl == "Rollenübersicht":
embed = discord.Embed(
title="Rollen Übersicht",
description="Hier siehst du alle Rollen",
color=discord.Color.green()
)
await interaction.response.send_modal(embed=embed)
await interaction.message.edit(view=self)```
Wie kann man im Status vom Ticket bot machen wie viele Tickets offen sind
Du machst nen counter mit ner Datenbank und bei jedem Ticket öffnen aktualisierst du die Tabelle und machst +1
@discord.ui.button(label="Apply", style=discord.ButtonStyle.green, emoji="✉")
async def button1(self, interaction: discord.Interaction, button: discord.ui.button):
await interaction.response.send_modal(applymodal1(title="Apply"))```
async def button1(self, interaction: discord.Interaction, button: discord.ui.button):```
zu
```py
async def button1(self, button: discord.ui.Button; interaction: discord.Interaction):```
Wie kann ich in Pycord einen Parameter in einem Slashcommand optional machen ?
dafür gibt es mehrere wege, du kannst zB in der option default=None schreiben
Danke
Button
Nicht button
button:discord.ui.Button
Oder discord.Button weiß ich grad nd
Hab ich ja auch in der Verbesserten Version oben
Jap
Moin, kann mir jemand sagen, wie ich bei einem Paginator Lokale Bilddatein anhängen kann? Bzw wo muss ich beim Paginator das file=file setzten?
Was ist ein Paginator?
discord.ext.pages.Paginator
discord.ext.pages.Paginator.add_button
discord.ext.pages.Paginator.add_default_buttons
discord.ext.pages.Paginator.add_item
discord.ext.pages.Paginator.add_menu
discord.ext.pages.Paginator.buttons
discord.ext.pages.Paginator.cancel
discord.ext.pages.Paginator.clear_items
discord.ext.pages.Paginator.current_page
discord.ext.pages.Paginator.default_page_group
discord.ext.pages.Paginator.disable
discord.ext.pages.Paginator.disable_all_items
discord.ext.pages.Paginator.edit
discord.ext.pages.Paginator.enable_all_items
discord.ext.pages.Paginator.from_message
discord.ext.pages.Paginator.get_item
discord.ext.pages.Paginator.get_page_content
discord.ext.pages.Paginator.get_page_group_content
discord.ext.pages.Paginator.goto_page
discord.ext.pages.Paginator.interaction_check
@kind depot
ok
hat jemand eine idee wieso meine website aufeinmal nicht erreichbar ist? also vom webserver aus? habs wie im tutorial gemacht
so sieht die dafault datei aus:
# Author: Zameer Ansari
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
proxy_pass http://127.0.0.1:8000;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
# fastcgi_pass unix:/run/php/php7.0-fpm.sock;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
und selbst damit zeigt der server verbindung wurde abgelehnt
class DatabaseSetup():
def db_connector():
db_connector = mysql.connector.connect(host=os.getenv('host'), user=os.getenv('user'), password=os.getenv("sql_passwort"), database=os.getenv('discord_db'), buffered=True)
return db_connector
def db_close(cursor, db_connection):
if db_connection.is_connected:
db_connection.close()
cursor.close()
else:
pass
Weiß wer wie ich es so mache das wenn die verbindung unterbrochen wird das gleich eine neue aufgebaut wird?
Wie meinst du das mit neuer Verbindung ich kenne mich zwar nicht so gut mit einer Datenbank aus aber vlt kann ich dir helfen
Also hin und wieder startet sich der bot neu oder die Verbundung zur Datenbank reist ab daher will ich sobald die verbindung weg ist sich die db neu verbindet
Wenn ich den Bot hoste, dann zieht er nicht automatisch die neusten updates von Github. Name, Token und repo address sind korrekt.
weiss jemand zufällig, wo der Fehler sein könnte
startup:
guten abend euch, jemand meinte zu mir, dass es verboten ist, Discord Musikbots zu coden. stimmt das'?
Verboten ist es nicht.
Wenn du über YouTube Streamst, dann solltest du den Bot lieber nicht veröffentlichen.
Kann dann Probleme mit YouTube geben.
warum nicht veröffentlichen wenn ich youtube nutze?
hat das einen speziellen grund?
Wegen den YouTube ToS oder so
oh ok. würde es wenn über spotify, soundcloud und co. machen youtube würde ich halt lassen.
Deshalb wurde das Team vom Groovy Bot gezwungen, deren Bot offline zu nehmen
oh ok.
aber das wäre erlaubvt?
eine andere frage wäre, ob man vom bot eine rolle an eine bestimmte position setzen lassen kann beim erstellen?
Brauche hilfe ich kenne mich nicht gut aus ich würde gerne eine nachricht id kopieren und dann einen Befehl haben wo ich die id rein mache und ein name eingeben und immer wenn ich denn name schreibe wird die nachricht von der id geaendet
Sie müssen den Entwickler Modus in Ihrem Profil aktivieren, damit Sie die ID kopieren können
Nein hä
doch..
- höflicher
- du musst das aktivieren
- wenn du denkst das wir scheiße reden kannst du ja nächstes mal googeln
ja ist so
fr soo
Aber warum aktivieren kann das immer
Hey, will mit eingaben aus einem modal buttons erstellen(also das was der button macht soll immer gleich bleiben, aber name des buttons will ich halt je nach eingabe varieren lassen, kann ich dann eine ganz normale buttons klasse verwenden und wenn ja wie übertrage ich die infos oder muss ich extra welche erstellen(weiß nicht den namen davon)
Weil dc das will
Okay
Du könntest es so machen:
/Command (Modal wird gesendet) --> den input aus dem Modal als VARIABLE an die buttonview Klasse übergeben --> und dann bei @discord.ui.button(lable=VARIABLE)
dann wäre es so das sich das Lable auf dem Button immer nach /Command und dann der Einigabe ins Modal, anpasst.
Ok super danke probiere ich mirgen
Wie kann ich mit pycord hybrid commands benutzen, sodass prefix und slash gleichzeitig für ein command funktioniert
das geht mit bridge commands, hier findest du eine anleitung: https://guide.pycord.dev/extensions/bridge
Concept
danke
Ergibt es Sinn für alle Commands eine Bridge zu machen? oder benutzt man diese nur für vereinzelte commands
ich denke das ist persönliche präfernez
Benutzen die heutigen beliebten Bots diese Variante oder ist es unterschiedlich?
Möchte keine veraltete Methode benutzen
die neuste methode sind slash commands
Also ehrlich gesagt, machen Bridge cmds keinen Sinn mehr
wieso?
Also anstatt Prefix, am besten nur noch slash commands?
das wäre die neuste und die von discord empfohlene methode
Verstehe, dann werde ich jetzt alle meine commands überarbeiten
gibt es für slash commands sowas ähnliches wie:
@commands.has_permissions(ban_members=True)
oder muss man das im Command selbst prüfen lassen?
@discord.default_permissions(ban_members=True)
Gilt es für den Command oder ist es die standart berechtigung für den bot?
für den command
verstehe, danke
gibt es auch eine möglichkeit für den Cooldown. beim prefix wurde der cooldown error angezeigt, jetzt mit slashcommands nicht mehr:
@commands.cooldown(1, 60 * 5, commands.BucketType.user)
Fehler gefunden. Beim Errorhandling "on_command_error" zu "on_application_command_error" ändern.
Stehe gerade auf dem Schlauch. Wie bekomme ich einen Timestamp, der die jetzige Zeit in einem Tag anzeigt?
Und wie kann ich in nem Loop die MSG getten? Da klappt etwas iwie nd.
das mit dem loop verstehe ich nicht, aber den timestamp kannst du so bekommen
discord.utils.format_dt(discord.utils.utcnow() + timedelta(days=1))
ja 😐
from datetime import timedelta
Okay 🙂
Will halt ne Message auf nem Server in nem Loop getten.
Und dann in ezcord.dc_timestamp?
das brauchst du nur, wenn du die zeit in sekunden hast
fetch_message zum beispiel
okay
also self.bot.fetch_message(id)
also eif das da so rein, danke
du bäruchtest wahrscheinlich erst den channel
Okay, dann also channel.fetch_message
danke
discord.User.fetch_message
discord.Member.fetch_message
discord.Thread.fetch_message
discord.Webhook.fetch_message
discord.DMChannel.fetch_message
discord.SyncWebhook.fetch_message
discord.TextChannel.fetch_message
discord.GroupChannel.fetch_message
discord.VoiceChannel.fetch_message
discord.abc.Messageable.fetch_message
discord.PartialMessageable.fetch_message
discord.ext.commands.Context.fetch_message
ich checks ned kann wer helfen?
Wieso schreibt der bei user die nicht in der db davor sind NULL als Wert ?py async def add_money(self, user_id, money): async with self.start() as cursor: await cursor.exec("INSERT OR IGNORE INTO economy (user) VALUES (?)", (user_id)) await cursor.exec("UPDATE economy SET bank = bank + ? WHERE user = ?", money,user_id)
Wenn einer Spalte in einem Datensatz kein Wert zugeordnet ist, steht da halt NULL. Is das gleiche wie None sozusagen
ja schon klar
aber bei dem cmd gebe ich 20 ein und er trägt NULL ein
class Ecosystem(ezcord.DBHandler):
def __init__(self):
super().__init__("economy.db")
async def setup(self):
await self.exec("""CREATE TABLE IF NOT EXISTS economy(
user INTEGER PRIMARY KEY,
bank INTEGER DEFAULT 0)
""")
async def get_money(self, user_id):
return await self.one('SELECT bank FROM economy WHERE user = ?', user_id)
async def add_money(self, user_id, money):
async with self.start() as cursor:
await cursor.exec("INSERT OR IGNORE INTO economy (user) VALUES (?)", (user_id))
await cursor.exec("UPDATE economy SET bank = bank + ? WHERE user = ?", money,user_id)
class Economy(ezcord.Cog, emoji=""):
@slash_command(description="Füge jemanden Geld hinzu")
@discord.default_permissions(administrator=True)
@discord.option('money', int, description='Das Geld was der User bekommt', required=True)
async def addmoney(self, interaction: discord.Interaction, money: Option(int, "Wie viel der User hinzugefügt bekommt", min_value=1, max_value=99),member: Option(discord.Member, description="Wähle den User den du money abziehen magst")=None):
if member is None:
member = interaction.user
await db.add_money(member.id, money)
all_money = await db.get_money(member.id)
print(all_money)
embed = discord.Embed(description=f"{member.mention} wurden **{money}**  hinzugefügt\n\nEr hat nun **{all_money}**  auf seinem Konto")
await interaction.respond(embed=embed)```
jemand nh idee was falsch ist
error?
das spielt doch keine Rolle wie ich des nenne 🤔
ka
import aiosqlite
from discord.commands import slash_command
from discord.ext import commands
import ezcord
import discord
class CookiesDB(ezcord.DBHandler):
def __init__(self):
super().__init__("cookies.db")
async def setup(self):
await self.ext(
"""CREATE TABLE IF NOT EXISTS users(
user_id INTEGER PRIMARY KEY,
cookies INTEGER DEFAULT 0
)"""
)
db = CookiesDB()
class daily(ezcord.Cog, emoji="🍪"):
def setup(bot):
bot.add_cog(daily(bot))``` Warum wird keine Datenbank erstellt?
einrückung Kollege
import aiosqlite
from discord.commands import slash_command
from discord.ext import commands
import ezcord
import discord
class CookiesDB(ezcord.DBHandler):
def __init__(self):
super().__init__("cookies.db")
async def setup(self):
await self.ext(
"""CREATE TABLE IF NOT EXISTS users(
user_id INTEGER PRIMARY KEY,
cookies INTEGER DEFAULT 0
)"""
)
db = CookiesDB()
class daily(ezcord.Cog, emoji="🍪"):
def setup(bot):
bot.add_cog(daily(bot))```
🤔
how
class Ecosystem(ezcord.DBHandler):
def __init__(self):
super().__init__("economy.db")
async def setup(self):
await self.execute("""CREATE TABLE IF NOT EXISTS economy(
user INTEGER PRIMARY KEY,
bank INTEGER DEFAULT 0)
""")
async def get_money(self, user_id):
return await self.one('SELECT bank FROM economy WHERE user = ?', user_id)
async def add_money(self, user_id, money):
async with self.start() as cursor:
await cursor.execute("INSERT OR IGNORE INTO economy (user) VALUES (?)", (user_id,))
await cursor.execute("UPDATE economy SET bank = bank + ? WHERE user = ?", (money, user_id))
db = Ecosystem()
class Economy(ezcord.Cog, emoji=":6977discordshoppingcart:"):
@slash_command(description="Füge jemanden Geld hinzu")
@commands.has_permissions(administrator=True)
async def addmoney(self, interaction,
money: Option(int, "Wie viel der User hinzugefügt bekommt", min_value=1, max_value=99),
member: Option(discord.Member, description="Wähle den User den du money abziehen magst") = None):
if member is None:
member = interaction.user
await db.add_money(member.id, money)
all_money = await db.get_money(member.id)
embed = discord.Embed(
description=f"{member.mention} wurden **{money}** :bagcoins: hinzugefügt\n\nEr hat nun **{all_money}** :bagcoins: auf seinem Konto")
await interaction.response.send_message(embed=embed)``` test mal aus
@tawdry leaf
stehe drauf auf dem schlauch
woher kommt py AttributeError: 'bandb' object has no attribute 'execute'
warum ban im code steht nicht mit ban und execute auch nicht
class UserDB(ezcord.DBHandler):
def __init__(self):
super().__init__("user.db")
async def setup(self):
await self.exec(
"""
CREATE TABLE IF NOT EXISTS banned_members (
user_id INTEGER PRIMARY KEY,
member_name TEXT,
reason TEXT,
banned_by TEXT
)
"""
)
db = UserDB()```
Is das der komplette Error?
Ich habe das gefühl du hast uns nen falschen Code Ausschnit gesendet
[ERROR] Error in event on_ready
Traceback (most recent call last):
File "C:\Users\sebas\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "C:\Users\sebas\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages await instance.setup()
File "f:\baustelle\secutity\cogs\moderation\ban.py", line 16, in setup
await self.execute(
^^^^^^^^^^^^
AttributeError: 'bandb' object has no attribute 'execute'```
der ganze wird schwer das ist zu groß kann den ersten command mit der db class schicken
bin dabei den umzuschreiben
Schaue es mir gleich an
Hm bin jetzt nicht so sehr in Ezcord drinne
Frag mal am besten @solid ingot
falscher ping 😅
hm?
du hast den falschen gepingt oder nicht?
nein
Habe den richtigen gepinged
okay weil sehe kein code von ihm 😅
Geht [hier](#1084167914208362558 message) drum
aso 😂
Ok
los mach
Mach doch selber
MACH JETZT! LOS!
😢
Login into Timoo.dev browser
Hahaha
🧐
Muss ich

kd
Ganz wichtige Frage: Seiddem ich den KeksHoster benutze habe ich extreme Probleme auf Discord was die Verbindung angeht. alles ist prima, aber wenn jemand im Discord Kamera oder screenshare an hat krachts komplett. Hat es damit irgendwie was zutun (was ich mir nicht vorstellen kann) oder ist es was anderes?
Weil exakt an dem tag wo ich den Hoste benutze habe ich diese Probleme.
kekshosting hat nichts mit deinem discord account zu tun
Wie soll wegen dem Kekshosting sein?
Wie Timo schon sagte, hat es nichts mit deinem account zutun.
Würde auch keinen Sinn machen
Ja eben
Ist halt nur weird weil ich seiddem Zeitpunkt wo ich meinen Bot online gestellt habe, auf Discord extrem Probleme habe
Ich habe das auch. Sobald ich einen Stream angucke laggt der Call bei mir. Hat aber nichts mit KeksHosting zu tun. Habe keinen Server bei Kekshosting und habe das trotzdem.
Weisst du woran es liegen kann?
Nop. Denke an DC kannst mal probieren dein Dc neu zu installieren
Hab ich schon
Dann wende dich an den Discord Support
Alles gut hab’s gelöst
andere frage weiß wer warum der command nicht angezeigt wird es gibt keinen error
@slash_command(description="überprüfe den Ban eines Mitglieds")
@commands.has_permissions(administrator=True)
async def checkban(self, ctx, ID: Option(str, "Wähle ein Mitglied", required=True)):
banned = await db.get_ban(ctx.user_name, ctx.reason, ctx.banned_by)
user_id = int(ID)
if banned == user_id:
embed = discord.Embed(
title="✅ | User ist gebannt",
description=f"{ctx.user_name} ist gebannt\n"
f"**Grund:** {ctx.reason}\n"
f"**Gebannt von:** {ctx.banned_by}",
color=discord.Color.red()
)
await ctx.respond(embed=embed, ephemeral=True)
else:
embed = discord.Embed(
title="✅ | User ist nicht gebannt",
description=f"{ctx.user_name} ist nicht gebannt",
color=discord.Color.red()
)
await ctx.respond(embed=embed, ephemeral=True)
```
hatte das auch
@slash_command()
@commands.cooldown(1, 86400, commands.BucketType.user)
async def daily(self, ctx):
user_id = ctx.user.id
current_streak = await db.get_streak(user_id)
if current_streak > 0 and await db.check_streak(user_id):
current_streak += 1
await db.update_streak(user_id, current_streak)
message = f"Tägliche Pizza\nDu hast dir **50** Pizza abgeholt! Sehr schmackhaft\n\nStreak: {current_streak} Tage - Streak beibehalten"
else:
await db.reset_streak(user_id)
current_streak = 1
await db.update_streak(user_id, current_streak)
message = f"Tägliche Pizza\nDu hast dir **50** Pizza abgeholt! Sehr schmackhaft\n\nStreak: {current_streak} Tag - Streak verloren"
total_pizza = await db.get_pizza(user_id)
await db.add_pizza(user_id, 50)
embed = discord.Embed(
title="Tägliche Pizza",
description=message,
color=discord.Color.yellow()
)
embed.set_footer(text=f"Du hast nun {total_pizza} 🍕") #
await ctx.respond(embed=embed)```
[ERROR] Error while executing /daily
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 "E:\Solution bot\cogs\Cookies.py", line 61, in daily
total_pizza = await db.get_pizza(user_id)
AttributeError: 'PizzaDB' object has no attribute 'get_pizza'```
einrückung
einrückung
nein hab schon das gefix

komm @viscid lake
😮
Bin ned am pc gleich
gumo ich bekomme diesen fehler hier:
File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 786, in _load_from_module_spec
setup(self)
File "c:\Users\User\Desktop\alles mit coden\PYCORD DDW WD ZWZD WA DWDFAWUZDBADBAD\cogs\db.py", line 32, in setup
bot.add_cog(db(bot))
TypeError: 'UserDB' object is not callable
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "c:\Users\User\Desktop\alles mit coden\PYCORD DDW WD ZWZD WA DWDFAWUZDBADBAD\main.py", line 20, in <module>
bot.load_cogs("cogs")
File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\bot.py", line 227, in load_cogs
self.load_extension(f"{'.'.join(path.parts)}.{name}")
File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 910, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 791, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.db' raised an error: TypeError: 'UserDB' object is not callable
hier ist mein code:
import discord
import ezcord
from discord.commands import slash_command
class UserDB(ezcord.DBHandler):
def __init__(self):
super().__init__("users.sqlite")
async def setup(self):
await self.exec(
"""
CREATE TABLE IF NOT EXISTS users(
user_id INTEGER PRIMARY KEY,
user_name STRING,
user_pfp STRING,
user_joindate STRING
user_booster BOOLEAN DEFAULT FALSE,
level_rank
level_xp
perm_warn BOOLEAN DEFAULT FALSE,
perm_kick BOOLEAN DEFAULT FALSE,
perm_ban BOOLEAN DEFAULT FALSE,
perm_announce BOOLEAN DEFAULT FALSE,
perm_support BOOLEAN DEFAULT FALSE,
)
"""
)
db = UserDB()
def setup(bot):
bot.add_cog(db(bot))
verstehe nicht ganz woher der fehler kommt hab einfach nur den code vom tutorial geschrieben
was meinst
weißt du wie ein Cog aufgebaut ist?
und wo ist bei deinem code einer?
ah fuck hab die klasse vergessen
vergiss es bin dumm
Gibt es live Templates in vsc
ja?
OK wo findet Mann das
selber ?
websites
Meinst du Pornhub
das gibt es auch als live template 🤔
passt so
na gut
File "C:\Users\sebas\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\cog.py", line 791, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.moderation.ban' raised an error: ValidationError: Command names and options must be lowercase. Received "ID"```
weiß woher das kommt
```py
@slash_command(description="überprüfe den Ban eines Mitglieds")
@commands.has_permissions(administrator=True)
async def checkban(self, ctx, id: Option(str, "Wähle ein Mitglied", required=True)):
banned = await db.get_ban(ctx.user_name, ctx.reason, ctx.banned_by)
user_id = int(id)
if banned == user_id:
embed = discord.Embed(
title="✅ | User ist gebannt",
description=f"{ctx.user_name} ist gebannt\n"
f"**Grund:** {ctx.reason}\n"
f"**Gebannt von:** {ctx.banned_by}",
color=discord.Color.red()
)
await ctx.respond(embed=embed, ephemeral=True)
else:
embed = discord.Embed(
title="✅ | User ist nicht gebannt",
description=f"{ctx.user_name} ist nicht gebannt",
color=discord.Color.red()
)
await ctx.respond(embed=embed, ephemeral=True)```
Warum schickst du zwei mal den gleichen Code?
ähhhhhhh
stimmt doch gar nicht 
der code passt nicht zum error 😐
sende doch den ban cmd
ja bei dem ist auch nichts
doch ist es sonst hast du den error nicht
nein es hat mit dem vode angefangen.. ich und 2 andere haben uns den ban cmd angeschaut...
ValidationError: Command names and options must be lowercase. Received "ID"
das heißt du hast im asnyc def ID stehen schreibe des klein dann ist der error weg
da war erst en großes id und beim ban cmd gibt es gar kein id
nvm der fehler ist warum auch immer weg
id ist immer ein int wieso schreibst du Option str das ergibt für mich keinen sinn xD
Wenn man es beim parameter als int angibt, dann kann man keine Member IDs angeben.
Ik ist dumm, aber er hat das schon richtig so
Wenn er bei der Option jetzt "int" hinmachen würde, und dann beim command nh user id angibt, würde so nh meldung kommen, dass es zu lang für nen integer ist oder so
er kann auch einf discord.Member nehmen dann geht alles mit discord membern
Klar kann er das, möchte er aber wohl nicht
Da kann ich ja nix für
frag @ruby sparrow er hat das gemacht
schade
na du musst es aber doch verstehen 😦
Da liegt das Problem ☠️
bringt mir nichts da ich per id die db abfrage ob die id drinnen steht :d
hab darauf nicht geachtet wollte den bot erstmal an bekommen
Also ich denke der code den du geschickt hast fragt was anderes ab aber nicht die id die da angegeben ist
Okey
also du hast den error immernoch?
Wie kann ich ein modal in ein bestimmten Channel Schicken
Einen Modal kannst du gar nicht in nen Channel schicken?
nur die antwort
nö dafür ein anderen aber grad kein bock mehr hab hunger aber danke
Ja die Antwort meinte ich
Wie kann ich die Antwort in ein bestimmten Channel schickeb
Das hat timo nicht gezeigt im Video
zb embed mit den antworten und dann halt in den channel schicken
easy
zb py embed = discord.Embed( title=f"Teambeschwerde-Ticket", description=f"### Willkommen {interaction.user.mention}, \n\n" f"**Unser Team wird dir gleich weiterhelfen !**" f"\n\n\n" f"**Um welches Teammitglied geht es?**\n" f"- {self.children[0].value}\n" f"**Was hat das Teammitglied gemacht?**\n" f"- {self.children[1].value}\n" f"**Was ist passiert?**\n" f"- {self.children[2].value}\n" f"**Hast du beweise?**" f"- {self.children[3].value}",
halt nur dann await machen mit channel
await Channel.send

