#Allgemeine Hilfe

1 messages · Page 86 of 1

fierce dove
#

@tawdry leaf welchem Code Teil

tawdry leaf
fierce dove
#

@tawdry leaf

tawdry leaf
fierce dove
#

Ehal

#

Egal

tawdry leaf
#

noob

#

so macht die Abfrage kein sinn xD

fierce dove
#

Warum nicht

tawdry leaf
fierce dove
#

dann machst das besser bekommt kekse

tawdry leaf
fierce dove
#

ewillst du kekse

tawdry leaf
#

geschenkt

tawdry leaf
# fierce dove dann machst das besser bekommt kekse
if len(message.attachments) >= 2:
        await message.channel.send(f'{message.author.mention} Der Bot kann keine zwei Bilder senden.')
    else:
        # Lösche die Nachricht, wenn sie keine zwei Bilder hat
        await message.delete()```
fierce dove
#

diese einrückung

#

der user soll aber nur ein bild senden können

tawdry leaf
fierce dove
#

ah stimmt

tawdry leaf
#

noob

tawdry leaf
fierce dove
tawdry leaf
fierce dove
#

Ne

tawdry leaf
#

doch

fierce dove
#

Beweis

tawdry leaf
#

was redest du denn schon wieder

fierce dove
#

Geht das auch

if message.attachments:
    if len(message.attachments) > 1:
        await error(
            message.channel,
            f"Du kannst nicht mehr wie 1 Bild im Global Chat teilen!",
            delete_after=5,
        )
        await message.delete()
    else:
        embed.set_image(url=message.attachments[0].url)
tawdry leaf
#
...
if len(message.attachments) >= 2:
        await message.channel.send(f'{message.author.mention} Der Bot kann keine zwei Bilder senden.')
    else:
        embed.set_image(url=message.attachments[0].url)
        await message.delete()
tawdry leaf
indigo sleet
#

wie kann ich es so machen das wenn ich z.B Develoment auswähle das dann das Develoment Embed kommt?

fierce dove
#

Was

indigo sleet
#

ich will ein command für Infomationen das man auswählen kann was man sehen will, aber es kommt ja dann immer das selbe embed (hoffelicht versteht mans 😦 )

fallow tiger
#

kann jemand mir helfen?

indigo sleet
fierce dove
fallow tiger
fallow tiger
#

ich weiß ned wie ich es behbe habe eigendlich alles genau geschrieben habe wie immer

fierce dove
#

Ganzen Fehler senden

fallow tiger
tawdry leaf
#

wie hast du den den Token in der .env definiert?

du musst des so machen:

TOKEN = hierdeintoken

#

ohne die ""

indigo sleet
#

achso

fallow tiger
#

ich habe es so gemacht TOKEN = hiermeintoken

indigo sleet
#

ja den haben gelöscht xD

tawdry leaf
fallow tiger
# tawdry leaf sende mal deine main.py

import discord
import os
from dotenv import load_dotenv
import ezcord
intents = discord.Intents.all()

bot = ezcord.Bot(intents=intents)

if name == "main":
bot.load_cogs(subdirectories=True)

load_dotenv()
bot.run(os.getenv("TOKEN"))
tawdry leaf
fallow tiger
tawdry leaf
#

jo

fallow tiger
#

hab gemacht geht immer noch nicht .,.

tawdry leaf
#

mach mal pip freeze und sende des

#

denke du hast des falsch installiert

fallow tiger
#

geht immer noch nicht py mag mich einfach nicht .,.

tawdry leaf
#

hab auch nicht gesagt das es geht.

tawdry leaf
odd kiteBOT
#

Mein Discord Server
https://discord.gg/zfvbjTEzv6

Links aus diesem Video
EzCord Docs ► https://ezcord.readthedocs.io/
EzCord GitHub ► https://github.com/tibue99/ezcord

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot

PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https:...

▶ Play video
tawdry leaf
#

einf ins terminal pip freeze schreiben

fallow tiger
uneven hedge
#

kann mir wer sagen wie ich so ein embed mache als das was drin is

tawdry leaf
#

da ist so gefühlt alles von discord.Embed drin

tawdry leaf
#

doch ist es

#

wieso fragst du wenn du dann meinst es besser zu wissen 🤔

uneven hedge
tawdry leaf
#

was genau denn meinst du aus dem bild

uneven hedge
#

ja alles namen erwähnung id server beigetretetn account erstellet mitlieder nazahl und regeln

tawdry leaf
#

schau gerne mal in #1027677692730036294 da siehst du wie sowas geht

#

nach codes soll man hier nicht fragen..

tawdry leaf
#

serverinfo

frosty nexus
#
  File "/home/container/.local/lib/python3.12/site-packages/discord/bot.py", line 1137, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "/home/container/.local/lib/python3.12/site-packages/discord/commands/core.py", line 435, in invoke
    await injected(ctx)
  File "/home/container/.local/lib/python3.12/site-packages/discord/commands/core.py", line 138, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "/home/container/.local/lib/python3.12/site-packages/discord/commands/core.py", line 1486, in _invoke
    await command.invoke(ctx)
  File "/home/container/.local/lib/python3.12/site-packages/discord/commands/core.py", line 435, in invoke
    await injected(ctx)
  File "/home/container/.local/lib/python3.12/site-packages/discord/commands/core.py", line 146, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: OperationalError: no such table: ticket


    async def setup(self):
        try:
            await self.execute(
                """CREATE TABLE IF NOT EXISTS ticket(
                guild_id INTEGER PRIMARY KEY,
                category_id INTEGER DEFAULT 0,
                teamrole_id INTEGER DEFAULT 0,
                logs_channel_id INTEGER DEFAULT 0,
                channel_id INTEGER DEFAULT 0,
                message_id INTEGER DEFAULT 0
                )"""
            )
            await self.execute(
                """CREATE TABLE IF NOT EXISTS ticket_options(
                guild_id INTEGER,
                option_name TEXT,
                FOREIGN KEY(guild_id) REFERENCES ticket(guild_id)
                )"""
            )
            print("Tables 'ticket' and 'names' created successfully")
        except Exception as e:
            print(f"An error occurred while creating the tables: {e}")

Kann mir jemand sagen warum der error auftritt

frosty nexus
#

Ja aber die Tabelle wird ja erstellt

limpid wolf
rigid sluice
#

Hat jemand eine Idee warum das durchgestriechen wird bei VS Code?

ruby sparrow
tawdry leaf
rigid sluice
tawdry leaf
#

hier hast die lösung

rigid sluice
#

oh, Ich sehe. Ich muss es nun alles zu .now ändern

rigid sluice
#

Kennt sich jemand mit der twitch API aus?

#

und mit aiohttp

limpid wolf
#

Stell deine Frage doch bitte etwas spezifischer

rigid sluice
#

Ich versuche einen Access Token zu bekommen von der API und bekomme immer

limpid wolf
#

versuch mal .text() und nicht .json()

#

weil die api gibt dir text zurück und nicht json

rigid sluice
#

404

#

mhm

limpid wolf
#

404 = not found

rigid sluice
#

yep

limpid wolf
rigid sluice
#

Es ist nur die richtige Seite von den Twitch docs ;3

#

omg

#

Ich hatte get drinnen und nicht post

tawdry leaf
tawdry leaf
#

wenn man es richtig macht lul

rigid sluice
tawdry leaf
limpid wolf
tawdry leaf
rigid sluice
#

es geht auch wieder

#

Ich hatte hier bei session get und nicht post drinnen

tawdry leaf
rigid sluice
tawdry leaf
#

send doch mal die json 😄

rigid sluice
tawdry leaf
rigid sluice
#

Ich kann dir einfach eine mit nem alten Token schicken xd

tawdry leaf
#

brauche kein token meiner geht noch 😄

#

sonst bräcuhte ich ja mehr als den token xD

#

aber mein twitch funktioniert 🙂

#

was versuchst du denn mit der twitch api

rigid sluice
#

ach, nur das mit dem follower, subscription und wenn jemand online geht

tawdry leaf
#

aso

rigid sluice
#

Für den bot benutze ich einfach Twitch.IO dazu

#

Das macht es alles ein wenig einfacher

urban glen
#

Hallo an alle,
nur mal ne frage
kann man auch bot profilbilder auf jeden server anders machen ?

#

weil mee6 hat das nur weiß einer wie das geht ?

fierce dove
#

What

urban glen
# rigid sluice ?

na mee6 bot hat ein feature das man wenn man premium hat bei den das man den den bot namen und avatar aussuchen kann
obwohl es der selbe bot ist
weiß jemand wie ?

urban glen
neon rose
#

is nd der gleiche bot

#

da musst deinen eigenen hinmachen

#

aber er hat halt mee6s funktionen

limpid wolf
#

Genau, du musst deinen eigenen Token angeben und die lassen dann mee6 darauf laufen

#

Ich könnte dafür mal ein kleines Beispiel Coden wenn Interesse da ist, wollte das eig schon länger mal ausprobieren

limpid wolf
#

Aber ohne Website OMEGALUL

urban glen
#

xd

next echo
#

Kann mir bitte jemand helfen ich weiß nicht was ich machen soll

#

Bin grade erst aufgestanden und sehe das

ruby sparrow
#

#/extend

next echo
#

Muss man doch nicht wenn man boosted

limpid wolf
next echo
#

ahh ok aber das wahren mehr als 7 Tage aber hat geklaptt danke (Danke für die schnelle Hilfe)

neon rose
frosty nexus
#

.

old ore
#

kann mir wer sagen woran das liegt da sind doch keine dieser zeichen

old ore
#

alles gut hat sich geklärt das ist von fiverr

#

wusste nicht welche textfeld er damit meinte

jaunty jasper
#

Guten Abend, ich stehe gerade auf dem Schlauch

ich will nämlich die database.py "importieren" und dies innerhalb meiner team.py
wenn ich allerdings

from .. import database

nutze bekomme ich nur einen Errior

Traceback (most recent call last):
  File "c:\Users\fabian2\PycharmProjects\real\bayernRP\cogs\team.py", line 4, in <module>
    from .. import database
ImportError: attempted relative import with no known parent package
tawdry leaf
neon rose
#

wäre doch dann
from ../database import database

#

oder nd

neon rose
fierce dove
#

from datenbank import was du importieren willst

#

Glaube ich

neon rose
#

wenn man nur ne bestimmte funktion haben will sollte es
from ..database import funktion sein.

fierce dove
#

Warum

neon rose
#

hab aber nochmal nachgeschaut, deine lösung sollte eigtl auch klappen

tawdry leaf
silk gulch
#

Gibt es eigentlich schon ne neue Lösung für nen Transcript-System bei Tickets?

ruby sparrow
#

Ne glaub nicht

silk gulch
# fierce dove Wie meinst

Naja das hier ist ja nicht mehr so aktuell und so.

Mein Discord Server
https://discord.gg/zfvbjTEzv6

Links aus diesem Video
Chat Exporter ► https://github.com/mahtoid/DiscordChatExporterPy

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot

PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introductio...

▶ Play video
silk gulch
ruby sparrow
#

Ne so weit ich weiß nicht

limpid wolf
silk gulch
limpid wolf
silk gulch
limpid wolf
#

Ist halt die Channel Description I guess?

#

Kp

#

Ich hab das bei mir nie gehabt

silk gulch
#

Ne, der Channel hat keine Description.

silk gulch
limpid wolf
#

hab keinen bot aber cookie-bot verwendet das auch für ticket transcripts

#

und hab das noch nie gesehen

silk gulch
#

Naja CookieBot scheint ja selbst dran gebastelt zu haben ig.

limpid wolf
#

Kann jetzt natürlich keine transcripts leaken aber das letze channel im ticket log hat das nicht

limpid wolf
#

die werden glaube auch nur in nen channel gesendet und wenn die aufgerufen wird holt der bot das attachment und gibt es zurück oder so

#

das mit in den channel senden sollte timo doch auch in seinem video gezeigt haben?

silk gulch
#

Ja, das geht ja, aber bei CookieBot fehlt dieser Text ja oben im Transkript.

limpid wolf
#

Ich sag dazu nur skill issue scheint ein problem zu sein was nur du hast

#

vielleicht das package mal neu installieren?

silk gulch
limpid wolf
#

also bei timo im video ist es auch nicht

silk gulch
#

Verwendet Timo denn vllt jetzt n' anderen Weg?

limpid wolf
#

ne?

limpid wolf
silk gulch
limpid wolf
#

ja probier das mal aus, gerne

fierce dove
#
class ThreadNameModal(Modal):
    def __init__(self):
        super().__init__(
            discord.ui.InputText(
                label="Thread-Name",
                placeholder="Gib den Namen des Threads ein.",
            ),
            title="Thread-Name ändern",
        )

    async def callback(self, interaction: discord.Interaction):
        await db.set_thread_name(self.children[0].value)
        await interaction.response.send_message("Der Thread-Name wurde erfolgreich geändert.", ephemeral=True)
#
[ERROR] Error while executing /autothread edit 
Traceback (most recent call last):
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 138, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 1078, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Users\Schüler\Documents\Botify\cogs\Auto Actions\AutoThread.py", line 37, in edit
    await ctx.respond(embed=embed, ephemeral=True, view=modal)
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\interactions.py", line 616, in respond
    return await self.response.send_message(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\interactions.py", line 957, in send_message
    await self._locked_response(
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\interactions.py", line 1288, in _locked_response
    await coro
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\webhook\async_.py", line 224, in request
    raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In data.components.0.components.0: Value of field "type" must be one of (2, 3, 5, 6, 7, 8).
rigid sluice
#

dpy oder py-cord?

fierce dove
#

py-cord

rigid sluice
#

versuch es mal wie hier bei py-cord

fierce dove
#
Traceback (most recent call last):
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 138, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 1078, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Users\Schüler\Documents\Botify\cogs\Auto Actions\AutoThread.py", line 37, in edit
    await ctx.respond(embed=embed, ephemeral=True, view=modal)
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\interactions.py", line 616, in respond
    return await self.response.send_message(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\interactions.py", line 957, in send_message
    await self._locked_response(
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\interactions.py", line 1288, in _locked_response
    await coro
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\webhook\async_.py", line 224, in request
    raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In data.components.0.components.0: Value of field "type" must be one of (2, 3, 5, 6, 7, 8).
#
        if action == "add":
            embed = discord.Embed(
                title="AutoThread aktiviert",
                description=f"✅ Das AutoThread-System wurde für den Kanal {channel.mention} aktiviert.",
                color=BOT_COLOR
            )
            embed.set_author(name=BOT_AUTHOR_NAME, icon_url=BOT_AVATAR)
            embed.set_image(url=BOT_IMAGE)
            modal = ThreadNameModal(title="Thread-Name hinzufügen")
            await db.add_channel(channel.id)
            await ctx.respond(embed=embed, ephemeral=True, view=modal)
#
class ThreadNameModal(Modal):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        
        self.add_item(InputText(label="Thread-Name", placeholder="Gib den Namen des Threads ein."))
        
    async def callback(self, interaction: discord.Interaction):
        await db.add_thread_name(self.children[0].value)
        await interaction.response.send_message("Thread-Name erfolgreich hinzugefügt.", ephemeral=True)
#

@rigid sluice

rigid sluice
#

oh, ändere ctx.respond zu ctx.send_modal

fierce dove
#

danke habs

#

@rigid sluice weißst du warum der da immer ien 1 hin tut wenn ich einen channel hinzufüge

class AutoThreadDB(ezcord.DBHandler):
    def __init__(self):
        super().__init__("utils/data/autothread.db")

    async def setup(self):
        await self.exec(
            """CREATE TABLE IF NOT EXISTS channels (
                channel_id INTEGER PRIMARY KEY,
                thread_name TEXT NOT NULL
            )
        """)

    async def add_channel(self, channel_id):
        await self.exec("INSERT OR IGNORE INTO channels (channel_id) VALUES (?)", (channel_id))

    async def remove_channel(self, channel_id):
        await self.exec("DELETE FROM channels WHERE channel_id = ?", (channel_id,))

    async def get_channel(self, channel_id):
        return await self.one("SELECT channel_id, thread_name FROM channels WHERE channel_id = ?", (channel_id,))

    async def get_all_channels(self):
        return await self.all("SELECT channel_id, thread_name FROM channels")

    async def set_thread_name(self, thread_name):
        await self.exec(
            "INSERT OR REPLACE INTO channels (thread_name) VALUES (?)",
            thread_name
        )

    async def get_thread_name(self, channel_id):
        result = await self.get_channel(channel_id)
        return result[1] if result else None
vast cradle
#

bin grade überfordert

#
Ignoring exception in on_connect
Traceback (most recent call last):
  File "C:\Users\leonf\AppData\Local\pypoetry\Cache\virtualenvs\planetbot-1aVSNs0I-py3.12\Lib\site-packages\discord\client.py", line 439, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\leonf\AppData\Local\pypoetry\Cache\virtualenvs\planetbot-1aVSNs0I-py3.12\Lib\site-packages\discord\bot.py", line 1214, in on_connect
    await self.sync_commands()
  File "C:\Users\leonf\AppData\Local\pypoetry\Cache\virtualenvs\planetbot-1aVSNs0I-py3.12\Lib\site-packages\discord\bot.py", line 761, in sync_commands
    app_cmds = await self.register_commands(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\leonf\AppData\Local\pypoetry\Cache\virtualenvs\planetbot-1aVSNs0I-py3.12\Lib\site-packages\discord\bot.py", line 538, in register_commands
    prefetched_commands = await self._bot.http.get_guild_commands(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\leonf\AppData\Local\pypoetry\Cache\virtualenvs\planetbot-1aVSNs0I-py3.12\Lib\site-packages\discord\http.py", line 368, in request
    raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access```
