#Allgemeine Hilfe

1 messages · Page 58 of 1

urban glen
#

ne

#

im code

#

du kek

solid ingot
#

du willst ja einen post in einem forumchannel erstellen, also schau mal in den docs bei ForumChannel

urban glen
#

und der start?

channel = ..get_channel(ID)
channel.create_thread.......................

solid ingot
#

zum beispiel

urban glen
#

okay

#

thx

twilit anvil
#
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'
urban glen
twilit anvil
#

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

urban glen
twilit anvil
#

interaction.guild?

urban glen
#

Du kannst mit interaction.guild auf die Guild zugreifen

urban glen
#

Du machst es dir selber schwerer als es ist

#

Und wofür diese Zeile: for i in range(500):?

@twilit anvil

twilit anvil
#

Ein Discord kann ja 500 Channels max. haben

#

deswegen

urban glen
#
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

twilit anvil
#

Danke dir.

twilit anvil
#
await support.create_forum_channel(name="〣│🔌・offener-support")
urban glen
#

?

twilit anvil
#
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```
urban glen
twilit anvil
#
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")```
urban glen
#

Ah lol, hab eben oben falsch gelesen xD
Dachte du versuchst ein Post zu erstellen.

My Bad, wait ich schau kurz

odd kiteBOT
twilit anvil
#

Alles gut, kein Problem

#

Bin auf der gleichen Seite in den Docs.

#

Aber checke das nicht xD

#

Aber eigentlich reicht der Name doch?

urban glen
#

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

twilit anvil
#

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.

urban glen
#

Is aber keine Gute idee so viele channels zu löschen und dann zu erstellen

delicate sandal
#

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.

urban glen
delicate sandal
urban glen
delicate sandal
urban glen
#

Welcher fehler?

twilit anvil
#

Btw: Wenn du den Ticket Channel so erstellen willst (letzte Zeile) wird das nicht fruchten: Du musst das mit einem - abtrennen.

delicate sandal
#

jaa nur da steht interaction fehlgeschlagen

#

mit dem lässt sich auch nix einstellen

#

bin überfragt 😦

twilit anvil
#

Das ist ja auch für pycord so.

#

@urban glen

urban glen
#

Ohne genaue Fehlermeldung und mehr Code kann ich nd helfen

delicate sandal
#

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

delicate sandal
urban glen
#

Ich verstehe das genaue problem gerade nicht

delicate sandal
#

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

ruby sparrow
urban glen
delicate sandal
ruby sparrow
odd kiteBOT
urban glen
delicate sandal
delicate sandal
delicate sandal
# urban glen 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

paper crane
#

Wie kann man bei Pycord Befehe auf Server limitieren also das die nur auf manchen Servern zusehen sind?

urban glen
#

bei deinem discord.bot einfach debug_guilds=[SERVER_ID] machen,

jaunty jasper
#

Wie kann ich in einem Cog, eine Class mit Buttons persistent machen ?
Man muss beachten, dass dieser Class Werte übergeben werden.

twilit anvil
#

@jaunty jasper Funktioniert genau so.

jaunty jasper
#

und das ist ja mein Problem

twilit anvil
#

@jaunty jasper

#

Du kombinierst einfach beides.

jaunty jasper
twilit anvil
jaunty jasper
# twilit anvil .

Aber für die Persistent View muss ich die Klasse im On_ready Event hinzufügen
und dort will er auch die Daten haben

solid ingot
#

die daten müsstest du dann zb in einer DB speichern und im on_ready event laden

twilit anvil
#

ja, dann machst du daten=None

#

Im on_ready

urban glen
#

Moin

#

kann mir mal bitte wer beim endelon website hosting helfen?

urban glen
urban glen
#

de geben mir so ne dumme docs die kein mensch versteht

raven lotus
#

Ich brauche kurz hilfe mit einem code

fierce dove
#

Ja

raven lotus
#
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?
urban glen
raven lotus
#

ja

#

sry, hab ausversehen alles gesendet

urban glen
#

Versuchs so und schau bis wohin es printet

raven lotus
#

5

urban glen
#

Dann ist "{count}" wohl nicht im channel namen

raven lotus
#

doch

urban glen
raven lotus
#

achso

#

._.

urban glen
#

Und nicht ob etwas in der Datenbank mit {count} ist

raven lotus
#

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 ._.

raven lotus
#

Kann mir jemand helfen?

