#Allgemeine Hilfe

1 messages · Page 73 of 1

cloud prawn
#

es geht aber wird x2 gesendet

native inlet
#

klappt also

cloud prawn
#

nicht ganz wird x2 gesendet

native inlet
#

Weil du es vermutlich zwei mal laufen hast

#

Im background maybe

tawdry leaf
#

jap

native inlet
#

Schau am besten im Taskmanager

#

Wenn du da 2 mal "Python" stehen hast irgendwo, dann beende die Task

ruby sparrow
#

wie kann ich machen wenn man auf ein Button drückt dann wird die Server ID von die Datenbank gelöscht wie geht das?

cloud prawn
#

jo jz danke euch

ruby sparrow
#

ezcord

native inlet
#

...

#

ezcord ist keine Datenbank

tawdry leaf
#

das ist aiosqlite xD

ruby sparrow
#

ja

native inlet
#

Dann sag das auch

tawdry leaf
#

und dann kannst du dir eine methode dazu schreiben wie sonst auch

native inlet
#

Also der SQL befehl könnte sein:

"DELETE FROM die_tabelle WHERE serverid = ?", (interaction.guild.id,)
tawdry leaf
#

ja

cloud cedar
#

Würde gerne einen Check machen ob man in der DM ist, wie mach ich das mit ctx?

cloud cedar
# tawdry leaf wie meinst

Hab nen /command der nur auf nem Server funktionieren soll und wenn man in der DM ist nö schreibt

tawdry leaf
cloud cedar
#

wie mach ich das

tawdry leaf
#
@slash_command(description="Löse ein Gutschein Code ein", guild_only=True)```
zum Beispiel so
cloud cedar
#

dankiii uwu

fresh fable
#

Hey kann mir jemand sagen wie ich folgenden code in ein Cog packen kann?

@bot.slash_command()
async def userinfo(
                ctx,
               user: Option(discord.Member, "Gib einen User an!", default=None) # type: ignore
):
    if user is None:
        user = ctx.author

    embed=discord.Embed(
        title="Benutzer Infomationen",
        description=f"Informationen über: {user.mention}",
        color=0x7f17d3
    )


    embed.set_thumbnail(url=user.display_avatar.url)

    embed.add_field(name=" ", value=" ", inline=False)
    embed.add_field(name=" ", value=" ", inline=False)
    embed.add_field(name=" ", value=" ", inline=False)
    
    embed.add_field(name="Benutzer Name", value=user.name, inline=True)
    embed.add_field(name="Anzeige Name", value=user.display_name, inline=True)
    embed.add_field(name="ID", value=user.id, inline=False)
    
    time_R = discord.utils.format_dt(user.created_at, "R")
    time_d = discord.utils.format_dt(user.created_at, "d")
    embed.add_field(name="Account erstellt", value=f"{time_d} ({time_R})", inline=True)


    await ctx.respond(embed=embed)
#

Wenn ich denn Code in der main.py Datei habe Funktioniert es aber sobald ich ihn in eine Cog packe geht es nicht mehr

Ich weiß das der Code in eine class muss und das bei Zeile 1 "bot." weck muss aber trotzdem funktioniert es nicht.

fresh fable
#

Hilft mir nicht wirklich weiter

#

Ok habe das Problem gefunden

tawdry leaf
fresh fable
fresh fable
digital crypt
#
Traceback (most recent call last):
  File "/home/container/main.py", line 703, in <module>
    bot.run(get_config("bot")["tempvoice"])
  File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 766, in run
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 745, in runner
    await self.start(*args, **kwargs)
  File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 709, in start
    await self.connect(reconnect=reconnect)
  File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 601, in connect
    await self.ws.poll_event()
  File "/home/container/.local/lib/python3.11/site-packages/discord/gateway.py", line 605, in poll_event
    await self.received_message(msg.data)
  File "/home/container/.local/lib/python3.11/site-packages/discord/gateway.py", line 555, in received_message
    func(data)
  File "/home/container/.local/lib/python3.11/site-packages/discord/state.py", line 818, in parse_interaction_create
    interaction = Interaction(data=data, state=self)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/container/.local/lib/python3.11/site-packages/discord/interactions.py", line 171, in __init__
    self._from_data(data)
  File "/home/container/.local/lib/python3.11/site-packages/discord/interactions.py", line 201, in _from_data
    self._guild = Guild(data=self._guild_data, state=self)
                  ^^^^^
NameError: name 'Guild' is not defined. Did you mean: 'guild'?```

Kann mir bitte einer Helfe ich weiß nicht mehr weiter
dusty tiger
#

ah ne ist nh package fehler

digital crypt
#

danke

dusty tiger
#

schick ma deine bot class oder wo der error passiert

#

also ab wann

digital crypt
#

alles gut habe es maby

digital crypt
#

@dusty tiger nach 20 minuten geht der bot einfach wieder offline wegen dem gleichen fehler

Traceback (most recent call last):
  File "/home/container/main.py", line 703, in <module>
    bot.run(get_config("bot")["tempvoice"])
  File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 766, in run
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 745, in runner
    await self.start(*args, **kwargs)
  File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 709, in start
    await self.connect(reconnect=reconnect)
  File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 601, in connect
    await self.ws.poll_event()
  File "/home/container/.local/lib/python3.11/site-packages/discord/gateway.py", line 605, in poll_event
    await self.received_message(msg.data)
  File "/home/container/.local/lib/python3.11/site-packages/discord/gateway.py", line 555, in received_message
    func(data)
  File "/home/container/.local/lib/python3.11/site-packages/discord/state.py", line 818, in parse_interaction_create
    interaction = Interaction(data=data, state=self)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/container/.local/lib/python3.11/site-packages/discord/interactions.py", line 171, in __init__
    self._from_data(data)
  File "/home/container/.local/lib/python3.11/site-packages/discord/interactions.py", line 201, in _from_data
    self._guild = Guild(data=self._guild_data, state=self)
                  ^^^^^
NameError: name 'Guild' is not defined. Did you mean: 'guild'?```
quasi frost
#

warum wird margin top gelb unterstrichen?

native inlet
urban glen
#

Kann ich beim userinfo command, die profil abzeichen einblenden?

cloud cedar
#

Discord zeigt meinen Slash Command nichtmehr an 💀

ruby sparrow
cloud cedar
ruby sparrow
#

ist er bot on ?

cloud cedar
#

Weiß wer wie ich mit self.bot eine Kategorie gette?

native plume
#

Hey, weiß einer von euch noch wie man den User getted der den bot eingeladen hat?

vivid sky
#

hier das event glaube den rest weißt du

native plume
native plume
vivid sky
#

oh das meinst du timo hat dazu ein video gepostet glaub ich

#

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

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

PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discord.gg/pycord

Discord Developer Portal ► https://discord...

▶ Play video
urban glen
burnt prairieBOT
#
Schlag

@native helm schlägt @wise mist

native helm
urban glen
native helm
#

idk

cloud prawn
#

habe das von den pycord docs genommen ```import discord

bot = discord.Bot()

@bot.command()
async def hello(ctx):
embed = discord.Embed(
title="My Amazing Embed",
description="Embeds are super easy, barely an inconvenience.",
color=discord.Colour.blurple(), # Pycord provides a class with default colors you can choose from
)
embed.add_field(name="A Normal Field", value="A really nice field with some information. The description as well as the fields support markdown!")

embed.add_field(name="Inline Field 1", value="Inline Field 1", inline=True)
embed.add_field(name="Inline Field 2", value="Inline Field 2", inline=True)
embed.add_field(name="Inline Field 3", value="Inline Field 3", inline=True)

embed.set_footer(text="Footer! No markdown here.") # footers can have icons too
embed.set_author(name="Pycord Team", icon_url="https://example.com/link-to-my-image.png")
embed.set_thumbnail(url="https://example.com/link-to-my-thumbnail.png")
embed.set_image(url="https://example.com/link-to-my-banner.png")

await ctx.respond("Hello! Here's a cool embed.", embed=embed) # Send the embed with some text

bot.run("TOKEN")``` bekomme die ganze zeit
AttributeError: module 'discord' has no attribute 'Bot'
kann wer helfen?

native helm
#

Select Menu (Dropdowns) kennt sich einer damit aus?

native inlet
native helm
#

ich will das man mit einem Select menu das man sich verifiziert

native inlet
native inlet
#

Mach das doch

native helm
#

ich weiß nicht wie das geht

native inlet
#

Musst du googlen und videos schauen

#
  • es gibt mehrere wege
#

Kommt drauf an wie du es haben willst

#

z.B. das man nh Rolle bekommt beim Verifizieren oder so

native helm
#

@fierce dove Ich habe das ganze video geschaut

native inlet
#

Das kann man aber auch googeln

native helm
#
Traceback (most recent call last):
  File "C:\Users\vison\Desktop\Layno OS\.venv\lib\site-packages\discord\ui\view.py", line 426, in _scheduled_task
    await item.callback(interaction)
  File "C:\Users\vison\Desktop\Layno OS\commands\admin\LRP_Dein-Start.py", line 62, in select_callback
    await interaction.response.send_message(embed=embed, ephemeral=True)
UnboundLocalError: local variable 'embed' referenced before assignment``` Fehler codet Kommt
native helm
#

can me help some one play

#
Traceback (most recent call last):
  File "C:\Users\vison\Desktop\Layno OS\.venv\lib\site-packages\discord\ui\view.py", line 426, in _scheduled_task
    await item.callback(interaction)
  File "C:\Users\vison\Desktop\Layno OS\commands\admin\LRP_Dein-Start.py", line 63, in select_callback
    await interaction.response.send_message(embeds=[V_embed, rp_embed], ephemeral=True)
UnboundLocalError: local variable 'V_embed' referenced before assignment```
vocal wedge
#

Bei mir steht ständig: py aiohttp.client_exceptions.ServerDisconnectedError: Server disconnected oder ```py
sqlite3.OperationalError: database is locked

tawdry leaf
#

worldly phoenix
#