fierce dove
#

wegen was

vast cradle
#

was hat der häh

fierce dove
#

der bot hatkeine rechte

vast cradle
#

irgendwas scheint keine zugriff zu haben

fierce dove
#

schick mal code

vast cradle
#

ich hab ihm admin gegeben

fierce dove
#

code?

ruby sparrow
vast cradle
#

ups jetzt weiß ichs

#

ich hab den hauptbot eingeladen

#

und nicht den devbot

ruby sparrow
#

😂

fierce dove
vast cradle
#

uuf aber warum läd er nicht vom hauptbot die commands

#

eigendlich sollten die gehen

fierce dove
#

codeeeeeeeeeeeeeeee

#

uwu

vast cradle
#

hab viel code

#

er läd halt n ichts

fierce dove
vast cradle
#

aber auf meinem hauptserver geht er

fierce dove
#

damnn starte mal dein dc neu

#

dann*

#

@vast cradle gehts?

vast cradle
#

nö ich schau mal kurz auf dem hauptserver

#

er hat auch nicht die Danke fürs einladen des Bots geladen

#

die sollte er eigendlich senden

#

auf dem hauptserver läd er normal

#

das klappt wie es soll

#

oh ich habs

#

uff ich bin so lost

vast cradle
#

Aber die Naricht Die Danke fürs einladen sagt und einige Infos enthält läd nicht ich schicke den Code wenn ich zu Hause bin bin kurz einkaufen