delicate sandal
#

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

fringe hedge
#

Moin Leute wie kann man in pycord user mention in ein embed nutzen=

#

*?

ruby sparrow
#

@fringe hedge

fringe hedge
urban glen
#

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?

urban glen
#

Durch die member gehst du mit for member in guild.members

#

danke

urban glen
urban glen
#

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

ruby sparrow
#

@urban glenwie meiste du das

urban glen
#

ich will einfach das in meiner datenbank alle leute drinstehen die adminstatus haben

#

nur auf einem oder auf allen servern

urban glen
urban glen
#

danke

#

obwohl gibt es nicht eine methode wenn von einem user die rollen geupdated werden?

urban glen
# urban glen danke
for guild in bot.guilds:
    print(guild.name)
    for member in guild.members:
        ...

Hier schonmal ein kleiner Anfang

odd kiteBOT
urban glen
#

danke

urban glen
#

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

urban glen
odd kiteBOT
raven lotus
#

es geht bei mir immernoch nicht

#

._.

vivid sky
delicate sandal
#

jo kurze frage pycord ich würde gerne wissen wie ich die default rolle perms nehme

fierce dove
delicate sandal
#

brauche schnell hilfe meinen bot aufn server zu ziehen

#

auf einen root server

#

habe die fehler

last depot
#

Hey ich habe frage wie kann man so machen das bei einem tickets system eine person nu bestimmt viele tickets öffnen kann

urban glen
raven lotus
#

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

normal sundial
#

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?
paper crane
#

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)
raven lotus
#

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
viscid lake
#

Missing Access

raven lotus
#

Soll ich den mal von allen guilds kicken?

#

Und dann wieder neu autorisieren?

indigo sapphire
#

Ist das möglich in einem bot zu implementieren?

zB zu erkennen ob ein Nutzer bestimmte Sub gemacht hat?

viscid lake
indigo sapphire
viscid lake
#

Und zur deiner Frage wenn es bei den dc docs nicht steht dann nein

indigo sapphire
indigo sapphire
viscid lake
indigo sapphire
viscid lake
viscid lake
indigo sapphire
#

Auch in pycord?

viscid lake
indigo sapphire
indigo sapphire
viscid lake
viscid lake
indigo sapphire
indigo sapphire
viscid lake
#

Also im Discord.dev kann man jetzt schon ein deutsches Konto angeben vorher ging das nicht

indigo sapphire
raven lotus
#

Irgendwie gehen alle Prefix Commands bei mir nicht

#

Ich weiß nicht warum

fierce dove
#

Code

raven lotus
#
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

raven lotus
#

kann es an command_prefix liegen?

fierce dove
#

Ich glaube ja

#
bot = ezcord.PrefixBot(command_prefix='s!', intents=discord.Intents.all())
#

Probiere es so mal

raven lotus
#

nope

#

ich weiß nicht wie man das beim Dev Portal fixt

fierce dove
#

Der bot hat keine rechte

raven lotus
#

aber wie fixe ich das?

#

ich muss doch zum dev portal

fierce dove
#

Warum machst du immer denn Error weg dann können wir dir nicht helfen