ich habe das problem das ein fehler kommt " 'NoneType' object has no attribute 'url' " das passiert wenn ein user kein profiel bild hat wie kann ich es machen das da was anderes gesendet wird einfach ein bestimmtes bild dafür

worldly phoenix
#

habe es schon

ruby sparrow
#

Hier kannst du die user-bilder immer geladen haben

vocal wedge
# ruby sparrow Geht. Das?

Ja, ist nicht mehr aufgetreten. Habe im moment schlechtes internet. Das wäre meine Einzige erklärung denn beim Hoster geht es.

native inlet
vocal wedge
#

Was ist die maximale anzahl von Nachrichten die man in einem Clear command löschen kann?

vocal wedge
#

Error: ```py
[ERROR] Error while executing /clear
Traceback (most recent call last):
File "C:\Users\lenna\OneDrive\Desktop\System.venv\Lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\lenna\OneDrive\Desktop\System.venv\Lib\site-packages\discord\commands\core.py", line 1009, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Users\lenna\OneDrive\Desktop\System\cogs\purgeCmd.py", line 20, in clear
ctx.respond.edit_message(f" {ammount} Nachrichten wurden in {ctx.channel.mention} gelöscht.", ephemeral=True)
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'function' object has no attribute 'edit_message'

#
await ctx.respond(
                f"`🔄️` Löschvorgang...",
                ephemeral=True)
            await ctx.channel.purge(limit=ammount)
            ctx.respond.edit_message(f"`✅` **{ammount}** Nachrichten wurden in {ctx.channel.mention} gelöscht.", ephemeral=True)
#

Wie mache ich das denn dann?

limpid wolf
#

ctx.repond.edit_Message gibt es nicht 🤨

vocal wedge
fierce dove
limpid wolf
vocal wedge
#
message = await ctx.respond(
                f"`🔄️` Löschvorgang...",
                ephemeral=True)
            await ctx.channel.purge(limit=ammount)
            message.edit(f"`✅` **{ammount}** Nachrichten wurden in {ctx.channel.mention} gelöscht.", ephemeral=True)
#

So?

limpid wolf
#

Probier aus

#

Aber glaube ja

vocal wedge
#

Okay

limpid wolf
#

Sonst ctx.edit_Message oder so

#

Aber bin mir grade nicht sicher

fierce dove
fierce dove
#

Der ganze Error bitte

vocal wedge
#
[ERROR] Error while executing /clear 
Traceback (most recent call last):
  File "C:\Users\lenna\OneDrive\Desktop\System\.venv\Lib\site-packages\discord\commands\core.py", line 131, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\lenna\OneDrive\Desktop\System\.venv\Lib\site-packages\discord\commands\core.py", line 1009, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Users\lenna\OneDrive\Desktop\System\cogs\purgeCmd.py", line 20, in clear
    await ctx.edit(f"`✅` **{ammount}** Nachrichten wurden in {ctx.channel.mention} gelöscht.")
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Interaction.edit_original_response() takes 1 positional argument but 2 were given
fierce dove
#

Und Code bitte

vocal wedge
#
import discord
import ezcord
from discord import Option
from discord.commands import slash_command

class Clear(ezcord.Cog):
    @slash_command(description="× Lösche den verlauf eines Channels")
    @discord.default_permissions(manage_messages=True)
    @discord.guild_only()
    async def clear(self, ctx: discord.ApplicationContext, ammount: Option(int, "Die Anzahl der Nachrichten, die gelöscht werden sollen.", required=True)):
        if ammount > 200:
            return await ctx.respond("`❌` Die Maximale wert ist **200**!", ephemeral=True)
        elif ammount < 0:
            return await ctx.respond("`❌` Der Minimale wert ist **1!**", ephemeral=True)
        else:
            await ctx.respond(
                f"`🔄️` Löschvorgang...",
                ephemeral=True)
            await ctx.channel.purge(limit=ammount)
            await ctx.edit(f"`✅` **{ammount}** Nachrichten wurden in {ctx.channel.mention} gelöscht.")


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

limpid wolf
vocal wedge
fierce dove
#

Habe auch in meinen Code await ctx.edit

vocal wedge
limpid wolf
#

Och

vocal wedge
#

pog Wir brauchen Timos Hilfe

fierce dove
native inlet
# vocal wedge ```py import discord import ezcord from discord import Option from discord.comma...
import discord
import ezcord
from discord import Option
from discord.commands import slash_command

class Clear(ezcord.Cog):
    @slash_command(description="× Lösche den verlauf eines Channels")
    @discord.default_permissions(manage_messages=True)
    @discord.guild_only()
    async def clear(self, ctx: discord.ApplicationContext, ammount: Option(int, "Die Anzahl der Nachrichten, die gelöscht werden sollen.", required=True)):
        if ammount > 200:
            return await ctx.respond("`❌` Die Maximale wert ist **200**!", ephemeral=True)
        elif ammount < 0:
            return await ctx.respond("`❌` Der Minimale wert ist **1!**", ephemeral=True)
        else:
            await ctx.respond(
                f"`🔄️` Löschvorgang...",
                ephemeral=True)
            await ctx.channel.purge(limit=ammount)
            await ctx.edit(content=f"`✅` **{ammount}** Nachrichten wurden in {ctx.channel.mention} gelöscht.")


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

Probiers so

#

so sollte es eig klappen

vocal wedge
#

Wow

native inlet
#

Übrigens, diese Abfrage brauchst du eig garnicht

#

Das kannst du auch bei der Option festlegen

#

Mit min_value und max_value

#

@vocal wedge

vocal wedge
native inlet
#

Und ammount wird mit einem m geschrieben xD
Also amount

vocal wedge
#
async def clear(self, ctx: discord.ApplicationContext, ammount: Option(int, "Die Anzahl der Nachrichten, die gelöscht werden sollen.", required=True, min_value=1, max_value=200))
``` so?
native inlet
vocal wedge
native inlet
vocal wedge
native inlet
#
import discord
import ezcord
from discord import Option
from discord.commands import slash_command

class Clear(ezcord.Cog):
    @slash_command(description="× Lösche den verlauf eines Channels")
    @discord.default_permissions(manage_messages=True)
    @discord.guild_only()
    async def clear(self, ctx: discord.ApplicationContext, amount: Option(int, "Die Anzahl der Nachrichten, die gelöscht werden sollen.", required=True, min_value=1, max_value=200)):
        await ctx.respond(
            f"`🔄️` Löschvorgang...",
            ephemeral=True)
        deleted = await ctx.channel.purge(limit=amount)
        await ctx.edit(content=f"`✅` **{len(deleted)}** Nachrichten wurden in {ctx.channel.mention} gelöscht.")
        

def setup(bot):
    bot.add_cog(Clear(bot))
#

So vielleicht

#

Kann aber auch falsch sein xD

#

Probiers

vocal wedge
#

Mache ich

#

Hat geklappt, danke.

native inlet
vocal wedge
# native inlet *👍🏽*

Wenn ich den Bot starte kommt der Fehler ```py
Traceback (most recent call last):
File "C:\Users\lenna\OneDrive\Desktop\System.venv\Lib\site-packages\discord\cog.py", line 778, in _load_from_module_spec
spec.loader.exec_module(lib) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "C:\Users\lenna\OneDrive\Desktop\System\cogs\embedCmd.py", line 85, in <module>
class LinkButtonsRules(discord.ui.View):
File "C:\Users\lenna\OneDrive\Desktop\System\cogs\embedCmd.py", line 88, in LinkButtonsRules
view = discord.ui.View()
^^^^^^^^^^^^^^^^^
File "C:\Users\lenna\OneDrive\Desktop\System.venv\Lib\site-packages\discord\ui\view.py", line 186, in init
loop = asyncio.get_running_loop()
^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: no running event loop

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "C:\Users\lenna\OneDrive\Desktop\System\main.py", line 22, in <module>
bot = Bot()
^^^^^
File "C:\Users\lenna\OneDrive\Desktop\System\main.py", line 8, in init
self.load_cogs()
File "C:\Users\lenna\OneDrive\Desktop\System.venv\Lib\site-packages\ezcord\bot.py", line 318, in load_cogs
self.load_extension(cog)
File "C:\Users\lenna\OneDrive\Desktop\System.venv\Lib\site-packages\discord\cog.py", line 912, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\lenna\OneDrive\Desktop\System.venv\Lib\site-packages\discord\cog.py", line 781, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.embedCmd' raised an error: RuntimeError: no running event loop