fierce dove
#

in

channel_id

silk gulch
#

Also channel_id = 1?

fierce dove
#

also ich habe ein Channel gesetzt aber Statt der Channel ID kommt die 1

silk gulch
#

Bei add_channel oder wo?
Musst schon genauer werden.

fierce dove
silk gulch
#

Lass dir mal channel_id printen.

fierce dove
#

In der Datenbank?

silk gulch
#
async def add_channel(self, channel_id):
  print(f'DEBUG: {channel_id}')
  await self.exec("INSERT OR IGNORE INTO channels (channel_id) VALUES (?)", (channel_id))```
silk gulch
#

Dann ist ja die variable richtig..

fierce dove
#

warum wird in der datenbank 1 angezeigt

silk gulch
#

Wird der Wert auch korrekt so eingetragen? Kenne mich mit MySQL halt null aus.

fierce dove
#

in aiosqlite

#

ist*

#

ezcord.DBHandler

silk gulch
#

Naja aber die Abfragen sind ja gleich ig?

#

Kannst du den Wert in der DB mal zu 2 ändern und es neu testen?

fierce dove
#

wie meinst du das

silk gulch
#

Händisch in der DB auf 2 ändern

fierce dove
#

?

silk gulch
#

Geht das nicht?

fierce dove
#

ne nicht mit aiosqlite

silk gulch
#

@solid ingot tut mir leid dich zu stören.

#

Mit den ezcord DBHandler wird Timo sich ja am besten auskennen xD

fierce dove
#

jo

solid ingot
silk gulch
solid ingot
#

naja du kannst da ganz normale sql abfragen reinhauen, also kannst du damit im grunde alles machen

silk gulch
solid ingot
#

das ist kein tuple

fierce dove
#

wie meinst

silk gulch
solid ingot
#

das ist aber immer noch kein tuple

silk gulch
solid ingot
#

jo das ist ein tuple

silk gulch
# solid ingot jo das ist ein tuple

Aber er möchte ja kein tuple angeben, sondern die ID als Ganzzahl.
Also "1248662257357946895", so wie es ja auch geprintet wird eine Zeile drüber. xD

dapper ginkgo
#

nach der channel_id muss ein Komma hin oder die Klammern um channel_id werden komplett wegelassen, dann kümmert sich ezcord um die konvertierung zum tuple

#

weil bei aiosqlite brauch man da immer ein tuple

vast cradle
#
    @commands.Cog.listener()
    async def on_guild_join(self, guild):
        print(random.choice(guild.text_channels))
        self.embed = discord.Embed(title=f"Danke fürs Einladen des Bots",
                                   description=f"ich hoffe du wirst viel Spaß Haben mit dem bot um dir die befehle anzeigen zu lassen nutze help",
                                   color=0xc800ff)
        channel = random.choice(guild.text_channels)
        await channel.send(embed=self.embed)
        invite = await guild.text_channels[0].create_invite(reason="Save for Support", max_age=0, max_uses=0, temporary=False, unique=True)
        self.embed2 = discord.Embed(title=f"Planet Bot Jointe auf einen Server {invite}",
                                   description=f"der Bot: {self.bot.user.name} wurde zu: {guild.name} Eingeladen",
                                   color=0xc800ff)
        channel = self.bot.get_channel(926861744712863774)
        await channel.send(embed=self.embed2)
#

warum geht das nicht

graceful fiber
#

Error?

vast cradle
#

es passiert gar nichts

graceful fiber
#

@edgy scaffold Sind deine Tk probleme eigentlich gelöst?

silk gulch
#

Zum debugen

graceful fiber
silk gulch
#

@charred frigate fix mal dein Bot. 🙂

charred frigate
#

Ist es möglich bei einem Slash Befehl nach einem ctx.respond eine Modal mit ctx.send_modal zu senden? Also das 2x auf die Interaktion reagiert wird? Den ctx.respond möchte ich ephemeral senden.

silk gulch
#

Lieber stören, als zerstören.

graceful fiber
fierce dove
vast cradle
#

jezt geht es häh

#

lol ich bin Verwirrt

dapper ginkgo
vast cradle
#

geht nicht plötzlig geht es irgendwie will mich mein Code Ärgern

#

interesannt

#

ich hab im code stehen das der bot nen invite erstellen soll

vast cradle
fierce dove
#

habs so

    async def add_channel(self, channel_id):
        print(f'DEBUG: {channel_id}')
        await self.exec("INSERT OR IGNORE INTO channels (channel_id) VALUES (?)", (channel_id,))
graceful fiber
#

Hab den Kontext nicht

fierce dove
#

autothread system

vast cradle
#

willst du die channel id in die Datenbank Speichern?

graceful fiber
graceful fiber
fierce dove
vast cradle
#

welche lib nuzt du zum Speichern?

fierce dove
#

wie meinst

vast cradle
#

aiosqllite?

fierce dove
#

jo

vast cradle
#

ahah

fierce dove
#

aber mit ezcord DBHandler

vast cradle
graceful fiber
#

Printe dir mal die channel id

fierce dove
#

durch ein channel

fierce dove
fierce dove
silk gulch
graceful fiber
#

Bei aio bin ich raus sorry, aber im Video sehen die Abfragen und Einträge anders aus ^^

odd kiteBOT
#

Mein Discord Server
https://discord.gg/zfvbjTEzv6

Links aus diesem Video
EzCord Docs ► https://ezcord.readthedocs.io/en/latest/ezcord/sql.html

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/ezcord-template

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Inhalt 📚
Heute schauen wir uns an, wie wir Datenbank...

▶ Play video
silk gulch
dapper ginkgo
fierce dove
#

ja wird richtig erstellt

fierce dove
# silk gulch Geht das nicht so? ```py async def add_channel(self, channel_id): print(f'DEB...
Traceback (most recent call last):
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 138, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 1078, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Users\Schüler\Documents\Botify\cogs\Auto Actions\AutoThread.py", line 36, in edit
    await db.add_channel(channel.id)
  File "C:\Users\Schüler\Documents\Botify\utils\db\database.py", line 538, in add_channel
    await self.exec(f"INSERT OR IGNORE INTO channels (channel_id) VALUES (?)", ({channel_id},))
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\ezcord\sql\sqlite.py", line 324, in exec
    raise e
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\ezcord\sql\sqlite.py", line 321, in exec
    cursor = await db.execute(sql, args)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 193, in execute
    cursor = await self._execute(self._conn.execute, sql, parameters)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 132, in _execute
    return await future
           ^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 115, in run
    result = function()
             ^^^^^^^^^^
sqlite3.ProgrammingError: Error binding parameter 1: type 'set' is not supported
dapper ginkgo
#

das wäre die ezcord handler version:

    async def add_channel(self, channel_id):
        print(f'DEBUG: {channel_id}')
        await self.exec("INSERT OR IGNORE INTO channels (channel_id) VALUES (?)", channel_id)
fierce dove
# dapper ginkgo das wäre die ezcord handler version: ``` async def add_channel(self, channel...
    @autothread.command(description='Aktiviert oder deaktiviert das AutoThread-System für einen Channel.')
    @option("action", description="🧵 Wähle eine Aktion.", choices=["add", "remove"])
    @option("channel", description="🧵 Der Channel, der bearbeitet werden soll.")
    async def edit(self, ctx: discord.ApplicationContext, action: str, channel: discord.TextChannel):
        if action == "add":
            embed = discord.Embed(
                title="AutoThread aktiviert",
                description=f"✅ Das AutoThread-System wurde für den Kanal {channel.mention} aktiviert.",
                color=BOT_COLOR
            )
            embed.set_author(name=BOT_AUTHOR_NAME, icon_url=BOT_AVATAR)
            embed.set_image(url=BOT_IMAGE)
            await db.add_channel(channel.id)

hier ist der code teil wo ich die channel id hinzufüge

dapper ginkgo
#

finde da keinen Fehler

#

kannst du den code schicken, wo du die tabelle erstellst?

fierce dove
#
class AutoThreadDB(ezcord.DBHandler):
    def __init__(self):
        super().__init__("utils/data/autothread.db")

    async def setup(self):
        await self.exec(
            """CREATE TABLE IF NOT EXISTS channels (
                id INTEGER PRIMARY KEY,
                thread_name TEXT NOT NULL
            )
        """)

    async def add_channel(self, channel_id):
        print(f'DEBUG: {channel_id}')
        await self.exec("INSERT OR IGNORE INTO channels (id) VALUES (?)", (channel_id,))

    async def remove_channel(self, channel_id):
        await self.exec("DELETE FROM channels WHERE id = ?", (channel_id,))

    async def get_channel(self, channel_id):
        return await self.one("SELECT id, thread_name FROM channels WHERE id = ?", (channel_id,))

    async def get_all_channels(self):
        return await self.all("SELECT id, thread_name FROM channels")

    async def set_thread_name(self, thread_name):
        await self.exec(
            "INSERT OR REPLACE INTO channels (thread_name) VALUES (?)",
            thread_name
        )

    async def get_thread_name(self, channel_id):
        result = await self.get_channel(channel_id)
        return result[1] if result else None
dapper ginkgo
#

pobier mal nen wert für thread_name einzufügen zum beispiel:
await self.exec("INSERT OR IGNORE INTO channels (id, thread_name) VALUES (?, ?)", (channel_id, "test_thread"))

fierce dove
#

jz wird die eingetragen

#

h´jz muss ich die channel id anderes speichern wegend em modal

#

aber keine ahnung wie

reef bobcat
#

Was soll ixch gegen out of memory machen

limpid wolf
reef bobcat
graceful fiber
#

Was willst du denn alles installieren auf dem Server?

vast cradle
#

wie kann ich mir das bil vom bot selbst holen?

#

weil bot.user.avatar geht net

silk gulch
vast cradle
silk gulch
# vast cradle danke

Am besten in einem try/except, damit kein Error kommt, wenn der Bot kein Bild hat.

indigo sleet
#

ehmm wie kann ich noch mal wer raus finden mit was datenbanken geschreiben werden?

neon rose
indigo sleet
#

mal hoffen

#

ich will gerade meine Datenbank anpassen und dann kommt der Error

vast cradle
tawdry leaf
#

🤔

vast cradle
#

macht das das embed nicht automatisch`?

thick haven
#

Hi, warum bekomme ich diesen fehler?

Traceback (most recent call last):
  File "/home/container/.local/lib/python3.10/site-packages/discord/ui/modal.py", line 341, in dispatch
    await value.callback(interaction)
  File "/home/container/cogs/dev/xenority.py", line 133, in callback
    channel = self.bot.get_channel(int(SERVER_SYSTEM["log_channel"]))
TypeError: Client.get_channel() missing 1 required positional argument: 'id'```
`channel = self.bot.get_channel(int(SERVER_SYSTEM["log_channel"]))`
tawdry leaf
#

ist den die variable eine id`?

thick haven
#

Ja

#

<#xxx> dann zeigt er auch den channel richtig an

tawdry leaf
#

wieso definierst du da nicht eine variable und nimmst die anstatt es so umständlich zu machen

thick haven
tawdry leaf
#

ja

thick haven
# tawdry leaf ja

komm tzd der fehler

Traceback (most recent call last):
  File "/home/container/.local/lib/python3.10/site-packages/discord/ui/modal.py", line 341, in dispatch
    await value.callback(interaction)
  File "/home/container/cogs/dev/xenority.py", line 134, in callback
    channel = self.bot.get_channel(log_channel)
TypeError: Client.get_channel() missing 1 required positional argument: 'id'```
tawdry leaf
#

und der gibt nur zahlen aus?

thick haven
#

Ja halt die id wartze

thick haven
# tawdry leaf und der gibt nur zahlen aus?
Ignoring exception in modal <cogs.dev.xenority.verify1 object at 0x7eff5c75c6a0>:
Traceback (most recent call last):
  File "/home/container/.local/lib/python3.10/site-packages/discord/ui/modal.py", line 341, in dispatch
    await value.callback(interaction)
  File "/home/container/cogs/dev/xenority.py", line 135, in callback
    channel = self.bot.get_channel(log_channel)
TypeError: Client.get_channel() missing 1 required positional argument: 'id'```'
        log_channel = SERVER_SYSTEM["log_channel"]
        print(f"Log: {log_channel}")
        channel = self.bot.get_channel(log_channel)
silk gulch
# vast cradle wie mache ich das am besten wenn ich das in einem embed haben will

Angenommen in einem Command, da du mit ctx.bot auf den Bot zugreifst:

embed = discord.Embed(
  title='Ich bin ein Titel',
  description='Ich bin eine Description',
  color=discord.Color.red()
)
embed.set_thumbnail(url=ctx.bot.user.avatar.url) # Bild rechts oben im Embed
embed.set_footer(text='Ich bin ein Footer', icon_url=ctx.bot.user.avatar.url) # Bild klein unten im Footer
vast cradle
#

ist ein event

#

da ich aber einen cog hab

silk gulch
#

Welches Event?

vast cradle
#

greife ich per self drauf zu

#

also self.bot

silk gulch
#

Also mit self.bot?

vast cradle
silk gulch
# vast cradle jep

Dann mit

embed = discord.Embed(
  title='Ich bin ein Titel',
  description='Ich bin eine Description',
  color=discord.Color.red()
)
embed.set_thumbnail(url=self.bot.user.avatar.url) # Bild rechts oben im Embed
embed.set_footer(text='Ich bin ein Footer', icon_url=self.bot.user.avatar.url) # Bild klein unten im Footer```
vast cradle
silk gulch
#

Absenden natürlich nicht vergessen. 😉

vast cradle
#

wenn ich ausversehen das bild läsche wird auf ein lokales bild zugegriffen

#

also wen der bot kein bild hat

#

hab das default discord logo runtergeladen

silk gulch
#

Wenn der Bot kein Bild hat, wirft er glaube das Standard-Profilbild von Discord zurück.

vast cradle
#

automatisch?

#

dachte ichs mir

silk gulch
#

Ich checke das mal.

silk gulch
#

@vast cradle Laut Docs:

  • Wenn der Bot kein Profilbild hat, wird None zurückgegeben. Solltest also in einer if-Abfrage das dann überprüfen.
#

@vast cradle versuchs mal so:

avatar = self.bot.user.avatar
avatar_url = ""

if avatar is None:
  avatar_url = "https://archive.org/download/discordprofilepictures/discordblue.png" # Standard-Profilbild von Discord
else:
  avatar_url = self.bot.user.avatar.url

embed = discord.Embed(
  title='Ich bin ein Titel',
  description='Ich bin eine Description',
  color=discord.Color.red()
)
embed.set_thumbnail(url=avatar_url) # Bild rechts oben im Embed
embed.set_footer(text='Ich bin ein Footer', icon_url=avatar_url) # Bild klein unten im Footer
thick haven
#

Wie kann ich das fixen? muss ich dafür den bot neu einladen?

  if not message.content and not getattr(message, 'interaction_metadata', None) and not getattr(message, 'interaction', None):
/home/container/.local/lib/python3.10/site-packages/chat_exporter/construct/message.py:184: DeprecationWarning: interaction is deprecated since version 2.6, consider using interaction_metadata instead. See https://discord.com/developers/docs/change-log#userinstallable-apps-preview for more information.
  if not message.content and not getattr(message, 'interaction_metadata', None) and not getattr(message, 'interaction', None):```
rigid sluice
#

py-cord oder dpy?

thick haven
rigid sluice
vast cradle
#

ich kann mir ja mit guild.member_count die user holen

#

wie filter ich die bots raus

jaunty jasper
#

Guten abend meine Herren,
ich habe das Problem wenn ich meinen Discord Bot auf Pterodactyl hoste ich eine Fehlermeldung bekomme, dass er discord.commands nicht findet.
Doch normal discord / py-cord hat er. Weiß jemand woran dies liegen könnte ?

vast cradle
#

alles installiert?

jaunty jasper
vast cradle
#

das brauchst du

#

ezcord arbeitet mit py-cord zusammen

rigid sluice
#

beides

jaunty jasper
#

Passt jtzt

vast cradle
#

Perfekt

tawdry leaf
#

xD

rigid sluice
#

jetzt bin ich gespannt was passiert

jaunty jasper
#

Allerdings glaube ich habe ich jetzt noch discord.py gleichzeitig installiert

#

Weiß jmd wie ich dies deinstallieren kann ?

vast cradle
#

das ist schlecht aber kein problem

rigid sluice
#

py-cord*

vast cradle
#

da ist ein ordner wo alle libs drinn sind

jaunty jasper
jaunty jasper
vast cradle
#

ääh wie hieß der denn noch mal

rigid sluice
#

(Immer erst discord.py deinstallieren und dann erst py-cord installieren sonst muss py-cord auch wieder deinstalliert und reinstalliert werden)

tawdry leaf
jaunty jasper
rigid sluice
#

kein Terminal?

jaunty jasper
#

Pterodactyl

#

da geht das nicht so einfach

rigid sluice
#

Ka was das ist

jaunty jasper
#

Hosting Panel

vast cradle
#

zeig mal deine ordnerstruktur

#

auf pterodactyl

jaunty jasper
vast cradle
#

a

#

äääh

#

warte kurz

jaunty jasper
#

files#/.local/lib/python3.12/site-packages

fierce dove
#

Kann Mann per eine aiohttp Anfrage top.gg Voter machen ?

jaunty jasper
#

Ist es dort?

limpid wolf
#

dann solltest du die ordner mit . am anfang sehen können

#

dnn einfach mal .local und .cache löschen

jaunty jasper
limpid wolf
#

dann werden die packages neu runtergeladen

jaunty jasper
rigid sluice
jaunty jasper
#

vielen Dank

fierce dove
rigid sluice
#

API access mit der URL

limpid wolf
fierce dove
rigid sluice
#

py-cord hat so kein Package dafür

vast cradle
#

ich habs vergessen genau

fierce dove
vast cradle
#

da werden die libs gespeichert

vast cradle
limpid wolf
fierce dove
#

Nein

#

Ich will ein Vote system coden

rigid sluice
#

Found it

limpid wolf
vast cradle
vast cradle
fierce dove
vast cradle
#

wenn jemand gevotet hat holt sich der das und du kannst ihn dann belohnen

#

z.b

#

dann gäb es noch die alternative

tawdry leaf
#

jz gehts los anschnallen bitte

fierce dove
#

@tawdry leaf leise

limpid wolf
limpid wolf
vast cradle
tawdry leaf
#

was das denn für abklatsch 😂

vast cradle
#

glaube die ist besser zu verstehen als die andere

tawdry leaf
limpid wolf
vast cradle
#

was für webhook häh

tawdry leaf
#

noob

vast cradle
tawdry leaf
#

google dein freund und helfer peeposhy

vast cradle
#

ich hab mit top.gg nichts am hut

#

ich hab die noch nie benuzt

tawdry leaf
#

dann send nicht wahrlos irgendwelche links von github

vast cradle
#

weil ich es bisher nicht gebraucht hab

tawdry leaf
#

dimooo noob

fierce dove
#
import discord
from discord.ext import commands
import topgg

class VoterCog(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.topgg_token = "YOUR_TOPGG_TOKEN"
        self.webhook_auth = "YOUR_WEBHOOK_PASSWORD"
        self.webhook_url = "/dblwebhook"
        self.webhook_port = 5000

        self.topgg_client = topgg.DBLClient(self.bot, self.topgg_token, autopost=True)
        self.webhook_manager = topgg.WebhookManager(self.bot).dbl_webhook(self.webhook_url, self.webhook_auth)
        self.webhook_manager.run(self.webhook_port)

    @commands.Cog.listener()
    async def on_dbl_vote(self, data):
        user_id = int(data['user'])
        user = await self.bot.fetch_user(user_id)
        
        channel_id = 123456789
        channel = self.bot.get_channel(channel_id)
        
        embed = discord.Embed(
            title="Neuer Vote!",
            description=f"{user.mention} hat gerade für den Bot gestimmt!",
            color=discord.Color.green()
        )
        embed.set_thumbnail(url=user.avatar.url)
        embed.add_field(name="Danke!", value="Deine Unterstützung bedeutet uns sehr viel!", inline=False)
        
        await channel.send(embed=embed)

def setup(bot):
    bot.add_cog(VoterCog(bot))

@limpid wolf so

vast cradle
fierce dove
#

😮

#

Kann's erst morgen testen

vast cradle
limpid wolf
vast cradle
#

aber halt noch nicht benuzt

limpid wolf
#

du importierst ja das topgg package aber sowas brauchst du dafür doch gar nicht?

vast cradle
#

mein bot ist auch noch nicht öffentlich

limpid wolf
#

schau dir an wie du einen webserver machst.

#

da kannst du fastapi z.b. nutzen

tawdry leaf
limpid wolf
tawdry leaf
#

fehlt nur die warnung das man gehirnzellen verliert xD

#

@fierce dove probier mal in google in die suche top.gg webhook einzugeben 🤔

fierce dove
#

Ne

#

@limpid wolf

import discord
from discord.ext import commands
import aiohttp
from aiohttp import web
import asyncio

class VoterCog(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.webhook_auth = "meinSicheresWebhookPasswort123!"
        self.webhook_url = "/dblwebhook"
        self.webhook_port = 5000
        self.bot.loop.create_task(self.start_webhook())

    async def start_webhook(self):
        app = web.Application()
        app.router.add_post(self.webhook_url, self.handle_vote)
        runner = web.AppRunner(app)
        await runner.setup()
        site = web.TCPSite(runner, '0.0.0.0', self.webhook_port)
        await site.start()
        print(f"Webhook läuft auf Port {self.webhook_port}")

    async def handle_vote(self, request):
        if request.headers.get('Authorization') != self.webhook_auth:
            return web.Response(status=401)
        
        data = await request.json()
        user_id = int(data['user'])
        await self.on_vote(user_id)
        return web.Response(status=200)

    async def on_vote(self, user_id):
        user = await self.bot.fetch_user(user_id)
        channel_id = 123456789  # Ersetzen Sie dies mit der ID Ihres Ankündigungskanals
        channel = self.bot.get_channel(channel_id)
        
        embed = discord.Embed(
            title="Neuer Vote!",
            description=f"{user.mention} hat gerade für den Bot gestimmt!",
            color=discord.Color.green()
        )
        embed.set_thumbnail(url=user.avatar.url)
        embed.add_field(name="Danke!", value="Deine Unterstützung bedeutet uns sehr viel!", inline=False)
        
        await channel.send(embed=embed)
        
def setup(bot):
    bot.add_cog(VoterCog(bot))
tawdry leaf
#

dann klick mal auf den ersten link

limpid wolf
fierce dove
fierce dove
limpid wolf
#

dann probier es halt aus

#

ich teste jetzt hier keinen code für dich

fierce dove
#

Schade 🙂

tawdry leaf
#

nur virus wird getestet

vast cradle
#

ich kriege es irgendwie nicht hin die bots aus dem guild count zu holen

tawdry leaf
#

🤔

fierce dove
tawdry leaf
limpid wolf
storm seal
indigo sleet
#

was bedeutet der Error oder kann ich den wegdenken

vast cradle
#

warum

#

oder muss es member.bot_count sein?

tawdry leaf
#

umständlich 🤔

vast cradle
#

das wäre die nächste

tawdry leaf
vast cradle
#

ich denke mal wiedcer zu kompliziert

fierce dove
#

ne

vast cradle
vast cradle
#

beim membercount die bots zu filtern

silk gulch
#

Beispiel?

vast cradle
#
user_count = guild.member_count
filtered_member = [user_count for user_count in user_count if not member.bot]```
tawdry leaf
tawdry leaf
silk gulch
vast cradle
silk gulch
tawdry leaf
vast cradle
tawdry leaf
silk gulch
#

Global zählen oder nur für eine spezifische Guild?

vast cradle
silk gulch
#

Dann mal das von Lucky testen..

tawdry leaf
#

des geht 🙂

silk gulch
#

Je nachdem, wo er es usen will 😄

tawdry leaf
#

muss man nicht testen xD

vast cradle
#

ich weiß

#

wie ich das machen muss

silk gulch
#

Ne so net

#

Warum fragst dann?

vast cradle
#

weil ich hab kein ctx

tawdry leaf
#

was denn dann

silk gulch
tawdry leaf
#

kannst eh nix machen discord danced up

tawdry leaf
#

was heißt der error der kommt immer wenn ich den bot bei anderen servern benutze auf den er nicht ist

fierce dove
#

@tawdry leaf haha

rigid sluice
tawdry leaf
rigid sluice
#

lol

last depot
#

wie mache ich nochmal die guild id in der main mit debug_guild nh?

tawdry leaf
#

bitte was

rigid sluice
#

so wie in commands

last depot
#

import discord

from discord.ext import commands

import re



class Auto(commands.Cog):
    def __init__(self, bot):
        self.bot = bot



@commands.Cog.listener()
async def on_message(message):

    if re.search("(?P<url>https://[^\s]+)", message.content):
        
     
        await message.delete()
        await message.author.send("Bitte sende kein Links rein")
       

  

def setup(bot):
    bot.add_cog(Auto(bot))

könnte mit bitte einer sagen warum der code nicht geht checke es nicht

rigid sluice
last depot
rigid sluice
#

;3

last depot
#

Mein Server wird immer suspendiert wenn ich ihn verlängere nach einen Tag

#

Das blöd

ruby sparrow
#

@last depot bei mir ist das auch so

last depot
next echo
#

Ich hatte letzten schon das Problem und musste /extend verwenden obwohl man als booster eigentlich nicht verlängern muss aber 3 Tage später war wieder das selbe Problem und ich musste wieder /extend verwenden obwohl ich booster bin und ich weiß nicht wie ich das beheben kann so das ich nicht mehr /extend verwenden muss weil das war ja auch eine Zeit lang alles perfekt aber momentan habe ich dieses Problem halt

thick haven
#

WIe kann ich den Pyocrd master in meine requirments reinamchen

solid ingot
#

@next echo ich kümmer mich drum, dachte erst das wäre ein einmaliges problem gewesen

#

sorry für die umstände

odd kiteBOT
#

@thick haven

Pycord Master-Branch

Füge die folgende Zeile zu deiner requirements.txt-Datei hinzu, um den Pycord Master-Branch zu installieren.

py-cord @ git+https://github.com/Pycord-Development/pycord```
uneven hedge
#

Gibt es irgendwo ein Reaktion Role Tutorial für py-cord?

tawdry leaf
vast cradle
#

er schickt mir immer noch alles zusammen

#

ungtefiltert

#
#----------------------------------Imports----------------------------------
import json
import discord
import os
import pytz
from discord.ext import commands
from datetime import datetime
#----------------------------------Klasse----------------------------------
class Welcome(commands.Cog):
    def __init__(self, bot):
        # ----------------------------------Variablen für Cog----------------------------------
        self.bot = bot
        self.channel = 1277705163921948752
        self.thumpnail_url="Hier bild url einfügen"
        self.image_url = "Hier bild url einfügen"
    # ----------------------------------Wilkommens Text----------------------------------
    @commands.Cog.listener()
    async def on_member_join(self,member):
        guild = member.guild
        user_count = guild.member_count
        #filtered_member = [user_count for user_count in user_count if not member.bot]
        new_filtered_member = {sum(not member.bot for member in guild.members)}
        avatar = self.bot.user.avatar
        avatar_url = ""
        created_time = member.created_at
        if created_time is not None:
            # Formatierung der Datums- und Zeitangabe in ein lesbares Format
            created_formatted_time = created_time.strftime("%d.%m.%Y um %H:%M:%S")
            created_relative_time = discord.utils.format_dt(created_time, style='R')
        joined_time = member.joined_at  # Das Datum und die Uhrzeit des Serverbeitritts

        if joined_time is not None:
            # Formatierung der Datums- und Zeitangabe in ein lesbares Format
            formatted_time = joined_time.strftime("%d.%m.%Y um %H:%M:%S")
            relative_time = discord.utils.format_dt(joined_time, style='R')

        if avatar is None:
            avatar_url = "https://archive.org/download/discordprofilepictures/discordblue.png"  # Standard-Profilbild von Discord
        else:
            avatar_url = self.bot.user.avatar.url
#
        embed = discord.Embed(
            title=f"👋Wilkommen auf dem Server: {guild.name}",
            description=f"Wilkommen auf {guild.name}!\n"
                        f"du bist das {new_filtered_member}. Mitglied",
            color=discord.Color.red()
        )
        embed.add_field(name="Name:",value=member.name)
        embed.add_field(name="Ping:",value=member.mention)
        embed.add_field(name="ID:",value=member.id)
        embed.add_field(name="Server beigetreten:",value=f"{formatted_time}, {relative_time}")
        embed.add_field(name="Discord Beigetreten:",value=f"{created_formatted_time}, {created_relative_time}")
        embed.add_field(name="Mitglieder:",value=user_count)
        embed.set_author(name=self.bot.user.name,icon_url=avatar_url)
        embed.set_footer(text="©2024 Botname", icon_url=avatar_url)
        # embed.set_thumbnail(url=self.thumpnail)
        #embed.set_image(url=self.image_url)
        channel = self.bot.get_channel(self.channel)
        await channel.send(embed=embed)
#----------------------------------Cog Setup----------------------------------
def setup(bot):
    bot.add_cog(Welcome(bot))```
#

das ist der gesammtre code

tawdry leaf
#

hast du die intents dafür an

vast cradle
#

ja

#

ok nee es geht doch

#

ich war nur etwas dusselig

#

mein Fehler

vast cradle
#

kannst du mir erklären warum die geschweiften klammern noch da sind

#

ich verstehs nicht

dapper ginkgo
#

weil du da geschweifte klammern noch rum hast:

vast cradle
#

ah ups

tawdry leaf
#

weil es so im code wohl steht

vast cradle
#

jaaa das ist natürlich äääh

#

etwas dusselig

fossil vortex
#

@tawdry leaf Ja dann wie tf installiere ich das$

tawdry leaf
#

timeout 😮

fossil vortex
#

?

tawdry leaf
#

und dann eben dem entsprechenden modul das dort steht

fossil vortex
tawdry leaf
#

pip install ezcord
pip install py-cord

tawdry leaf
fossil vortex
#

Ja sorry war da noch am schreiben

tawdry leaf
#

alles gut

fossil vortex
tawdry leaf
#

cool

#

ein terminal

fossil vortex
tawdry leaf
#

und nun

fossil vortex
#

Ja warte, mein Wlan ist nicht auf steroiden sondern nur Toastbrot

tawdry leaf
#

😐

fossil vortex
#

So

#

Das slash.command muss ich nicht installieren oder?

tawdry leaf
#

ka was du an code hast 🙂

fossil vortex
# tawdry leaf ka was du an code hast 🙂

Hab das Tutorial ja fertig und dann habe ich versucht die Cmmds und so systehme die alle noch in main waren da rüber in ne cog zu tun aber dann hat es meinen kompletten Code gefickt und das Backup hat auch nicht funktioniert

tawdry leaf
fossil vortex
#

Wo mach ich denn jetzt noch den rest hin? Cogs und die Base habe ich schon.

tawdry leaf
#

was steht denn in der requirements.txt

fossil vortex
tawdry leaf
#

dann installiere doch alles daraus dann müsste es doch gehen

fossil vortex
#

Ok aber ich habe das gitignore, pre commit, readme und requirements noch ned im Projekt.

tawdry leaf
#

wozu brauchst du das denn

fossil vortex
#

Ka, es ist doch für was da.

#

Errors sind da aber immer noch.

rigid sluice
fossil vortex
rigid sluice
#

PyCharm benutzt eine VENV

tawdry leaf
#

sieht danach aus

rigid sluice
tawdry leaf
#

auch schon bemerkt xD

tawdry leaf
tawdry leaf
#

im terminal

fossil vortex
tawdry leaf
#

du brauchst nur das was in der requirements.txt steht

fossil vortex
#

aiocache==0.12.2
aiodns==2.0.0
aiohappyeyeballs==2.4.0
aiohttp==3.10.5
aiosignal==1.3.1
aiosqlite==0.20.0
async-timeout==3.0.1
attrs==24.2.0
cffi==1.17.0
colorama==0.4.6
discord==2.3.2
discord.py==2.4.0
django-commands==0.7
ezcord==0.6.5
frozenlist==1.4.1
idna==3.8
multidict==6.0.5
pycares==4.4.0
pycparser==2.22
python-dotenv==1.0.1
typing_extensions==4.12.2
yarl==1.9.4

fossil vortex
odd kiteBOT
#

@fossil vortex

Requirements-Check

⚠️ Es sollte nur eine Discord Library installiert sein

discord==2.3.2
discord.py==2.4.0```
*Ich habe [diese Nachricht](#1019974414487535736 message) geprüft.*
rigid sluice
#

benutzt du dpy oder py-cord?

tawdry leaf
fossil vortex
#

um, so wie im Tutorial

#

°-°

rigid sluice
#

Ich sehe gerade py-cord Code mit dpy was natürlich nicht geht....

tawdry leaf
#

geb mal das ein:
pip uninstall discord
pip uninstall discord.py

fossil vortex
#

Beides hat funktioniert.

rigid sluice
#

bei PyCharm oder in einem anderen Terminal?

fossil vortex
tawdry leaf
#

supa

#

und ist es immer noch rot

rigid sluice
#

jetzt einfach py-cord installieren

tawdry leaf
#

hat er bereits

fossil vortex
rigid sluice
fossil vortex
#

Ja aber es waren sech oder so

#

davor

tawdry leaf
#

@fossil vortex pip install py-cord

fossil vortex
#

Das hatte ich aber gemacht.

tawdry leaf
#

#

dann machs nochmal 🙂

fossil vortex
#

Oh warte ich habe gerade hoch gescrollt und ich hatte typo °-°

tawdry leaf
#

😐

fossil vortex
#

Jetzt nur noch das:

tawdry leaf
#

pip install utils

rigid sluice
#

?

fossil vortex
rigid sluice
tawdry leaf
tawdry leaf
fossil vortex
#

Ja oder nein?

rigid sluice
#

nein

fossil vortex
#

Ja was dann?

rigid sluice
#

Ka wofür du utils drinnen hast

#

ist es deine eingene DB?

fossil vortex
tawdry leaf
#

perfekt einf mal nein schreiben oder kek

rigid sluice
#

Im welchem Template?

tawdry leaf
fossil vortex
tawdry leaf
#

😄

rigid sluice
#

lol

fossil vortex
tawdry leaf
#

NOOB

fossil vortex
#

Ich mache das seit vorgestern.

tawdry leaf
#

stark

rigid sluice
#

lol

tawdry leaf
#

machst du gut

fossil vortex
tawdry leaf
#

also

rigid sluice
#

Dann einfach ezcord installieren

tawdry leaf
#

hat er bereits kekw

tawdry leaf
fossil vortex
tawdry leaf
#

nimm es raus du brauchst des da nicht

fossil vortex
#

Ok

tawdry leaf
#

hm doch

#

tu es wieder rein

fossil vortex
#

Das auch?

rigid sluice
fossil vortex
#

Weil jetzt wurde das zum error

tawdry leaf
#

es kracht aber gewaltig

rigid sluice
#

Ich hab es gesehen, das es gebraucht wird

tawdry leaf
#

hast wohl nd gesehen das es nicht rot ist ^^

fossil vortex
#

Wait nein das geht ned weil die variabel noch gebracht wird

tawdry leaf
#

richtig

tawdry leaf
fossil vortex
#

Ah hab das übersehen xD

tawdry leaf
#

was ist denn in deinem utils ordner

rigid sluice
#

kannst du mal from ezcord.utils import dab machen?

tawdry leaf
#

xD

fossil vortex
#

um ok

tawdry leaf
rigid sluice
tawdry leaf
#

du weißt schon was das macht?

rigid sluice
#

tawdry leaf
#

dann schreib doch bitte auch nix

tawdry leaf
#

das bild hat nix mit ezcord am hut

fossil vortex
fossil vortex
tawdry leaf
#

from utils(utils heißt der ordner) import dab (dab ist die funktion die er braucht)

rigid sluice
#

Warum ist eine dash.py in dem venv Ordner?

tawdry leaf
fossil vortex
tawdry leaf
#

es gibt keine venv da xD

#

samma hast du getrunken

fossil vortex
#

Desswegen bin ich coding damals gequittet als ich da schonmal angefangen habe

tawdry leaf
#

wow

fossil vortex
tawdry leaf
#

ganz ruhig

fossil vortex
#

Nur ein neues Projekt erstellt

rigid sluice
#

Der punkt ist, es ist alles sehr einfach zu fixen ;3

fossil vortex
tawdry leaf
#

einf wissen was man tut xD

fossil vortex
rigid sluice
#

Ich wundere mich über was anderes eigentlich eher.
Das ist auch nicht um unhöflich zu sein oder anderes aber kennst du die Basics von Python?

tawdry leaf
#

ich habe das problem wenn ich den code runterlade geht er bei mir schon xD

fossil vortex
tawdry leaf
rigid sluice
fossil vortex
#

Ey ich mach einfach die ganze Tuto-Reihe nochmal

tawdry leaf
fossil vortex
tawdry leaf
#

sonst wäre er wohl nicht hier 😄

fossil vortex
fossil vortex
#

Em

#

Ich würde

#

Keine Ahnunh dawg

#

Den cmd darunter der die variabel benutzt und die variabel löschen

tawdry leaf
#

probier mal das hier
from utils import database as dab

fossil vortex
tawdry leaf
fossil vortex
#

ctrl + v?

tawdry leaf
fossil vortex
#

Hat so halb funktioniert

#

Also dab ist nichtmehr rot...

#

Ach egal

tawdry leaf
#

achso ja wenn du die datei in der venv hast ist es logisch das es nicht geht 😄

vast cradle
#

wie kann ich dafür sorgen das ein embed auch nach einem neustart des bots noch Klappt

dapper ginkgo
vast cradle
#

ja

#

ich führe ein mal einen befeh aus und dann wird ein embed mit dem knopf geschickt der immer wenn der bot läuft klappen soll

dapper ginkgo
#

kannst du den code reinschicken?

vast cradle
fossil vortex
#

Das ist für das Freischalten der slash cmds oder?

rigid sluice
#

es als view beim Bot hinzufügen, bei der View Classe Timeout=None setzen und eine nicht wiederholende custom ID bei dem Button hinzufügen

rigid sluice
#

Damit ist es fest bei einem Server

#

wenn du das komplett enfernst wird der Command public

fossil vortex
vast cradle
# dapper ginkgo kannst du den code reinschicken?
import discord
from discord import slash_command, InteractionContextType, IntegrationType, Embed, Colour, Option
from discord.ext import commands

ROLE_ID = 1278437721207083190


class VerifyView(discord.ui.View):
    def __init__(self):
        super().__init__(timeout=None)

    @discord.ui.button(label="Verify", style=discord.ButtonStyle.green, custom_id="role_button")
    async def role_button(self, button: discord.ui.Button, interaction: discord.Interaction):
        role = interaction.guild.get_role(ROLE_ID)
        if role:
            if role in interaction.user.roles:
                await interaction.response.send_message("Du hast diese Rolle bereits.", ephemeral=True)
            else:
                await interaction.user.add_roles(role)
                await interaction.response.send_message(f"Die Rolle {role.name} wurde dir zugewiesen!", ephemeral=True)
        else:
            await interaction.response.send_message("Die Rolle konnte nicht gefunden werden.", ephemeral=True)


class Verify(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @slash_command()
    async def verify(self, ctx, kanal: Option(discord.TextChannel)):
        Kanal = kanal
        verify_embed_send = Embed(title="Embed Gesendet", description="Das Verify Embed wurde gesendet",
                                  color=Colour.green())
        await ctx.respond(embed=verify_embed_send,ephemeral=True)
        verify_embed = Embed(title="Verifiziere Dich",
                             description="um dem Server vollständig beizutreten Drücke Unten den Knopf um dich zu Verifizieren",
                             color=Colour.blue())
        await Kanal.send(embed=verify_embed,view=VerifyView())


def setup(bot):
    bot.add_cog(Verify(bot))```
#

der button klappt leider nach einenm Bot Neustart nicht

#

wie behebe ich das?

dapper ginkgo
#

Du musst noch dem Button in einem on_ready event in deinem cog hinzufügen

vast cradle
#

also wie muss ich das ins on_ready schreiben

dapper ginkgo
#
async def on_ready(self):
  self.bot.add_view(DeinView())
#

DeinView musst du mit deinem View austauschen

vast cradle
#

ich müsste das view auch in einen anderen teil importieren können oder?

dapper ginkgo
vast cradle
dapper ginkgo
#

ja sollte gehen

vast cradle
dapper ginkgo
#

pobiere es aus bin mir da nicht sicher, aber sollte glaube ich gehen

tawdry leaf
#

from verify import VerfyView

#

wenn die beide im cogs ordner sind

rigid sluice
#

ihr müsst alles immer von der main.py aus sehen

tawdry leaf
#

nein

rigid sluice
#

wenn du client.run da hast dann schon...

tawdry leaf
#

#

du definierst mit client.run nur

#

kann auch lmaa.run heißen

tawdry leaf
vast cradle
#

könnte es aber so gesehen auch name.run nennen

rigid sluice
#

Das ist am ende eh egal

#

Ich würde eher bei views ein extra Ordner benutzen aber das ist deine Entscheidung am Ende

tawdry leaf
#

das habe ich vorhin geschrieben xd

rigid sluice
#

und?

#

Es ist immer noch egal am ende

tawdry leaf
#

ich würde die einfach unten bei dem cog dazu schreiben wieso so umständlich

tawdry leaf
rigid sluice
#

?

rigid sluice
#

Man kann auch alles in eine Datei schreiben wenn man möchte

tawdry leaf
#

ik

#

habe ich früher 🙂

#

da gab es sowas wie buttons noch nicht

ruby sparrow
#

halllo lute ich hab ein error es wird nicht erkannt

#
class VerifyDB:
    def __init__(self):
        self.db_path = "utils/data/Verify.db"

    async def setup(self):
        """Execute setup queries."""
        async with aiosqlite.connect(self.db_path) as db:
            await db.execute(
                """CREATE TABLE IF NOT EXISTS verify (
                    guild_id INTEGER PRIMARY KEY,
                    role_id INTEGER,
                    channel_id INTEGER,
                )"""
            )
            await db.commit()

    async def set_verify_role(self, guild_id: int, role_id: int):
        """Set the verify role for a guild."""
        async with aiosqlite.connect(self.db_path) as db:
            await db.execute(
                """INSERT INTO verify (guild_id, role_id)
                   VALUES (?, ?)
                   ON CONFLICT(guild_id) DO UPDATE SET role_id = ?""",
                (guild_id, role_id, role_id)
            )
            await db.commit()


    async def set_verify_channel(self, guild_id: int, channel_id: int):
        """Set the verify channel for a guild."""
        async with aiosqlite.connect(self.db_path) as db:
            await db.execute(
                """INSERT INTO verify (guild_id, channel_id)
                   VALUES (?, ?)
                   ON CONFLICT(guild_id) DO UPDATE SET channel_id = ?""",
                (guild_id, channel_id, channel_id)
            )
            await db.commit()```
fierce dove
#

@ruby sparrow hast du VerifyDB in deine init Datei

ruby sparrow
#

oh vergesen

fierce dove
#

@ruby sparrow gehts

fierce dove
#

Warum kann ich es nicht starten

#

Pycharm

rigid sluice
#

lol

fierce dove
dapper ginkgo
#

weis jemand wie man im code die Farbe in den code blöcken ändern kann, meine sowas:

Hallo
graceful fiber
hard pivot
#

Kann man auf dem cookie hosting server eine Datenbank erstellen?

hard pivot
#

was soll ich machen wenn das ui==0.1.4 nicht gefunden wird?

#

Weil wenn ich auf die install seite geh wird das auch nicht mehr gelistet

graceful fiber
#

Also wofür brauchst du das?

hard pivot
# graceful fiber Also wofür brauchst du das?

setzte aktuell einen server auf aber wenn ich das installieren will (ist für den discord bot) dann kommt immer dieser error:

ERROR: Could not find a version that satisfies the requirement ui==0.1.4 (from versions: none)ERROR: Could not find a version that satisfies the requirement ui==0.1.4 (from versions: none)
ERROR: No matching distribution found for ui==0.1.4
#

ist zum erstellen der select menüs und so

graceful fiber
hard pivot
#

Egal welchen ich ausführe es kommt The application did not respond

#

Er ist an, die status task läuft auch

graceful fiber
#

Helfe nur wenn es offensichtliche Probleme gibt oder allgemeinere fragen 🙂

#

Würde einfach die packages nochmal neu installieren oder das rückgängig machen was du geändert hast, ging ja anscheinend schon mal

hard pivot
#

Geibt es ne möglichkeit beim cookie hosting probramm ne datenbank zu bekommen?

limpid wolf
#

oder deine datenbank wird wo anders gehostet dann kannst du natürlich auch andere verwenden wie sqlite

limpid wolf
hard pivot
#

Also es geht jetzt (hab den bot jetzt bei cookie hosting und die db wo anders) aber die commands und evnts funktionieren nicht was könnte falsch sein?

limpid wolf
hard pivot
#

Auch commands und events in der main gehen nicht

#

Das einzige was geht ist das on_ready

limpid wolf
#

evtl doppelt gestartet?

hard pivot
hard pivot
#

Der reagiert nicht auf die commands ich bekomm dann immer von discord das die interaction fehlgeschlagen ist

#

aber wenn ich den local hoste ist alles gut

#

Ich weiß nicht warum

hard pivot
#

Ich hab das rätzel jetzt gelöst es ist wegen diesen 2 funktionen aber ich weiß nicht warum

    '''
    Adds all existing Invite links to a database

    Info:
        - Required for the Invite Leaderboard
    '''
    @classmethod
    async def collects_invitation_links(cls):

        for guild in bot.guilds:

            for invite in await guild.invites():

                if invite.inviter.bot:

                    pass
                
                else:

                    await DatabaseUpdates.manage_leaderboard_invite_list(guild_id = guild.id, user_id = invite.inviter.id, invite_code = invite.code, uses = invite.uses)
hard pivot
# hard pivot Ich hab das rätzel jetzt gelöst es ist wegen diesen 2 funktionen aber ich weiß n...
@commands.Cog.listener()
    async def on_ready(self):

        view = View(timeout=None)
        print(f'Logged in as: {bot.user.name}')
        print(f'With ID: {bot.user.id}')
        self.bot.loop.create_task(status_task())

        print("┏━━━┓ ┏━━━┓ ┏┓ ┏┓ ┏━━┓ ┏━━━┓ ┏━━┓")
        print("┃┏━┓┃ ┃┏━┓┃ ┃┃ ┃┃ ┗┫┣┛ ┗┓┏┓┃ ┗┫┣┛")
        print("┃┗━━┓ ┃┃ ┃┃ ┃┃ ┃┃  ┃┃   ┃┃┃┃  ┃┃")
        print("┗━━┓┃ ┃┗━┛┃ ┃┃ ┃┃  ┃┃   ┃┃┃┃  ┃┃")
        print("┃┗━┛┃ ┗━━┓┃ ┃┗━┛┃ ┏┫┣┓ ┏┛┗┛┃ ┏┫┣┓")
        print("┗━━━┛    ┗┛ ┗━━━┛ ┗━━┛ ┗━━━┛ ┗━━┛")

       

        self.bot.add_view(HelpMenuSelect())
        view.add_item(CancelButton(system=None))
        
        self.bot.add_view(view)
        await Main.create_db_table()
        await LeaderboardSystem.collects_invitation_links()
        await LeaderboardSystem.check_expired_invites()

Hab sie so aufgrufen

hard pivot
#

Das problem äußert sich so dass dann kein einziger command oder event mehr geht

graceful fiber
#

Wirft auch keine Fehler und nichts geht mehr

#

Da hilft nur debuggen wenn die Funktionen aufgerufen werden

fossil vortex
#

Meine commands werden nicht auf dem server angezeigt?

graceful fiber
#

Naja, und Code, Error und mehr Problembeschreibung kann man da wenig helfen

fossil vortex
#

Ich habe meinen Token geleakt °-°

#

uff

graceful fiber
#

Guck dir maybe mal die unterstrichenen Sachen an

graceful fiber
fossil vortex
graceful fiber
dapper ginkgo
# fossil vortex

pobier mal bei discord.Bot debug_guild anzugeben, weil sonst werden die commands global erstellt und dass dauert meistens

fossil vortex
#

Ok und dann da die guild Id?

dapper ginkgo
#

also ```
discord.Bot(
intents=intents,
debug_guild="Deine Guild ID"
)

dapper ginkgo
ruby sparrow
graceful fiber
dapper ginkgo
fossil vortex
#

Jetzt kommt einer

ruby sparrow
fossil vortex
ruby sparrow
fossil vortex
#

Vielleicht?

#

OH let me see

ruby sparrow
#

guck mal nach

fossil vortex
ruby sparrow
#

auch das ?

#

@fossil vortex

fossil vortex
#

Ja

#

Aber vielleicht wurde es ned approved

#

im dc sind ca. 4k member

dapper ginkgo
#

das ist nicht wegen den intents da würde ein Fehler im Termianl kommen

ruby sparrow
#
debug_guilds=[deine id],```
fossil vortex
ruby sparrow
fossil vortex
#

Hab ich schon

dapper ginkgo
ruby sparrow
#

nein muss so aus sehen debug_guilds=[1266091129963806913],

ruby sparrow
fossil vortex
#

Stark @dapper ginkgo

dapper ginkgo
fossil vortex
#

Kein error mehr$

ruby sparrow
fossil vortex
#

Nein

#

immer noch mein cmd

#

stimmt damit was nicht?

ruby sparrow
#

zeig mal zeig dein discord dev

fossil vortex
#

oder damit?

ruby sparrow
fossil vortex
#

ja join event

#

und dann into wilkommensnachricht

ruby sparrow
#

wird der Print ausgerufen

#

?

fossil vortex
#

Oh stimmt ne

#

Das ist ein guter Hinweis

ruby sparrow
#

send mal dein ganze code hier rein ohne bild

ruby sparrow
fossil vortex
#
import discord
from discord.ext import commands
from discord.commands import slash_command

class greet(commands.cog):
    def __init__(self, bot):
        self.bot = bot

    @slash_command()
    async def dashboard(self, ctx):
        await ctx.respond("Syntax.Error")

    @commands.Cog.listener()
    async def on_member_join(self, member):
        embed = discord.Embed(
            title = "Welcome",
            description = f"Welcome to :palm_tree **##########** {member.mention}",
            color=discord.Color.orange(),

        )

        embed.add_field(name="Feel free to explore our server, for any assistance head to #1233773070603386910 and make sure to read our #1254456012317134949 before joining in our sessions #1233773100114645082", inline=False)
        embed.set_thumbnail(url=member.avatar.url)
        embed.add_field(name="Current members:", value=f"{len(member.guild.members)}", inline=False)
        embed.set_footer(text=f"member joined at: {member.joined_at}")

        channel = await self.bot.fetch_channel(1251997777861414932)

        print("Executed greet")

def setup(bot):
    bot.add_cog(greet(bot))
ruby sparrow
fossil vortex
#

in einen channel

#

also ich habe die id kopiert

ruby sparrow
#
await channel.send(embed=embed)```
#

btw

fossil vortex
#

oh stimmt

ruby sparrow
#

jz gehts

#

oder

fossil vortex
#

Ok mal sehen ob das jetzt funktioniert

ruby sparrow
#

und

fossil vortex
#

noch keiner gejoint

#

mache noch kurz das es mich pingt

dapper ginkgo
fossil vortex
#

Nein danke.

ruby sparrow
#

@fossil vortex willst du call?

fossil vortex
#

Ne warte mal

#

maybe nachher

fossil vortex