raven lotus
#
[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?

fierce dove
#

Welche Rechte hat der bot

raven lotus
#

Administrator

fierce dove
#

Hmmm

#

Kommt dass wenn du ein command ausführen möchtest

raven lotus
#

nein, wenn der Bot gestartet wird

#

das kommt beim PC und Server

fierce dove
#

Hast du eine debug_guild irgendwo

raven lotus
#

ja

fierce dove
#

Schau mal ob das die richtige ist

raven lotus
#
@slash_command(guild_ids=debug_guilds)
#

wait

fierce dove
#

Warum
guild_ids

raven lotus
#

idk

#

habs halt so gemacht

#

soll ich es umbennenen?

fierce dove
#

Mach mal das s von ids weg

#

Und probiere es noch mal

#
@slash_command(guild_id=debug_guilds)
raven lotus
#

waaaiit

fierce dove
#

Okkkkkkkkkkkkkkkkkkkkkkkkk

raven lotus
#

also, der error kommt nicht mehr

fierce dove
#

Ok

raven lotus
#

es gehen trotzdem keine Prefix commands

fierce dove
#

Weil du da ein slash_command hast

#

@commands.command() das ist für prefix command

raven lotus
#

hab ich so

fierce dove
#

Ok

raven lotus
#

aber er macht es einfach nicht

fierce dove
#

Dann habe ich keine Ahnung

raven lotus
#

ich probiere mal einen anderen bot

#

glaube ich

fierce dove
#

Ok

raven lotus
#

Aber alle slash commands gehen ._.

twilit anvil
#
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.

urban glen
twilit anvil
#

weil 2 sachen ja reingepackt werden sollen

urban glen
#
    @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()
twilit anvil
#

Ah okay. Danke!

twilit anvil
#
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

urban glen
#

Am besten so Line 55-65

twilit anvil
#

Am besten will ich den Eintrag ganz löschen.

graceful fiber
#

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...

raven lotus
#

was kann ich noch machen außer:

command_prefix='s!'
```?
urban glen
raven lotus
#

also hier:

bot = ezcord.PrefixBot(intents=discord.Intents.all(), command_prefix='s!')
#

weil er ladet bei mir meine Commands nicht

#

also Prefix commands

odd kiteBOT
urban glen
#

Hab keine ahnung von ezcord

graceful fiber
#

die bot init methoden sind eigentlich fast überall gleich in den meisten libs

urban glen
urban glen
raven lotus
#

ich wollte eig nur wissen was ich auch schreiben kann außer command_prefix

urban glen
raven lotus
#

muss es command_prefix heißen

graceful fiber
#

ja

raven lotus
#

achso, ok

#

weil meine commands nicht ausgeführt werden ._.

graceful fiber
#

ja da hilft auch nur mehr code und error und co

raven lotus
#

komisch ist, er führt gar nichts aus

#

ich habe mal print versucht und er macht es nicht

real crypt
#

weiss wer warum das nicht geht?

activity = discord.CustomActivity(
    "Test123",
)
bot = discord.Bot(intents=discord.Intents.all(), activity=activity, command_prefix=".")```
#

py-cord*

solid ingot
#

welche py-cord version hast du?

real crypt
#

2.4.1

solid ingot
#

dann müsstest du noch die neuste version benutzen, in #🔍・pycord-help ist unten eine anleitung

real crypt
#

Ok, Danke

solid ingot
#

ja

edgy axle
#

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..?

urban glen
hard pivot
#
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
odd kiteBOT
#
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
urban glen
real crypt
#

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

edgy axle
edgy axle
lofty rock
#

Moin wo muss ich einen Port einsetzen für ein Discord bot?

hard pivot
#
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
urban glen
#

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)
hard pivot
#

Oder kann er das dann zu einen größeren datentyp konventieren?

twilit anvil
#
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'```
urban glen
twilit anvil
#

ne

urban glen
#

int(WERT)

urban glen
#

(limit=int(self.children[0].value))

delicate sandal
#

kann jemand helfen? wie tutorial gemacht Cogs klappen nicht

delicate sandal
#

das verwirrt mich ja

#

bei nem anderen bot von mir klappt alles

wind finch
delicate sandal
#

hab das zum test erst mit load extension gemacht

odd kiteBOT
#

Hier findest du das Main-Datei Template 🍪

wind finch
#

Lad die cogs mal wie hier

delicate sandal
#

bin überfragt mal wieder

delicate sandal
#

hab das jetzt so

urban glen
#

mach mal nach zeile 21 ein enter und dann print(filename)

#

bitte

delicate sandal
urban glen
#

zeig mal deine konsole

delicate sandal
delicate sandal
urban glen
#

zeig mal den code aus deinem cog

delicate sandal
urban glen
#

falsche einrückung

odd kiteBOT
urban glen
#
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
urban glen
#

kein ding immer gern

delicate sandal
urban glen
#

/level meinst du so??

delicate sandal
urban glen
#

``banane``

delicate sandal
#

dankeee

urban glen
#

yooo how to make ezcord bridge command because ich nix wissen wie

odd kiteBOT
urban glen
#

@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

delicate sandal
urban glen
#

wie meinst du abtrennung

delicate sandal
#

ja halt wait so

delicate sandal
#

so ungefähr

urban glen
#

einfach eine rolle machen die ----------- BLAH BLAH ----------------- heißt machen

delicate sandal
urban glen
#

leerzeichen?

delicate sandal
urban glen
#

doch

#

natürlich

delicate sandal
#

ya? hat bei mir damals nicht geklappt

urban glen
#

jo

urban glen
real crypt
#

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

raven lotus
#