Process finished with exit code 1```

#

Der Fehler kommt wenn ich in der Button Klasse die Link Buttons wieder ein agumentiere.

class LinkButtonsRules(discord.ui.View):

    contact = discord.ui.Button(label="⁘ Kontakt", url="https://discord.com/channels/1219292043801657364/1222181530084966421")
    view = discord.ui.View()
    view.add_item(contact)

    @discord.ui.button(label="📚", style=discord.ButtonStyle.primary, disabled=True,  custom_id="deco_2")
    async def button_emoji_rules(self, button, interaction):
        await interaction.response.send_message("📚", ephemeral=True)

    bot_adden = discord.ui.Button(label="⁘ DisPost adden",
                                url="/")
    view2 = discord.ui.View()
    view2.add_item(bot_adden)
turbid oasis
#

Was ist das für eine Fehlermeldung

#

(discord link ist btw verändert und ungültig)

graceful fiber
# turbid oasis

Du probierst einen Task aufzurufen der schon gestartet ist

#

Könntest im on_ready zum Beispiel abfragen ob der Test schon läuft

#

Und nur wenn er nicht läuft ihn starten

vocal wedge
odd kiteBOT
graceful fiber
#

Damit @turbid oasis

turbid oasis
#

ja egal ich checks eh ned

graceful fiber
graceful fiber
#

Und füg die dann mal der Button-Klasse als Methode hinzu

graceful fiber
turbid oasis
#

also if discord.ext.... == true return

graceful fiber
#

probier mal 'if not' und dann DeinTaskName.is_running()

#

Damit überprüfst du dann im on_ready ob der Task schon gestartet ist

#

Und wenn er das nicht ist, dann startest du ihn in der If Abfrage

turbid oasis
#

so?

turbid oasis
#

ohne return?

#

oder wie

graceful fiber
turbid oasis
#

so jz richtig?

graceful fiber
turbid oasis
#

wieso nur fast?

graceful fiber
#

Und ansonsten einfach mal ausprobieren und schauen was für neue Fehler kommen 🙂

turbid oasis
graceful fiber
graceful fiber
turbid oasis
#

was ist mein task name

graceful fiber
# vocal wedge

Probier mal eher sowas, ist schwierig zu erklären

class LinkButtonsRules(discord.ui.View):

    contact = discord.ui.Button(label="⁘ Kontakt", url="https://discord.com/channels/1219292043801657364/1222181530084966421")
    view = discord.ui.View()
    view.add_item(contact)

    bot_adden = discord.ui.Button(label="⁘ DisPost adden",
                                url="/")
    view2 = discord.ui.View()
    view2.add_item(bot_adden)

async def button_emoji_rules(button, interaction):
    await interaction.response.send_message("📚", ephemeral=True)

LinkButtonsRules.button_emoji_rules = button_emoji_rules
turbid oasis
#

so jz?

graceful fiber
turbid oasis
graceful fiber
#

Und dann schau mal ob der Fehler noch kommt oder nicht

graceful fiber
graceful fiber
vocal wedge
#
@discord.ui.button(label="📚", style=discord.ButtonStyle.primary, disabled=True,  custom_id="deco_2")
    async def button_emoji_rules(self, button, interaction):
        await interaction.response.send_message("📚", ephemeral=True)
graceful fiber
vocal wedge
graceful fiber
#

Ansonsten ist das hier auch super erklärt

vocal wedge
#

Habe mir das schon angeschaut, leider wird da aber nicht erklärt wie man einen Link Button in einer Button view klasse wie ich definiert.

graceful fiber
#

Ansonsten liegt das Problem vermutlich noch woanders würde ich schätzen

vocal wedge
#

@solid ingot Hast du noch eine idee?

graceful fiber
#

Mal schauen, Ping mich mal bitte wenn du eine Lösung hast, ist interessant

#

Und klappt's @turbid oasis ?

vocal wedge
#

Mache ich

turbid oasis
#

ich glaube

graceful fiber
fresh fable
#

Wie kann man mit pycord infomationen über denn server abrufen wie z.b der Owner, das erstell Datum, anzahl an Channel/Rollen usw.?

vocal wedge
fresh fable
vocal wedge
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
fresh fable
#

Und wie mache ich das dann mit dem abrufen der Informationen?
Gibt es da auch ein Video zu?

vocal wedge
vocal wedge
vocal wedge
#

Wenn ich mich nicht Täusche irgendwie so:

guild = ezcord.Bot.get_guild(self, 1219292043801657364)
        channels = guild.fetch_channels()
        roles = guild.fetch_roles()
        print(channels)
        print(roles)
mossy drum
#

ticket soll geschlossen werden geht aber nicht @limpid wolf sry4ping

limpid wolf
#

Ja der kann nicht auf den Pool zugreifen also hat keine dB Connection

#

Mit deiner dB ist alles Fine du hast nur den Code verkackt

#

Vorallem du meintest ja, dass es beim ersten Mal funktioniert

#

self.bot.pool gibt es halt nicht

#

Also denke ich mal, sieht so aus im Error

mossy drum
#

Ohh veradmmt

#

ist das falcsh?

limpid wolf
mossy drum
#

damn, alles gut

limpid wolf
#

Kann auch sein dass das richtig ist aber du kannst halt irgendwie mit Self.bot nicht drauf zugreifen

#

Das stand ja so im Error

mossy drum
#

verstehe, so ein müll haha

mossy drum
#

lets gooooo, habs gefixt dammnnnn endlich

#

du hattest recht, danke nikos 🙏

violet pendant
#

Wie mache ich es das ein embed gesendet wird und dabei eine rolle die nicht im embed ist gepingt wird muss man das ans embed dranhängen oder wie?

#

als beispiel

solid ingot
limpid wolf
mossy drum
#

❤️ 🙏

violet pendant
#

Wie mache ich es das man auf einen Text klicken kann in dem fall im embed title es funktioniert ja sonst mit text dies funktioniert jedoch nicht im title

native inlet
#

[Text](https://www.google.com/)

violet pendant
native inlet
#

Im embed title ist das nicht möglich

violet pendant
#

wie dann das?

native inlet
#

?

violet pendant
native inlet
#

Schick doch mal den ganzen Embed

violet pendant
#

xD

native inlet
#

Dann editier es halt.

#

Nutz shareX für screenshots

#

Dann kannst du es verpixxeln

#

Aber ich vermute mal, dass dies im embed-author ist.
Da kann man hyperlinks nutzen

native inlet
#

Du kannst hyperlinks überall nutzen, außer im Titel

violet pendant
native inlet
# violet pendant

Oha wieso so viel weg gemacht? xD

Sind da so viele Invite Links oder so ?

native inlet
# violet pendant

Ah das ist nicht author, dass ist in der Description.

Author ist da drüber, mit dem kleinen Bild.
Also ist das die Description

violet pendant
#

aber nein author ist oben mit dem bild

#

ja okay danke

violet pendant
#

Also ich will nur datetime ausprinten...
<module 'datetime' from 'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2032.0_x64__qbz5n2kfra8p0\\Lib\\datetime.py'>

#
import datetime

print(datetime)```
#

Was mache ich falsch?

limpid wolf
violet pendant
limpid wolf
#

Datetime und nicht datatime

violet pendant
violet pendant
limpid wolf
#

() am Ende?

violet pendant
#

er will was in den ()

limpid wolf
#

Datetime.datetime.now()

#

So jetzt aber sorry xd

violet pendant
violet pendant
# limpid wolf So jetzt aber sorry xd

Noch eine Frage wie holt man sich die avatar url bzw das image da ich in einem embed creator immer im footer das bild haben möchte icon_url=ctx.author.avatar_url funktioniert nämlich nicht

onyx wave
#

Hi, kann mir jemand helfen bei der Einrichtung Cloudflare? Was genau muss ich mache für panel & node einzurichten.Danke

limpid wolf
#

Und schau dir doch mal Timos Video zu den docs an, sowas kann man da ganz einfach finden

violet pendant
limpid wolf
#

Ja damit kann ich absolut nichts anfangen, müsste schon den Error sehen

vivid sky
#

versuch mal
icon_url=ctx.author.avatar.url

violet pendant
#

Aber wie hole ich mir das Server-Icon

vivid sky
#

ctx.guild.icon.url

cloud prawn
#

Kann man in einer Config.json gifs, Videos und so sachen als link haben und dann bei discord als Video, gif da steht halt dee Link da, aber man kann es ohne auf den Link zu schicken anschauen?

violet pendant
#

,

violet pendant
#

Wie macht man es das man in ankündigungskanälen die nachrichten automatisch veröffentlich werden es gibt dafür nix im internet bzw in der dokumentation

#

also ein auto publish

odd kiteBOT
graceful fiber
#

Damit @violet pendant

cloud prawn
graceful fiber
vivid sky
#

ka

vocal wedge
#

Wie kann ich beim Boosten meines Servers eine Nachricht mit dem Bot in einen Channel senden?

vivid sky
vocal wedge
# vivid sky Es funktioniert auf verschiedene Arten.

Geht das so? @solid ingot

from discord.ext import commands
import ezcord
import discord

class BoosterMsg(ezcord.Cog):
    @commands.Cog.listener()
    async def on_member_update(self, interaction):
        # booster_role_id = //
        booster_channel = await self.bot.fetch_channel(1219294234872516618)
        # member = interaction.user
        booster_embed = discord.Embed(
            description="# :nitro_flex: Danke für deinen Boost!\n"
                        f"> Danke, dass du unseren Server **{interaction.guild.name}** geboostet hast. Dafür erhälst du die Booster Role und eine Überraschung die du dir im Ticket abholen kannst.",
            colour=0xffb5fc,
            image="https://cdn.discordapp.com/attachments/1178378490777698324/1178428836027846816/Testoo_2.png?ex=6612fee0&is=660089e0&hm=6a343b212fe213647f4bab4be7c174f314eb9c23191c624ea58ad165df555a77&"
        )
        # await member.add_roles(birthday_role)
        await booster_channel.send(f"{interaction.user.mention}")
        await booster_channel.send(embed=booster_embed)

def setup(bot):
    bot.add_cog(BoosterMsg(bot))
tawdry leaf
#

teste es xD

vocal wedge
vocal wedge
tawdry leaf
#

kannst es doch auch mit einer anderen rolle testen xD

vocal wedge
vocal wedge
tawdry leaf
vocal wedge
tawdry leaf
vocal wedge
#

Ne, bei mir hat noch keiner gehostet

tawdry leaf
#

aso

vocal wedge
#

@tawdry leaf Habe das in einem Close Ticket Button. Und den Button können nur Teamler drücken. Möchte aber das den Ticket erstellern noch ein Tanscript gesendet wird.

tawdry leaf
#

dann speichere dir den ticket ersteller ab

vocal wedge
tawdry leaf
#

naja sobald der button gedrückt wurde eben eine sql methode ausführen um den user zu speichern in der datenbank gibt bei #1027677692730036294 bestimmt ein beispiel dazu

thick haven
#

Hi, wie kann ich in einer Nutton Class den Button deaktivieren, sobald ich ihn drücke