Weiß jemand bei Welchem CodingKeks Tutorial Choices kamen?

#

ich finde es nicht

real crypt
raven lotus
#

ne, ich meinte bei slash commands

real crypt
#

naja sollte das dann nicht in slash command video sein

limber crow
#

Ich kann es dir aber erklären

limber crow
limber crow
restive herald
#

im cmd? oder den user

odd kiteBOT
restive herald
#

Ach ne da war nur Option

restive herald
novel ore
#

Kann man in einem FOOTER bei text= keine Links anzeigen lassen?

solid ingot
#

ne, das müsstest du in der description ganz unten machen

real crypt
limber crow
real crypt
# limber crow 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

twilit anvil
#
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.

normal sundial
#

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?
edgy axle
#

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())
edgy axle
delicate sandal
#

jooo wie kann man wenn man channel erstellen lässt über selection menüs diese in eine bestimmte kategorie posten lassen? [pycord]

edgy axle
delicate sandal
#

Würde das so gehen oder bin ich dumm

edgy axle
delicate sandal
edgy axle
delicate sandal
edgy axle
normal sundial
#

also darf ich keine hilfe erwarten? 😄

edgy axle
native plume
opaque blade
#

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)
restive herald
#

Eif nur den unteren Teill ig

urban glen
restive herald
#
chat = guild.get_channel(1042477484303716433)
                            await chat.send(member.mention, embed=lvlup)
opaque blade
#

lol macht sinn, hatte gerade diesen anderen brainlag, da haette ich eig auch drauf kommen koennen. Danke!!

opaque blade
#

kann mir wer sagen warum ich "PyNaCl" nicht importen kann?

#

trotz

pip install PyNaCl
urban glen
opaque blade
#

musik cog

urban glen
# opaque blade 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

opaque blade
urban glen
opaque blade
#
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'
urban glen
opaque blade
#

hab literly nichts geaendert, und von einer skunde zur anderen kam der error ohne grund

opaque blade
#

@solid ingot hast du nen Moment?

solid ingot
#

welche library nutzt du?

urban glen
#

@opaque blade

opaque blade
solid ingot
opaque blade
#

pycord

solid ingot
#

schick mal deine pip freeze liste

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
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
odd kiteBOT
#

@opaque blade

Requirements-Check

⚠️ 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.*
opaque blade
#

habe aber immernoch den gleichen error

solid ingot
#

wenn du dpy deinstalliert hast, solltest du pycord danach neu installieren

opaque blade
#

Ich danke dir vom herzen!!!

solid ingot
#

❤️

edgy axle
#

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()
restive herald
#

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

solid ingot
#

sobald das return ausgeführt wird stoppt die ausführung

restive herald
#

Ach stimmt

#

makes sense dachte gilt nur für dei schleife

dreamy bobcat
#

Guten Abend, kann man wenn man ein DropDown Menü gesendet hat, in der Nachricht die von dem DropDown gesendet wird, noch ein DropDown Senden?

twilit anvil
#

Natürlich

urban glen
dreamy bobcat
#

Ja ok

native plume
dreamy bobcat
#

Achso ok. Danke

#

Geht das unendlich weit?

#

Also hintereinander

urban glen
urban glen
raven lotus
#

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

urban glen
#

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

raven lotus
#

._.

#

Syntax

#

()

#

glaube ich

urban glen
raven lotus
#

ach egal, ich kann nicht helfen

delicate sandal
#

wie kann ich die channel die erstellten in nh bestimmte kategorie posten

native plume
delicate sandal
native plume
#

Hover mal drüber

delicate sandal
#

oke hab

native plume
#

Mach Screenshot

native plume
#

Oben hast du die Klammer vergessen

delicate sandal
#

ist das einzige was nicht klappt

native plume
#

category = discord.utils.get(interaction.guild.categories, id=HIER CATEGORY ID)

ticketchannel1 = category.create_channel(….)

native plume
urban glen
#

weiß jemand wie man am besten youtube videos mit python herunterladen kann? hab 20 pakete probiert irgendwie geht keins

delicate sandal
#

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

urban glen
restive herald
odd kiteBOT
delicate sandal
urban glen
#

wie kann ich buttons deaktiveren

solid ingot
#

hey, dazu kannst du dir das button video anschauen

urban glen
#

ok wie heißt es

urban glen
urban glen
solid ingot
#

du kannst auch mit view.disable_all_items alle items deaktivieren