odd kiteBOT
#
import discord
from discord.ext import commands
from discord.commands import slash_command


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

    @commands.Cog.listener()
    async def on_ready(self):
        self.bot.add_view(TutorialView())

    @slash_command()
    async def button1(self, ctx):
        await ctx.respond("Klicke hier", view=TutorialView())

    @slash_command()
    async def button2(self, ctx):
        button = TutorialButton("Kekse sind cool")
        view = discord.ui.View()
        view.add_item(button)

        await ctx.respond("Klicke hier", view=view)

    @slash_command()
    async def url_button(self, ctx):
        button = discord.ui.Button(label="GitHub", url="https://github.com/tibue99")
        view = discord.ui.View()
        view.add_item(button)

        await ctx.respond("Klicke hier", view=view)


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


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

    @discord.ui.button(label="Keks", style=discord.ButtonStyle.primary, emoji="🍪", custom_id="keks", row=2)
    async def button_callback1(self, button, interaction):
        await interaction.response.send_message("Keks", ephemeral=True)

    @discord.ui.button(label="Pizza", style=discord.ButtonStyle.primary, emoji="🍕", custom_id="pizza", row=1)
    async def button_callback2(self, button, interaction):
        button.disabled = True

        # Alle Buttons deaktivieren
        # for child in self.children:
        #     child.disabled = True

        await interaction.response.edit_message(view=self)


class TutorialButton(discord.ui.Button):
    def __init__(self, label):
        super().__init__(label=label, style=discord.ButtonStyle.green)

    async def callback(self, interaction):
        await interaction.response.send_message("Hey!", ephemeral=True)
ruby sparrow
#

@thick haven da ist ein zb

thick haven
# ruby sparrow <@416015508303904779> da ist ein zb

Ich möchte aber das der Button beim callback deaktiviert wird aslo wenn der button in ner seperaten klasse is

    def __init__(self, label):
        super().__init__(label=label, style=discord.ButtonStyle.green)

    async def callback(self, interaction):
        await interaction.response.send_message("Hey!", ephemeral=True)```
ruby sparrow
thick haven
#

Woher soll er wissen was button ist

ruby sparrow
#

du kannst auch mit self. machen

thick haven
#

Der Button geht tzd noch

ruby sparrow
#

demm idk

ruby sparrow
#
[ERROR] Error while executing /poll create 
Traceback (most recent call last):
  File "C:\Users\nicor\OneDrive\Desktop\helper stern\venv\Lib\site-packages\discord\commands\core.py", line 131, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\nicor\OneDrive\Desktop\helper stern\venv\Lib\site-packages\discord\commands\core.py", line 1009, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Users\nicor\OneDrive\Desktop\helper stern\cogs\poll.py", line 59, in create
    await ctx.send_modal(PollModal(bot=self.bot))
  File "C:\Users\nicor\OneDrive\Desktop\helper stern\venv\Lib\site-packages\ezcord\i18n.py", line 289, in _localize_modal
    return await INTERACTION_MODAL(self, modal)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\nicor\OneDrive\Desktop\helper stern\venv\Lib\site-packages\discord\interactions.py", line 1178, in send_modal
    await self._locked_response(
  File "C:\Users\nicor\OneDrive\Desktop\helper stern\venv\Lib\site-packages\discord\interactions.py", line 1243, in _locked_response
    await coro
  File "C:\Users\nicor\OneDrive\Desktop\helper stern\venv\Lib\site-packages\discord\webhook\async_.py", line 220, in request
    raise NotFound(response, data)
discord.errors.NotFound: 404 Not Found (error code: 10062): Unknown interaction``` **code** ```py
@poll.command(description="Create a Poll")
    @discord.guild_only()
    async def create(self, ctx):
        await ctx.send_modal(PollModal(bot=self.bot))
vocal wedge
#

Oh mann

ruby sparrow
vocal wedge
#

Error

ruby sparrow
ruby sparrow
vocal wedge
ruby sparrow
#

ne

ruby sparrow
vocal wedge
#

Nice

ruby sparrow
#

das war wegen py {len(self.upvotes)}

vocal wedge
#

Oh Mann gigapeepo

ruby sparrow
#

ja

fresh fable
#

Wie kann man beim Embed leere Zeilen einfügen?
Ich möchte nicht das footer so nah am Text ist sondern eine leere Zeile dazwischen ist, es funktioniert aber nicht, egal ob ich ein neues field erstelle wo Name und value " " sind oder ob ich \n benutze, geht beides nicht

solid ingot
fresh fable
#

ok

vocal wedge
#

Es ist jemand gejoint und ich bekomme diesen Fehler.
Code:

from discord.ext import commands
import ezcord
import discord

class BoosterMsg(ezcord.Cog):
    @commands.Cog.listener()
    async def on_member_update(self, interaction):
        # booster_role_id = //
        booster_channel = await self.bot.fetch_channel(1219294234872516618)
        # member = interaction.user
        booster_embed = discord.Embed(
            description="# :nitro_flex: Danke für deinen Boost!\n"
                        f"> Danke.",
            colour=0xffb5fc
        )
        # await member.add_roles(birthday_role)
        await booster_channel.send(f"{interaction.user.mention}")
        await booster_channel.send(embed=booster_embed)

def setup(bot):
    bot.add_cog(BoosterMsg(bot))
solid ingot
#

die parameter von on_member_update sind falsch

odd kiteBOT
thick haven
#

^Kann ich nach einem interaction.edit() keine neue anchricht senden mit interaction,.respond

native helm
#

hallö

import discord
import ezcord
from dotenv import load_dotenv

colors = {
    logging.DEBUG: "blue",
    logging.INFO: Fore.MAGENTA,
}

# call this function before creating the bot
ezcord.set_log(
    log_format=ezcord.LogFormat.default,
    colors=colors,
    webhook_url="webhook_URL",
)

log.debug("This is a debug message")
log.info("This is an info message")

ezcord.custom_log("CUSTOM", "This is a message with a custom log level")



bot.add_help_command()
intents = discord.Intents.all()
bot = ezcord.Bot(intents=intents,
                 language="de",
                 owner_id="1206653752338288781",
                 ready_event=ezcord.ReadyEvent.table_vertical_bold
                 )

bot.add_status_changer(
    [
        discord.Game("Bitte Warten"),
    ],
)

if __name__ == "__main__":
    bot.load_cogs(
        "commands",
        custom_log_level="CMDS",
        log_color="blue",
        subdirectories=True
    )
    bot.load_cogs(
        "events",
        custom_log_level="EVENTS",
        log_color="blue",
        subdirectories=True
    )

    load_dotenv()
bot.run(os.getenv("TOKEN"))```
vocal wedge
mossy drum
#

hat wer ne idee was genau ich für den sprachkanal graphen machen soll, also was genau soll der graph anzeigen, habe bisher nur den Nachrichten graphen

native helm
solid ingot
vocal wedge
vocal wedge
native inlet
#

Ja

#

Aber dein Code is zurzeit eh nicht so gut.

#

Dein Code is grad so, dass bei ner Member Änderung dann nh Booster Message geschickt wird.

d.H. wenn ich jetzt mein Profilbild ändern würde, würde eine Booster Nachricht kommen.

#
async def on_member_update(self, before, after):
    if before.premium_since is None and after.premium_since is not None:
        print(f"{after.mention} hat den Server gerade geboostet")
#

So könntest du es machen

native helm
#

hey könnte mir einer helfen bei dem Logging in ezcord?

native inlet
#

Weil Dein Code is grad so, dass bei ner Member Änderung dann nh Booster Message geschickt wird.

#

d.H. wenn ich jetzt mein Profilbild ändern würde, würde eine Booster Nachricht kommen.

vocal wedge
#

Okay, wird das denn wenn ein Member 2 mal hintereinander boostet auch 2 mal gesendet?

native inlet
#

Idk

#

Probiers

vocal wedge
# native inlet Probiers

Okay, wie kann ich denn anzeigen wie viele Boosts der Server dann hat? Also z.b. (Server boosts 1 )

native inlet
#

Ich bin nicht allwissend.

ich schaue selber in den Docs nach, probier du doch auch mal da nach zu schauen

odd kiteBOT
vocal wedge
#

Okay

vocal wedge
fresh fable
#

Kann mir jemand sagen was das Problem bei der error meldung sein könnte?

Traceback (most recent call last):
  File "C:\Users\Py Coding\Desktop\FoxBot\main_FoxBot.py", line 6, in <module>
    from discord.commands import Option, slash_command
  File "C:\Users\Py Coding\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\commands\__init__.py", line 26, in <module>
    from .context import *
  File "C:\Users\Py Coding\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\commands\context.py", line 69, in <module>
    class ApplicationContext(discord.abc.Messageable):
  File "C:\Users\Py Coding\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\commands\context.py", line 271, in ApplicationContext
    @discord.utils.copy_doc(Interaction.respond)
                            ^^^^^^^^^^^^^^^^^^^
AttributeError: type object 'Interaction' has no attribute 'respond'. Did you mean: 'response'?

Ich bekomme es einfach nicht hin, die letzte Zeile Verwirrt mich halt
AttributeError: type object 'Interaction' has no attribute 'respond'. Did you mean: 'response'?

fresh fable
#

?

ruby sparrow
#

interaction.response

#

@fresh fable

#

und nicht respond

fresh fable
#

ja das kann ich auch lesen aber das einzige wo ich respond stehen habe ist in meinen Crogs und da müss ja respond stehen

ruby sparrow
fierce dove
#

Code bitte

#

Wo

ruby sparrow
#

er hat respond geschrieben bei button

fresh fable
#

ich habe keine buttons

ruby sparrow
#

Denn send doch code

vocal wedge
#
guilds_count = len(self.guilds)
        guilds = self.guilds
        count = 1

        print(f"{colorama.Fore.WHITE}[{colorama.Fore.RED}INFO{colorama.Fore.WHITE}] {colorama.Fore.RESET} DisPost on {colorama.Fore.RED}{guilds_count}{colorama.Fore.RESET} Servers:")
        for guild in guilds:
            print(f"{colorama.Fore.WHITE}[{colorama.Fore.BLUE}{count}{colorama.Fore.WHITE}] {colorama.Fore.RESET}{guild.name} ({colorama.Fore.RED}{guild.id}{colorama.Fore.RESET})")
            count += 1

So okay oder kann man den auch noch an einer Stelle verbessern?

ruby sparrow
#

Ist ok

vocal wedge
odd kiteBOT
ruby sparrow
#

Dass ich nicht dein Code wo der Fehler ist

fresh fable
#

wo ist denn der fehler?
Ich weiß es ja net

ruby sparrow
#

Wo hast du ein button geschriebenpeepothink

fresh fable
#