urban glen
#

welche timestamps gibt es alle ?

odd kiteBOT
twilit anvil
twilit anvil
#
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?

opaque blade
#

Moinooo, ich glaube ich habe einfach ein Packages-Problem, weiss aber nicht wie ich das fixen soll. kann wer helfen? whatinnocently

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'
twilit anvil
#

Kannst du mal pip freeze machen, und das schicken? @opaque blade

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
twilit anvil
#

Hoffentlich aber wer anders.

urban glen
#

@opaque blade zeig mal kurz deine bot datei.
Also die Datei, wo du deinen bot startest

#

Nutzt du irgendwo Prefix Commands?

opaque blade
#

warte kurz

opaque blade
# urban glen <@739287787496276056> zeig mal kurz deine bot datei. Also die Datei, wo du deine...
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"))
opaque blade
urban glen
#

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?

opaque blade
#

mach ich privat ja? will nicht leaken haha

urban glen
urban glen
twilit anvil
paper crane
#

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.

urban glen
urban glen
tawdry leaf
tawdry leaf
twilit anvil
urban glen
#

Ä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

twilit anvil
# urban glen <@1159863525561356379>
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'```
solid ingot
#

bot.voice_client gibt es nicht

twilit anvil
urban glen
#

Mit der Guild

#

interaction.guild.voice_client
Solche Fragen kannst du dir selbst mit den Doc's beantworten

twilit anvil
# urban glen `interaction.guild.voice_client` Solche Fragen kannst du dir selbst mit den Doc'...
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'```
urban glen
#

@tawdry leaf wo soll da nh Klammer fehlen?

tawdry leaf
urban glen
twilit anvil
#

Würde das jetzt gerne in den Status vom Bot einbauen. Wie kann ich mir jetzt nur den Namen ausgeben lassen?

#

@urban glen

urban glen
#

Finds selber heraus.

#

@twilit anvil

fierce dove
#

Der bot hat Administrator

solid ingot
#

ist der channel auch auf dem server wo der bot admin ist?

fierce dove
#

Ja

#

Ich schaue noch mal nach

#

Hatte die falsche channel id

raven lotus
#

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)
fierce dove
#

Wie kann mein bot in ein annoucements Kanal die Nachricht automatisch veröffentlichen

odd kiteBOT
fierce dove
#

Thx

real crypt
#

wie mache ich eine pause pro message

#

also zb 2sec zwischen jede nachricht

urban glen
real crypt
#

also zb
10
2sec warten
9
usw

#

ah asyncio

tawdry leaf
#

jo

raven lotus
#

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
placid trellis
#
@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()```
urban glen
#

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

solid ingot
#

hast du den Message content intent aktiviert? und welche library nutzt du?

urban glen
#

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 💀

placid trellis
#

haben user commands überhaupt ein message content?

urban glen
#

ka deshalb frage ich 💀

placid trellis
#

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)```
raven lotus
#

oder wait

#

nope geht nicht

placid trellis
raven lotus
#
Rolle mit der ID None nicht gefunden.
placid trellis
#

row[0]

#

dann dürfte es gehen

raven lotus
#
[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
raven lotus
placid trellis
#

dann ist die rollen id falsch

raven lotus
#

wait

placid trellis
#

bzw wird der emoji nicht erkannt

raven lotus
#

aber die ID vom emoji ist da

#

rolle ist richtig

#

so steht es drinnen

#

hab ich ein Fehler gemacht?

placid trellis
#

yup

raven lotus
#

also noch hinzufügen in die Datenbank oder wie?

placid trellis
#

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)))

raven lotus
#

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?
placid trellis
#

ja

#

einfach row

raven lotus
#

wait

#
Rolle mit der ID None nicht gefunden.
placid trellis
#

oder warte

#

role = guild.get_role(int(row))

#

wenn das nicht geht printe das mal

raven lotus
#
[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))
                          ^^^^^^^^
placid trellis
#

da fehlt was

raven lotus
#

[0]?

placid trellis
#

nein

#

bei der Fehlermeldung

raven lotus
#
TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'
placid trellis
raven lotus
#

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()
placid trellis
#

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

raven lotus
#
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'
placid trellis
#

row[2]

raven lotus
#
[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?

placid trellis
#

probiers mal

urban glen
#

Hi liebe community von timo ich habe ne frage

kann man video in embeds machen oder geht das nicht ?

raven lotus
#

Wait

odd kiteBOT
#

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...

▶ Play video
raven lotus
#

@urban glen

urban glen
#

aber das ist doch das nicht ?

raven lotus
#

Oh

#

Sry

urban glen
# odd kite https://youtu.be/rTa0yRA87Co

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

raven lotus
#

Hab YT gedacht

#

Sryyyyyy

urban glen
#

kann mir jemand helfen bitte

                        await message.channel.send(response, ephemeral=True)```

möchte da ephemeral=True machen aber es geht nicht
ruby sparrow
ruby sparrow
urban glen
#

ach und hier ein fehlercode:


    await message.channel.send(response, ephemeral=True)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Messageable.send() got an unexpected keyword argument 'ephemeral'```
urban glen
#

man kann einen channel response nicht unsichtbar machen
nur einen direkten response für einen user

ruby sparrow
#

ja stimmt auch

urban glen
#

sprich;
interaction.response.send_message(response, ephemeral=True)

urban glen
urban glen
#

geht ned in nem event

urban glen
urban glen
# urban glen ja ist es

Ja da kannst du Ephemeral nicht nutzen.

Das geht nur in Interactions, also Slash Commands, Dropdowns, Buttons, Modals

ruby sparrow
urban glen
#

oder mit ctx.respond
bei nem prefix command

urban glen
#

geht aber in nem on_message event ned

#

wofür brauchst du den code denn

urban glen
#

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?

urban glen
urban glen
urban glen
odd kiteBOT
solid ingot
urban glen
#
    @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

solid ingot
#

achso, du machst einen user command

urban glen
#

ja 😂

#

das sind auserdem doch die rechtsklick commands

#

bruh

solid ingot
#

ja aber es gibt doch auch message commands

urban glen
#

wie meinst?

solid ingot
#

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

urban glen
#

ja

#

wüsste aber nicht wie man sonst so einen app command machen sollte

#

deshalb fragte ich ja hier 😂

solid ingot
#

du hast ein paar sachen falsch, deswegen schau dir am besten dieses 3min video nochmal kurz an

urban glen
#

okay

#

also

#

anstelle user_command = message_command
und anstelle interaction = message

solid ingot
#

also wenn du den message content haben willst, nimm einen message command, keinen user command (beides davon sind rechtsklick commands)

urban glen
solid ingot
#

genauso wie bei jedem anderen command auch

urban glen
#

message.send_modal?

solid ingot
#

ne

#

1:1 so wie bei normalen commands auch

#

du musst keinen einzigen buchstaben ändern

urban glen
#

ich bin verwirrt.

#

interaction.response.send_modal

#

owhat

solid ingot
#

naja das ist keine interaction, sondern ein applicationcontext

urban glen
#

alsoooo ctx

#

anstelle des interaction parameters

#

omg

#

sorry

#

timo

#

mein fehler

#

ich sollte evtl mal anfangen deinen code im tutorial durch zu lesen

#

😂

dreamy bobcat
#

tree.command in discord.py ist doch ungefähr das selbe wie commands.group in pycord. richtig?

urban glen
odd kiteBOT
#
@client.tree.command()
async def hello(interaction: discord.Interaction):
    """Says hello!"""
    await interaction.response.send_message(f'Hi, {interaction.user.mention}')```
dreamy bobcat
#

oh. das was in pycord @slash_command()

urban glen
dreamy bobcat
#

hmm okay. wozu dient dann commands.group ?

urban glen
#

das macht halt eine command group ._.

dreamy bobcat
#

pycord

urban glen
raven lotus
#

._.

@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
raven lotus
#

er führt es nicht mal aus

steep swallow
#

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.

dreamy bobcat
fierce dove
#

Benutzt du pycord oder discord.py

#

@dreamy bobcat

tawdry leaf
fierce dove
#

@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'
tawdry leaf
dreamy bobcat
#

Fehler ist schon alles mit behoben

tawdry leaf
#

😄

fierce dove
#

👶

tawdry leaf
viscid lake
#

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="![pepe_wave](https://cdn.discordapp.com/emojis/1165333049492394136.webp?size=128 "pepe_wave") 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)```
last depot
#

Wie kann man im Status vom Ticket bot machen wie viele Tickets offen sind

urban glen
mystic flower
#
    @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"))```
urban glen
#
async def button1(self, interaction: discord.Interaction, button: discord.ui.button):```
zu 
```py
async def button1(self, button: discord.ui.Button; interaction: discord.Interaction):```
jaunty jasper
#

Wie kann ich in Pycord einen Parameter in einem Slashcommand optional machen ?

solid ingot
#

dafür gibt es mehrere wege, du kannst zB in der option default=None schreiben

jaunty jasper
#

Danke

tawdry leaf
#

Nicht button

#

button:discord.ui.Button

#

Oder discord.Button weiß ich grad nd

urban glen
tawdry leaf
#

Jap

edgy axle
#

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?

kind depot
#

Was ist ein Paginator?

urban glen
#

@kind depot

kind depot
#

ok

urban glen
# odd kite

Wie hier bei diesem embed
Halt so mehrere Seiten, also mehrere Pages

normal sundial
#

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

hard pivot
#
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?

last depot
hard pivot
violet lodge
#

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:

astral mulch
#

guten abend euch, jemand meinte zu mir, dass es verboten ist, Discord Musikbots zu coden. stimmt das'?

urban glen
astral mulch
#

hat das einen speziellen grund?

urban glen
#

Wegen den YouTube ToS oder so

astral mulch
#

oh ok. würde es wenn über spotify, soundcloud und co. machen youtube würde ich halt lassen.

urban glen
#

Deshalb wurde das Team vom Groovy Bot gezwungen, deren Bot offline zu nehmen

astral mulch
#

oh ok.

astral mulch
#

eine andere frage wäre, ob man vom bot eine rolle an eine bestimmte position setzen lassen kann beim erstellen?

worldly phoenix
#

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

ruby sparrow
ruby sparrow
#

doch..

worldly phoenix
#

Will doch nicht meine id

#

Nachricht id du idiot

ruby sparrow
#

für das auch

#

:D

#

@worldly phoenix

viscid lake
ruby sparrow
#

ja ist so

worldly phoenix
#

Aber warum aktivieren kann das immer

snow hatch
#

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)

viscid lake
worldly phoenix
#

Okay

edgy axle
snow hatch
violet lodge
#

Wie kann ich mit pycord hybrid commands benutzen, sodass prefix und slash gleichzeitig für ein command funktioniert

solid ingot
violet lodge
#

danke

#

Ergibt es Sinn für alle Commands eine Bridge zu machen? oder benutzt man diese nur für vereinzelte commands

solid ingot
#

ich denke das ist persönliche präfernez

violet lodge
#

Benutzen die heutigen beliebten Bots diese Variante oder ist es unterschiedlich?

#

Möchte keine veraltete Methode benutzen

solid ingot
#

die neuste methode sind slash commands

native plume
native plume
#

Sorry Prefix machen keinen Sinn mehr

#

Also es ist einfach total überholt

violet lodge
#

Also anstatt Prefix, am besten nur noch slash commands?

solid ingot
#

das wäre die neuste und die von discord empfohlene methode

violet lodge
#

Verstehe, dann werde ich jetzt alle meine commands überarbeiten

violet lodge
#

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?

kind depot
violet lodge
kind depot
#

für den command

violet lodge
#

verstehe, danke

violet lodge
#

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)
violet lodge
restive herald
#

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.

solid ingot
#

das mit dem loop verstehe ich nicht, aber den timestamp kannst du so bekommen

discord.utils.format_dt(discord.utils.utcnow() + timedelta(days=1))
tawdry leaf
#

ja 😐

solid ingot
restive herald
restive herald
solid ingot
solid ingot
restive herald
restive herald
solid ingot
restive herald
#

danke

urban glen
#

ich checks ned kann wer helfen?

tawdry leaf
#

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)

restive herald
tawdry leaf
#

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="![6977discordshoppingcart](https://cdn.discordapp.com/emojis/1151629294955679805.webp?size=128 "6977discordshoppingcart")"):

    @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}** ![bagcoins](https://cdn.discordapp.com/emojis/1152622858145640590.webp?size=128 "bagcoins") hinzugefügt\n\nEr hat nun **{all_money}** ![bagcoins](https://cdn.discordapp.com/emojis/1152622858145640590.webp?size=128 "bagcoins") auf seinem Konto")
        await interaction.respond(embed=embed)```
tawdry leaf
#

jemand nh idee was falsch ist

ruby sparrow
#

error?

tawdry leaf
#

keiner 🙂

#

er schreibt er hat nun None auf seinem Konto 😐

ruby sparrow
#
user_id INTEGER PRIMARY KEY,```  vllt
#

@tawdry leaf

tawdry leaf
#

das spielt doch keine Rolle wie ich des nenne 🤔

ruby sparrow
#

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?
tawdry leaf
#

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))```
ruby sparrow
#

hab mit kommen

#

hab dein code gefix

#

@tawdry leaf

tawdry leaf
#

🤔

tawdry leaf
ruby sparrow
#
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

viscid lake
#

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()```
urban glen
viscid lake
# urban glen Is das der komplette Error? Ich habe das gefühl du hast uns nen falschen Code ...
[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'```
urban glen
viscid lake
#

der ganze wird schwer das ist zu groß kann den ersten command mit der db class schicken

urban glen
#

Schaue es mir gleich an

#

Hm bin jetzt nicht so sehr in Ezcord drinne

Frag mal am besten @solid ingot

urban glen
#

@fierce dove Ersetze das else mit einem finally

urban glen
tawdry leaf
#

du hast den falschen gepingt oder nicht?

urban glen
#

Habe den richtigen gepinged

tawdry leaf
#

okay weil sehe kein code von ihm 😅

urban glen
tawdry leaf
#

aso 😂

tawdry leaf
fierce dove
#

Mach doch selber

urban glen
fierce dove
#

😢

tawdry leaf
fierce dove
fierce dove
fierce dove
tawdry leaf
fierce dove
#

Ok

#

Hab geht thx

tawdry leaf
opaque blade
#

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.

solid ingot
#

kekshosting hat nichts mit deinem discord account zu tun

urban glen
opaque blade
#

Ja eben

#

Ist halt nur weird weil ich seiddem Zeitpunkt wo ich meinen Bot online gestellt habe, auf Discord extrem Probleme habe

native plume
opaque blade
native plume
opaque blade
#

Hab ich schon

native plume
#

Dann wende dich an den Discord Support

viscid lake
#

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)
    ```
ruby sparrow
#

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'```
ruby sparrow
viscid lake
ruby sparrow
#