habe keine buttons

ruby sparrow
#

Doch hast du

vocal wedge
vocal wedge
ruby sparrow
#

Ja ?

vocal wedge
ruby sparrow
ruby sparrow
vocal wedge
#
import discord
import ezcord
import yaml
import colorama

with open("lang/embeds/de.yaml", encoding="utf-8") as file:
    de = yaml.safe_load(file)
with open("lang/commands/cmd.yaml", encoding="utf-8") as file:
    lang = yaml.safe_load(file)
class Bot(ezcord.Bot):
    def __init__(self):
        super().__init__(intents=discord.Intents.all(), language="en")

        post_count = 0

        self.load_cogs()

        guilds_count = len(self.guilds)
        guilds = self.guilds
        count = 1

        print(f"{colorama.Fore.WHITE}[{colorama.Fore.RED}INFO{colorama.Fore.WHITE}] {colorama.Fore.RESET} DisPost on {colorama.Fore.RED}{guilds_count}{colorama.Fore.RESET} Servers:")
        for guild in guilds:
            print(f"{colorama.Fore.WHITE}[{colorama.Fore.BLUE}{count}{colorama.Fore.WHITE}] {colorama.Fore.RESET}{guild.name} ({colorama.Fore.RED}{guild.id}{colorama.Fore.RESET})")
            count += 1


if __name__ == "__main__":
    bot = Bot()

    bot.localize_commands(lang, "en-US")

    bot.run()
fresh fable
ruby sparrow
ruby sparrow
ruby sparrow
vocal wedge
ruby sparrow
#

ja

vocal wedge
#

Okay

#

Wieso kann ich da keinen f string raus machen?

fresh fable
ruby sparrow
fresh fable
#

Weil kann ja einfach mit VS Code alle Dateien durchsuchen lassen

vocal wedge
#

Sonst wird das ja alles als Text geprinted.

ruby sparrow
# vocal wedge Muss ích ja für colorama?
import discord
import ezcord
import yaml
import colorama

with open("lang/embeds/de.yaml", encoding="utf-8") as file:
    de = yaml.safe_load(file)
with open("lang/commands/cmd.yaml", encoding="utf-8") as file:
    lang = yaml.safe_load(file)

class Bot(ezcord.Bot):
    def __init__(self):
        super().__init__(intents=discord.Intents.all(), language="en")

    async def on_ready(self):
        post_count = 0

        self.load_cogs()

        guilds_count = len(self.guilds)

        print(f"{colorama.Fore.WHITE}[{colorama.Fore.RED}INFO{colorama.Fore.WHITE}] {colorama.Fore.RESET} DisPost on {colorama.Fore.RED}{guilds_count}{colorama.Fore.RESET} Servers:")
        for index, guild in enumerate(self.guilds, start=1):
            print(f"{colorama.Fore.WHITE}[{colorama.Fore.BLUE}{index}{colorama.Fore.WHITE}] {colorama.Fore.RESET}{guild.name} ({colorama.Fore.RED}{guild.id}{colorama.Fore.RESET})")

if __name__ == "__main__":
    bot = Bot()

    bot.localize_commands(lang, "en-US")

    bot.run()```
fresh fable
#

Damit ich einen button habe kann muss ja irgend etwas im Code stehen und das kann VS Code automatisch aus allen dateien suchen

ruby sparrow
#

Guck auf dem error

#

Such nach discord.utils.copy_doc

vocal wedge
fresh fable
fierce dove
fresh fable
#

@ruby sparrow Wenn ich nach respond suche kommt das alles

fresh fable
#

bin ich

ruby sparrow
#

zeig mal den code

fresh fable
#
import discord


from discord.ext import commands
from discord.commands import slash_command

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

#--------------------------------------------------------------------------------------------------------------------#
        

@slash_command(description="🦊 x ʟᴀꜱꜱ ᴅɪʀ ᴅᴀꜱ ʜᴇʟᴘ ᴇᴍʙᴇᴅ ᴀɴᴢᴇɪɢᴇɴ!")
async def help(
        self,
        ctx:discord.ApplicationContext
    ):
        
        embedImg = discord.Embed()

        embedImg.set_image(url="https://cdn.discordapp.com/attachments/1223227226238222398/1223227288628232272/Commands.png?ex=66191630&is=6606a130&hm=2211e4207ff49e9dee941bedfb3cc1c1a171f18dd67a389d21b0dc821995147b&")
        



        embedTxt = discord.Embed()

        embedTxt.add_field(name="", value="", inline=False)
        embedTxt.add_field(name="", value="\n\u200b\n\u200b", inline=False)
        embedTxt.add_field(name="", value="", inline=False)

        embedTxt.set_foother(text="Bot created by FeuerFuchs")


        await ctx.respond(embeds=[embedImg, embedTxt])



#--------------------------------------------------------------------------------------------------------------------#


def setup(bot):
    bot.add_cog(Help(bot))
vocal wedge
#

Habe alles Probiert

vocal wedge
# native inlet ```py async def on_member_update(self, before, after): if before.premium_sin...

So? ```py
from discord.ext import commands
import ezcord
import discord

class BoosterMsg(ezcord.Cog):
@commands.Cog.listener()
async def on_member_update(self, before, after):
if before.premium_since is None and after.premium_since is not None:
# booster_role_id = //
# member = interaction.user
booster_channel = await self.bot.fetch_channel(1219294234872516618)
booster_embed = discord.Embed(
description="# :nitro_flex: Danke für deinen Boost!\n"
f"> Danke, dass du unseren Server {after.guild.name} geboostet hast.",
colour=0xffb5fc
)
# await member.add_roles(birthday_role)
await booster_channel.send(f"{after.user.mention}")
await booster_channel.send(embed=booster_embed)

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

native inlet
#

Warum schickst du zwei nachrichten?

vocal wedge
vocal wedge
vocal wedge
#

Also content anstatt message?

native inlet
#

Es gibt kein "message"-parameter

native inlet
vocal wedge
#

Okay

vocal wedge
#
Ignoring exception in view <ManageTicket timeout=None children=4> for item <Button style=<ButtonStyle.danger: 4> url=None disabled=True label='⁘ Close ⁘' emoji=None row=None>:
Traceback (most recent call last):
  File "C:\Users\lenna\OneDrive\Desktop\System\.venv\Lib\site-packages\discord\ui\view.py", line 426, in _scheduled_task
    await item.callback(interaction)
  File "C:\Users\lenna\OneDrive\Desktop\System\cogs\embedCmd.py", line 262, in button_close
    bot=self.bot,
        ^^^^^^^^
AttributeError: 'ManageTicket' object has no attribute 'bot'

Was mache ich dann da?

async def button_close(self, button, interaction):
  today = datetime.now()
            formatted_date = today.strftime("%d.%m | %H:%M")
            transcript = await chat_exporter.export(
                interaction.channel,
                limit=450,
                bot=self.bot,
                tz_info="Europe/Berlin"
            )
native inlet
vocal wedge
#

Kann mir jemand Helfen, ich bekomme den User nicht gegettet um ihm ein Transcrpit zu senden.

native inlet
#

Code & Error

vocal wedge
# native inlet Code & Error

Gibts nicht, ich habe halt bei einem Close Button das das Transcript an den Ersteller des Tickets gesendet wird, aber der User selber kann das Ticket ja nicht Schließen.

native inlet
#

Ich kann damit nicht viel anfangen

vocal wedge
native inlet
#

Mach

vocal wedge
#

Oky

ruby sparrow
# vocal wedge Gibts nicht, ich habe halt bei einem Close Button das das Transcript an den Erst...
@discord.ui.button(label="Close", style=discord.ButtonStyle.blurple, emoji="🔐", row=1, custom_id="close_ticket")
    async def close_ticket(self, button, interaction):
        team_role_id = await db.get_teamrole(interaction.guild.id)
        if team_role_id in [role.id for role in interaction.user.roles]:
            server_id = interaction.guild.id

            embed = discord.Embed(
                title="Close Ticket",
                description="Deleting Ticket in less than `5 Seconds`... ⏳\n\n"
                            "_If not, you can do it manually!_",
                color=discord.Color.dark_red()
            )

            await interaction.response.edit_message(view=self)
            await interaction.followup.send(embed=embed)

            transcript = await chat_exporter.export(interaction.channel)

            if transcript is None:
                return

            transcript_file = discord.File(
                io.BytesIO(transcript.encode()),
                filename=f"transcript-{interaction.channel.name}.html",
            )
            log_channel_id = await db.get_logs_channel(server_id)
            log_channel = interaction.client.get_channel(log_channel_id)

            message = await log_channel.send(file=transcript_file)
            link = await chat_exporter.link(message)

            topic = interaction.channel.topic
            ticket_owner_name = topic.split("Ticket for ")[1].split(".")[0]

            ticket_owner = discord.utils.get(interaction.guild.members, name=ticket_owner_name)

            if ticket_owner:
                userembed = discord.Embed(
                    title="Your ticket has been closed",
                    description=f"Your ticket has been closed.\n"
                                f"{interaction.channel.name}\n"
                                f"You can find the transcript [here]({link}).",
                    color=discord.Color.blue(),
                )
                await ticket_owner.send(embed=userembed)

            await asyncio.sleep(5)
            await interaction.channel.delete()
        else:
            embed = discord.Embed(
                title="Unauthorized",
                description=f"You do not have the necessary role  close tickets.",
                color=discord.Color.red()
            )
            await interaction.response.send_message(embed=embed)```
native inlet
vocal wedge
#

ticket_owner_name = topic.split("Ticket for ")[1].split(".")[0] Was macht das?

native inlet
ruby sparrow
#

ja

#

danke

native inlet
# ruby sparrow ja

Und nächstes mal kannst du auch einfach erklären und nicht random nh Code schicken ohne was dazu zu sagen!!

ruby sparrow
#

ja ok

vocal wedge
#

Meine Ticket Topic sieht so aus, wie bekomme ich da den User raus?

native inlet
#

Würde aber nicht empfehlen es so zu machen

#

am besten mit einer datenbank.
Guild Id, Channel Id und Member ID zu diesem Channel speichern.

Und dann einfach abfragen anhand der Channel ID wer der Ticket Owner ist

graceful fiber
graceful fiber
#

Aber db ist auf Dauer sinnvoller

graceful fiber
vocal wedge
graceful fiber
#

Top

vocal wedge
limpid wolf
placid trellis
vocal wedge
placid trellis
dusty tiger
ruby sparrow
#

wieso geht nicht , ephemeral=True ```py
await ctx.respond("The setup was completed successfully", ephemeral=True)

dusty tiger
#

fehler?

ruby sparrow
vocal wedge
dusty tiger
vocal wedge
dusty tiger
#

was ist die Main class

#

vom cog?

vocal wedge
#

Wie meinst du?

dusty tiger
#

in welcher klasse?

#

In deiner Bot Klasse?

#

oder wo

vocal nymph
#

Hey, ich habe ein kleines Problem mir den Dashboard tutorials . Ich bin gerade dabei den Bot zu erstellen.
Doch nach dem genauen befolgen des tutorials und nochmals überprüfen weiß ich immer noch nicht weiter.
Ich habe die Serverroute erstellt und wollte den Bot starten . Doch ich bekam den Fehler raus das "self" fehlt . ich habe jedoch alles nach dem Video gemacht bzw. denke ich das . Aber ich muss ja ein Fehler gemacht haben weil sonst würde es ja gehen . Wäre sehr freundlich wenn mir einer helfen könnt.

code und fehler kommen jz:

vocal wedge
vocal nymph
#

habe denn token mit einer .env datei geladen der íst dann nd in der main

#

oder meinst du ein anderen Token

vocal wedge
#

Also erstes solltest du in Zeile 8 anstatt deafault() -> all() machen.

vocal nymph
vocal wedge
native inlet
vocal wedge
native inlet
vocal wedge
#

Aso, wusste ich nicht.

vocal nymph
#

die meinst du oder?

vocal wedge
#

Wozu hast du denn?

vocal nymph
#

das war so in dem Tutorial damit der bot und das dashboard miteiner funktionieren

vocal wedge
vocal nymph
#

Ja genau, aber ich weiß nicht wo ich es einbauen soll

vocal wedge
#

Versuch mal hinter dem self, bot oder Client zu schreiben.

vocal nymph
#

Okay ein Moment .

#

habe das jz anstelle des unterstriches Client oder Bot probiert , war aber trotzdem der gleiche fehler .

vocal wedge
#

Dann weiß ich es leider auch nicht, tut mir leid. Bestimmt kann dir aber jemand anderes Helfen.

vocal nymph
#

Okay, trotzdem danke

vocal wedge
#

Gerne

native helm
#

Hey Zusammen Könnte mir einer helfen Mit termius

vocal wedge
#

Jo, was los?

native helm
#

Ich weiß nicht wo ich Meinen Public Key Hinzufügen soll

#

ich habe bei meinem hoster meinen Public key hin gemacht

vocal wedge
#

Von Terminus?

native helm
#

wie meinst du

vocal wedge
#

Hast du dir schon einen Termius Key erstellt?

native helm
#

Nein

vocal wedge
#

Dann solltest du das ersteinmal machen

native helm
#

Nein ich mache das mit Puttygen

vocal wedge
#

Achso, ja Dan mach das so.

native helm
#

Habe dir mal was geschickt

#

muss ich nicht den Privat key in termius machen ?

vocal wedge
#

Schaue sofort

native helm
#

habe passwort Und alles ausgeblendet

native helm
#

@vocal wedge Geht schon Habe es jetzt mit Putty gemacht

vocal wedge
native helm
#

lade grade das panel herunter und gleich ein them

upper adder
#

Sagt mal, kann man von einem SelectMenu aus auch mit einem Modal responden?

vocal wedge
#

Musst ja erstmal ein modal bilden und dann normal responsen. Modals kannst du auch bei Buttons, Slash Commands, Apps und ein paar anderen wegen responden. Das einzige was meines Wissens nach nicht geht ist ein modal auf eine Message zurückzugeben

upper adder
#

I know.
War mir nur nicht sicher, ob das auch bei einem SelectMenu geht.

limber crow
upper adder
#

Ich weiß schon wie ich das mache

#

und wenn du mal meinen Namen anschaust, merkst du, dass ich eine andere Lib nutze ^^

dusty tiger
#

kann mir da jmd helfen?

vocal wedge
dusty tiger
#

auch schon bei github mit @develop und so

vocal wedge
dusty tiger
#

yo

vocal wedge
#

Uff

empty plaza
#

wie kann ich ein bild in mein canva hinzufügen mit easy_pil

vocal wedge
empty plaza
vocal wedge
vocal wedge
# empty plaza von welcher lib ist ImageElement

Probiere das:

from PIL import Image

# Öffne ein Bild
image = Image.open("beispielbild.jpg")

# Bearbeite das Bild
image_resized = image.resize((width, height))

# Speichere das bearbeitete Bild
image_resized.save("bearbeitetes_bild.jpg")
empty plaza
#

danke

vocal wedge
#

Gerne

#

Ich hoffe es Funktioniert

hard pivot
#

Hallo weiß wer wie ich es mache das nach dem ich den embed editiere das die file dann auch verschwindet?

@commands.slash_command(name = "help", description = "Do you need a small overview!")
    async def help(self, ctx:discord.ApplicationContext):
            
        emb = discord.Embed(description=f"""# {Emojis.settings_emoji} Help menu
            {Emojis.dot_emoji} Here you can see all the commands that {bot.user.name} has
           Please use the Buttons below to explore the\ncorresponding commands\n### Table of contents:
> {Emojis.dot_emoji} Mod commands
> {Emojis.dot_emoji} Fun commands
> {Emojis.dot_emoji} Level System commands part 1
> {Emojis.dot_emoji} Level System commands part 2

            **Bot links:**
            {Emojis.dot_emoji} Support server: 
            {Emojis.dot_emoji} Githup: 
            """, color=bot_colour)
        
        file = discord.File('assets/images/shiro_help_banner.png', filename='shiro_help_banner.png')
        emb.set_image(url=f"attachment://shiro_help_banner.png")
        await ctx.respond(embed=emb, view=HelpMenüSelect(), file=file)
native inlet
#

Laut internet

#

oder attachment=[]

hard pivot
native inlet
mighty lagoon
#

Meine Commands laden nicht wenn ich denn bot auf mehreren server habe

mighty lagoon
#

knnst du kurz call

tawdry leaf
#

ne

digital crypt
#

Jungs es ist 2 Uhr

tawdry leaf
#

und?

digital crypt
#

Wir bei PG

tawdry leaf
#

#💬・chat ?

jaunty jasper
unkempt karma
#

oPTION hat in meinen augen ein argument. warum dann der fehler?

limber crow
hard pivot
#

Weiß wer wie ich das machen das die so "clean" sind also alle immer die gleiche länge haben (die schwarzen felder)

mighty lagoon
native inlet
native inlet
vocal wedge
#

Wie kann ich alle Member die eine Rolle haben in einem Count + 1 zählen?

news_ping_count = 0
            for role in interaction.guild.users:
                if role.id == 1222901589526974605:
                    news_ping_count += 1

Error:

Ignoring exception in view <SelectRoleOption timeout=None children=2> for item <Select type=<ComponentType.string_select: 3> placeholder='⁘ Wähle eien Option' min_values=1 max_values=1 options=[<SelectOption label='→ Level Rollen' value='→ Level Rollen' description='× Siehe dir unsere Aktivitäts Rollen an.' emoji=None default=False>, <SelectOption label='→ Belohnungs Rollen' value='→ Belohnungs Rollen' description='× Dies sind unsere Belohnungs Rollen!' emoji=None default=False>, <SelectOption label='→ Hobby Rollen' value='→ Hobby Rollen' description='× Hobbys die du Auswählen kannst.' emoji=None default=False>, <SelectOption label='→ Benachrichtigungs Rollen' value='→ Benachrichtigungs Rollen' description='× Rolle für alle Benachrichtigungen.' emoji=None default=False>] channel_types=[] disabled=False>:
Traceback (most recent call last):
  File "C:\Users\lenna\OneDrive\Desktop\System\.venv\Lib\site-packages\discord\ui\view.py", line 426, in _scheduled_task
    await item.callback(interaction)
  File "C:\Users\lenna\OneDrive\Desktop\System\cogs\embedCmd.py", line 391, in select_role
    for role in interaction.guild.users:
                ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Guild' object has no attribute 'users'
native inlet
#

Bei "Guild" gibt es keine "users"

native inlet
native inlet
vocal wedge
native inlet
#

Schau bitte erstmal in den Doc's nach

#

Da findest du sogut wie immer die Lösung

vocal wedge
#

Okay, habe dazu iwi nichts gefunden.

native inlet
#

Musst da nur nach discord.Guild suchen und dann such einfach das was am ähnlichsten für users is

jaunty jasper
odd kiteBOT
quasi frost
#

hm keine docs für ezcord

odd kiteBOT
quasi frost
#

nvm

native inlet
quasi frost
#

sorry

vocal wedge
#

Verstehe das nicht.

odd kiteBOT
quasi frost
#

Ich hab mal ne Frage, wie heißt die permissions im code für timeout member
ich hab timeout_members und timeout_member versuch aber das gibt es nicht

odd kiteBOT
native inlet
#

@quasi frost

quasi frost
#

danke

cloud prawn
#

Wie kann ich jetzt machen das, das Embed jede Minute gesendet wird??
Code:

    async def livestock(self, ctx):
        num_lines = self.count_lines()
        embed = discord.Embed(
            title="Stock",
            description=f"""**__1 Month Stock__** :
            ![Box](https://cdn.discordapp.com/emojis/1224421457442902118.webp?size=128 "Box") Tokens → {num_lines}""",
            color=discord.Color.blue()
        )
        await ctx.channel.send(embed=embed)```
native inlet
#
@tasks.loop(minute=1)
async def deine_lool(self):
    ...
cloud prawn
#

habs danke

unkempt karma
#