komm @viscid lake

tawdry leaf
viscid lake
urban glen
#

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

tawdry leaf
#

@urban glen also du hast keinen cog aber magst den der main.py hinzufügen 😂

urban glen
#

was meinst

tawdry leaf
#

weißt du wie ein Cog aufgebaut ist?

urban glen
#

ja

#

glaube schon

tawdry leaf
#

und wo ist bei deinem code einer?

urban glen
#

ah fuck hab die klasse vergessen

tawdry leaf
#

jo

#

code?

urban glen
#

vergiss es bin dumm

tawdry leaf
#

😄

#

okay

fierce dove
#

Gibt es live Templates in vsc

tawdry leaf
fierce dove
#

OK wo findet Mann das

tawdry leaf
tawdry leaf
fierce dove
tawdry leaf
tawdry leaf
fierce dove
#

Wegen Körperverletzung

tawdry leaf
#

und dann suchen BirthdayWumpus

fierce dove
#

Ich möchte keine themes

tawdry leaf
viscid lake
#
  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)```
urban glen
viscid lake
#

stimmt doch gar nicht peeposhy

tawdry leaf
#

sende doch den ban cmd

viscid lake
tawdry leaf
#

doch ist es sonst hast du den error nicht

viscid lake
#

nein es hat mit dem vode angefangen.. ich und 2 andere haben uns den ban cmd angeschaut...

tawdry leaf
#

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

viscid lake
#

da war erst en großes id und beim ban cmd gibt es gar kein id

#

nvm der fehler ist warum auch immer weg

tawdry leaf
#

id ist immer ein int wieso schreibst du Option str das ergibt für mich keinen sinn xD

urban glen
#

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

tawdry leaf
urban glen
viscid lake
tawdry leaf
urban glen
viscid lake
viscid lake
tawdry leaf
viscid lake
#

Okey

tawdry leaf
#

also du hast den error immernoch?

fierce dove
#

Wie kann ich ein modal in ein bestimmten Channel Schicken

urban glen
#

Einen Modal kannst du gar nicht in nen Channel schicken?

viscid lake
#

nur die antwort

viscid lake
fierce dove
fierce dove
#

Das hat timo nicht gezeigt im Video

viscid lake
#

zb embed mit den antworten und dann halt in den channel schicken

viscid lake
#

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

fierce dove
#

await Channel.send