eyoo. wie mach ich dass damit statt 1000 bekomme. einfach 1.000 bekomme? also einen punkt pro tausender

native inlet
#

Das sollte man aber wissen

quasi frost
#

den ich suche nach den timeout permissions

native inlet
# odd kite

@quasi frost das sind die permissions dafür!

quasi frost
#

also:

@discord.default_permissions()
native inlet
#

moderate_members

unkempt karma
quasi frost
native inlet
quasi frost
#

ahhh

native inlet
quasi frost
#

nicht gesehen sorry

lofty rock
cloud prawn
lofty rock
#

An 1m boosts

cloud prawn
#

das soll halt zeigen wei viele Tokens in stock sind

graceful fiber
cloud prawn
#

des andere ist was anderes

graceful fiber
#

auch sehr fragwürdig

novel ore
#

Ich habe in meinem Code ein Channel Select. Dort habe ich auch public_threads Kanäle aktiviert. Aber trotzdem werden keine public_thred Kanäle angezeigt. Ich bin auch mal alle Kanälle durchgegangen und hab es mir geprintet (Bild 2). Dort sieht man das einige Kanäle vorhanden sind und auch public_thread sind

native inlet
#

Also so

novel ore
#

Werden auch nicht gefunden wenn ich den Namen eingebe

native inlet
#

Hat der Bot genug rechte?

novel ore
#

Ja

limpid wolf
#

Schick mal die Liste die kommt wenn du pip freeze eingibst

#

Und bitte achte darauf dass du deinen Token nicht leakst. Ich hab deine Nachricht jetzt gelöscht aber bitte resette deinen Token trotzdem @rough karma

viscid lake
#

was isn das

novel ore
clever parrot
native inlet
#

Für ezcord ist die Version aufjedenfall veraltet

clever parrot
#

Pycord supportet noch 3.8

limpid wolf
rough karma
#

ah oke warte

quasi frost
#

Wie kann ich custom emojis in einen code machen
und muss der emoji auf meinem server sein?

cloud prawn
native inlet
#

Du kannst Emojis so abschicken: <name:id>

quasi frost
jaunty jasper
#

Weiß jnd wie man diese Apps codet? Also wenn man lange auf eine Nachricht drück

odd kiteBOT
#
    @message_command(name="Zeige die ID")
    async def get_id(self, ctx, message):
        await ctx.respond(f"Hier ist die Message ID: {message.id}")```
native inlet
#

@jaunty jasper

limpid wolf
# rough karma

du sollst das in der konsole eingeben und nicht in deinen code schreiben

rough karma
#

hab ich doch

#

aber ich hab es schon gefixt

#

timo hat mir geholfen

fierce dove
jaunty jasper
jaunty jasper
unkempt karma
native inlet
unkempt karma
#

habs fixed

#

es lag an daran dasss ich slashcommandgroup asls group definierte

tawdry leaf
hard pivot
#

Weiß wer wie ich das machen das die so "clean" sind also alle immer die gleiche länge haben (die schwarzen felder).

lucid furnace
#

Ich weiss nd wieso aber ich krieg missing permissions
error

Traceback (most recent call last):
  File "C:\Users\Arien\Documents\Code\Python\MainBot\venv\Lib\site-packages\discord\commands\core.py", line 131, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Arien\Documents\Code\Python\MainBot\venv\Lib\site-packages\discord\commands\core.py", line 1009, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Users\Arien\Documents\Code\Python\MainBot\cogs\kick.py", line 11, in kick
    await ctx.user.kick(reason=reason)
  File "C:\Users\Arien\Documents\Code\Python\MainBot\venv\Lib\site-packages\discord\member.py", line 713, in kick
    await self.guild.kick(self, reason=reason)
  File "C:\Users\Arien\Documents\Code\Python\MainBot\venv\Lib\site-packages\discord\guild.py", line 3040, in kick
    await self._state.http.kick(user.id, self.id, reason=reason)
  File "C:\Users\Arien\Documents\Code\Python\MainBot\venv\Lib\site-packages\discord\http.py", line 367, in request
    raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\Arien\Documents\Code\Python\MainBot\venv\Lib\site-packages\discord\bot.py", line 1130, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "C:\Users\Arien\Documents\Code\Python\MainBot\venv\Lib\site-packages\discord\commands\core.py", line 376, in invoke
    await injected(ctx)
  File "C:\Users\Arien\Documents\Code\Python\MainBot\venv\Lib\site-packages\discord\commands\core.py", line 139, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: Forbidden: 403 Forbidden (error code: 50013): Missing Permissions
#

code

import discord
import ezcord
from discord.ext import commands
from discord.commands import slash_command

class Kick(ezcord.Cog):


    @slash_command()
    async def kick(self, ctx, user: discord.User, reason: str = "No reason"):
        await ctx.user.kick(reason=reason)
        embed = discord.Embed(
            title="User kick",
            description=f"Kicked {user.name},"
                        f"\nReason {reason}!",
            color=discord.Color.green())
        await ctx.respond(embed=embed)



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

und rechte hat der bot

lucid furnace
native inlet
#

ctx.user.kick -> user.kick

lucid furnace
#

oh

native inlet
lucid furnace
#

doch

lucid furnace
#

aha jetzt gehts

rough karma
#

es geht um {guild_name} also mein bot geht an und es kommen auch keine errors, aber wenn ein user joint wird garnichts mehr geprinted. kann jemand weiterhelfen?

native inlet
rough karma
#

probiere es aus

#

meinst du da raus?

native inlet
#

Ja aus der function

rough karma
#

also da nh

native inlet
rough karma
#

welche function

#

rough karma
#

wo soll ich es jetzt raus machen ich verseh es nicht

#

bin noch anfänger

native inlet
rough karma
#

ja geht aber nicht

native inlet
#

Sondern erstmal mit den Standards

rough karma
native inlet
native inlet
rough karma
native inlet
#

Lern erstmal die Standards, das ist sozusagen der leichteste Fehler

rough karma
rough karma
native inlet
native inlet
#

Also hoffe ich mal weißt du jetzt was zutun ist

rough karma
#

es raus machen

native inlet
#

Weil das das erste ist, was man mit python lernt

rough karma
#

#

achso

native inlet
# rough karma es raus machen

Denk mal bisschen nach.

Wenn du im on_member_join kein ctx brauchst, aber ein member, dann könntest du ja probieren ctx mit member zu ersetzten

#

Hier findest du alle Attributes und Methoden die du mit discord.Member nutzen kannst

rough karma
#

danke

native inlet
#

Zeig mal wie dein Code gerade aussieht

rough karma
native inlet
#

wieso hast du es jetzt zu ctx umbenannt??

rough karma
#

ich sollte doch ctx mit member ersetzen

native inlet
#

Aber doch nicht da

rough karma
#

wo dann?

native inlet
#

...

rough karma
#

achso

#

warte probiere

native inlet
#

Ne ich lass es.

Bitte lern erstmal das Grundlegende von python

rough karma
#

hat geklappt

#

und ich lerne was dabei, in dem mir andere menschen meine probleme lösen:)

native inlet
#

Dennoch sollte man sich erstmal mit der Sprache an sich beschäftigen, bevor man direkt in sowas einsteigt

limpid wolf
native inlet
limpid wolf
#

Jo klar, war damals wahrscheinlich auch nicht das schlauste von mir aber ich habs geschafft :D also möglich ist es schon aber es gibt deutlich einfachere wege

pulsar sundial
#

import chat_exporter
ist rot unterstrichen was muss ich installen das es weg geht?

fierce dove
#

pip Install chat-exporter @pulsar sundial

pulsar sundial
#

hab ich geht trtz nicht

fierce dove
#

Hmmm

pulsar sundial
fierce dove
#

Mach Mal pip freeze

pulsar sundial
#

hab

fierce dove
#

Schick Mal Bild

pulsar sundial
fierce dove
#

Ok

#

Warum geht es nicht

pulsar sundial
#

idk

lucid furnace
fierce dove
#

Hmmm

lucid furnace
unkempt karma
#

gibt es eig eine methode das server spezifische nitro banner eines users zu bekommen? finde in den docs nur immer user.banner

native inlet
native inlet
unkempt karma
worldly phoenix
#

wie geht das nochmal?

lofty rock
worldly phoenix
# lofty rock

tut mir leid habe mich falsch ausgedrückt meine beim bot?

lucid furnace
urban glen
#

Ist es möglich für den bot zu sehen welche permission in den Server Einstellungen für die Integration gemacht wurden?

rough karma
#

also der bot geht an, und es kommen auch keine error aber der /help command geht nicht also er wird garnicht gefunden kann jemand helfen

native inlet
#

Dein slash command ist gerade außerhalb von der klasse

rough karma
#

ah danke

cloud cedar
native inlet
#

Man kann commands pingen

rough karma
#

was bringt das

native inlet
#

</docs:1141732925709230183>

#

So z.B.

odd kiteBOT
native inlet
rough karma
#

hab seit gestern mehr gelernt

native inlet
#

Wie gelernt??

#

Das hat nix mit Programmieren zutun

#

Das ist ein feature von discord

rough karma
#

#

discord

#

achso

native inlet
#

ja???

rough karma
#

jetzt

rough karma
#

kann jemand helfen der command funktioniert nicht

graceful fiber
#

Schau einfach nochmal an wo du embed definierst

graceful fiber
#

Hast du mittlerweile schon?

urban glen
#

Nee

#

Ich meine kann er sehen welche Einstellungen für den eigenen /test Command z.B. eingestellt wurden so

graceful fiber
#

Achso, das ist was anderes als für Frage oben 😅

graceful fiber
restive herald
#
    @commands.Cog.listener()
    async def on_voice_state_update(self, member, before, after):

Jmd ne Idee warum der nd ausgelöst wird?
Cog wird geladen, Intents sind aktiviert

native inlet
#

Denn du benötigst die Intents voice_states

restive herald
#

und hab sie auch nochmal extra aktiviert

native inlet
#

oke

native inlet
odd kiteBOT
restive herald
# native inlet Wie sieht denn der weitere `on_voice_state_update` Code aus?
    @commands.Cog.listener()
    async def on_voice_state_update(self, member, before, after):
        print(0)
        if member.id == self.bot.user.id:
            return
        print(1)
        if before.channel is None and after.channel is not None and after.channel.id == 1215017931188998157:

            await member.send("Willkommen im Support-Channel! Ein Supporter wird sich gleich um dich kümmern.")
            print(2)
            guild = member.guild
            channel1 = guild.get_channel(1215018155877863516)
            embed = discord.Embed(
                title="Support",
                description=f"{member.mention} hat den Support betreten.",
                color=discord.Color.green()
            )
        await channel1.send(embed=embed,view=SupportButton(user=member))
        after.channel.connect()
        after.channel.play(discord.FFmpegPCMAudio("join.mp3"))

urban glen
#

Hmm

restive herald
#

wird aber halt gar nichts getriggert

urban glen
#

Hab mich wohl unklar ausgedrückt

graceful fiber
# urban glen Ehrlich?

Hab verstanden welche guild permission die Integration hat und nicht pro Command, aber kann's auch falsch verstanden haben

urban glen
#

Achso ja ich meine pro Command

#

Ich schau mal durch die pycord docs danach

graceful fiber
#

Also gibt es generell

#

Ansonsten vllt direkt an die API fragen

restive herald
#

Hier nochmal mit Formatierung, das on_ready wird ausgeöst, on_voice_state_update nicht

#

und ja, Serport is absichtlich so geschrieben

restive herald
graceful fiber
#

Sieht auch alles richtig aus

restive herald
graceful fiber
#

Was wars?

restive herald
#

lag daran, dass ich nen 2. on_voice_state_update event drin hatte .-.

graceful fiber
#

Ah na gut, das erklärt einiges 😅

restive herald
#

dann hab ich jetzt aber noch eine frage, wie kann ich etwas in dem after channel abspielen lassen? :d

restive herald
graceful fiber
#

Müsste das eigentlich sein

#

Und dann ganz normal über play

restive herald
#
            after.channel.connect()
            after.channel.play(discord.FFmpegPCMAudio("join.mp3"))

hab das so drin, funkt aber nd

graceful fiber
#

Connecten geht aber?

restive herald
#

nope, der joint nd hab ich gerade gemerkt

#

kommt aber auch kein error beim connecten

graceful fiber
#

Aber eigentlich auch eher sowas wie

voice_client=after.channel.connect()
voice_client.play(discord.FFmpegOderSoKaGenauWieDasHeißt)

#

Kannst du sonst nochmal deinen Code schicken?

graceful fiber
restive herald
graceful fiber
#

Awaite das mal

#

Beides

#

Bzw vermutlich das play nicht

#
@commands.Cog.listener()
async def on_voice_state_update(self, member, before, after):
    if member.id == self.bot.user.id:
        return

    if before.channel is None and after.channel is not None and after.channel.id == 1215017931188998157:
        await member.send("Willkommen im Support-Channel! Ein Supporter wird sich gleich um dich kümmern.")

        guild = member.guild
        channel1 = guild.get_channel(1215018155877863516)

        embed = discord.Embed(
            title="Support",
            description=f"{member.mention} hat den Support betreten.",
            color=discord.Color.green()
        )
        await channel1.send(embed=embed, view=SupportButton(user=member))

        voice_client = await after.channel.connect()

        audio_source = discord.FFmpegPCMAudio("join.mp3")
        voice_client.play(audio_source)

        while voice_client.is_playing():
            await asyncio.sleep(1)

        await voice_client.disconnect()```
#

Probier mal so

restive herald
#
voice_client = await after.channel.connect()
            voice_client.play(discord.FFmpegPCMAudio("join.mp3"))

Hatte jtzt so, jtzt kam aber das:

Ignoring exception in on_voice_state_update
Traceback (most recent call last):
File "C:\Users\User\enable\venv\Lib\site-packages\discord\client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "C:\Users\User\enable\cogs\n.py", line 74, in on_voice_state_update
voice_client.play(discord.FFmpegPCMAudio("join.mp3"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User\enable\venv\Lib\site-packages\discord\player.py", line 312, in init
super().init(source, executable=executable, args=args, **subprocess_kwargs)
File "C:\Users\User\enable\venv\Lib\site-packages\discord\player.py", line 165, in init
self._process: subprocess.Popen = self._spawn_process(args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User\enable\venv\Lib\site-packages\discord\player.py", line 185, in _spawn_process
raise ClientException(f"{executable} was not found.") from None
discord.errors.ClientException: ffmpeg was not found.
Exception ignored in: <function AudioSource.del at 0x0000020807B7D940>
Traceback (most recent call last):
File "C:\Users\User\enable\venv\Lib\site-packages\discord\player.py", line 115, in del
self.cleanup()
File "C:\Users\User\enable\venv\Lib\site-packages\discord\player.py", line 245, in cleanup
self._kill_process()
File "C:\Users\User\enable\venv\Lib\site-packages\discord\player.py", line 194, in _kill_process
proc = self._process
^^^^^^^^^^^^^
AttributeError: 'FFmpegPCMAudio' object has no attribute '_process'

#

also der kanns nd abspielen halt

graceful fiber
#

Immerhin gejoint 😅

restive herald
#

xD

graceful fiber
#

Ffmpeg ist nicht installiert

#

Oder der Bot kann nicht auf den Pfad zugreifen

restive herald
#

hm, das mit path könnte sein, hatte extra das runtergeladen

graceful fiber
#

Aber der Code stimmt an sich jetzt

restive herald
graceful fiber
#

Schau mal ob ffmpeg in PATH drin ist

restive herald
graceful fiber
#
ffmpeg_path = os.path.join(os.getcwd(), "bin", "ffmpeg")
os.environ["PATH"] += os.pathsep + os.path.dirname(ffmpeg_path)```
#

Also musst halt os importieren

#

Aso, ist nicht im bot Ordner drin?

restive herald
#

also in den systemvariablen isses im PATH

graceful fiber
#

Hast du den Rechner seitdem neu gestartet?

#

Der PATH aktualisiert sich immer erst nach einem Neustart eigentlich

#

Ansonsten musst du halt im bot über os wie im Code oben dem bot Zugriff geben quasi

#

Sag mir mal Bescheid wenn's geklappt hat 🙂

restive herald
#

ich glaube, ich sollte nd mehr um 00:00 oder später iwas am pc machen

#

das bringt nur unglück

rough karma
#

?*

fierce dove
#

kann mann die youtube api mit autocomplete verbinden

graceful fiber
graceful fiber
# fierce dove kann mann die youtube api mit autocomplete verbinden
youtube = build('youtube', 'v3', developerKey=os.environ['YOUTUBE_API_KEY'])

@commands.command()
async def autocomplete(ctx, *, query):
    request = youtube.search().list(
        part='snippet',
        q=query,
        type='video',
        maxResults=5
    )
    response = request.execute()
    suggestions = [item['snippet']['title'] for item in response['items']]
    await ctx.send("\n".join(suggestions))```

Sowas meinst du?
graceful fiber
#

Musst du halt nur noch in dem autocomplete machen dann, aber theoretisch geht's

fierce dove
#

Jo

tired hearth
#

Weis wer warum das geht (Python ist instaliert)

PS C:\Users\julian\Desktop\Dashboard> pip install -r r.txt
pip : Die Benennung "pip" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad 
korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
+ pip install -r r.txt
+ ~~~
    + CategoryInfo          : ObjectNotFound: (pip:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
 
PS C:\Users\julian\Desktop\Dashboard> ```
ruby sparrow
tired hearth
tired hearth
#

@ruby sparrow

ruby sparrow
#

kannst du call ?

#

@tired hearth

tired hearth
#

vlt. nacher

ruby sparrow
#

send denn bilder

#

wie weit du bist

tired hearth
ruby sparrow
#

jerzt deine windons aussuchen

tired hearth
#

Ich habe die windows 64bit version genommen

#

die @ruby sparrow

ruby sparrow
#

jerzt ruder laden

tired hearth
#

hab

ruby sparrow
#

jetzt öffnen

#

hast du ?

#

@tired hearth

tired hearth
ruby sparrow
#

jerzt uninstall

#

noch mal

tired hearth
#

okay hab

ruby sparrow
#

jerzt neu öffen

tired hearth
#

okay

#

muss erstmal deinstalieren

ruby sparrow
#

send mal bild

#

bitte

#

erst was dakommt

tired hearth
#

okay

ruby sparrow
#

ok

#

jerzt warten

tired hearth
ruby sparrow
#

jerzt close

#

und jerzt bild

tired hearth
#

hab

ruby sparrow
#

jerzt öffen

tired hearth
ruby sparrow
#

jerzt das an machen

tired hearth
#

hab

ruby sparrow
#

jerzt install now

tired hearth
#

okay

ruby sparrow
#

jerzt warten

tired hearth
#

okay

#

ist fertig

ruby sparrow
#

jerzt sollte es gehen

tired hearth
#

ich starte mal kurz neu

#

@ruby sparrow

ruby sparrow
#

ok mach das

tired hearth
#

*ist

ruby sparrow
#

Jetzt vc code öffnen und denn dein Python auswählen

tired hearth
ruby sparrow
#

Send Bild🤔

tired hearth
ruby sparrow
#

Bisschen größer vielleicht das man alles sehen kann?

#

🤔

tired hearth
#

Was Größer?

ruby sparrow
#

das Bild

#

Oder ist schon?

tired hearth
#

ist schon

#

@ruby sparrow

ruby sparrow
#

Mach pip install

tired hearth
#

hab

ruby sparrow
#

Und

tired hearth
#

`PS C:\Users\julia\Desktop\Dashboard> pip install -r r.txt
PS C:\Users\julia\Desktop\Dashboard> pip install -r r.txt
PS C:\Users\julia\Desktop\Dashboard>

`

#

es geht

ruby sparrow
#

das freut mich

tired hearth
#

Danke

#

Hast 20 Kekse bekommen xD

ruby sparrow
#

Danke❤