#Allgemeine Hilfe

1 messages · Page 54 of 1

fierce dove
#

Ok

urban glen
#

Dein Fehler tritt ja im Button auf, also so

tawdry leaf
#

stimmt 😅

odd kiteBOT
solid ingot
#

interaction.respond gibt es nur im pycord master branch

tawdry leaf
#

aso

fierce dove
#

Warum zeigen Loaded 9 cogs am un nicht mehr Status.py

@solid ingot

fierce dove
tawdry leaf
#

das hat er doch gesagt das ist schon länger so 🤔

tawdry leaf
#

#💬・chat

#

länger her

fierce dove
#

Ok

#

Es nervt aber

tawdry leaf
#

dann ändere es

tawdry leaf
#

@solid ingot cog datei

fierce dove
tawdry leaf
#

er meint früher waren alle aufgelistet und jz steht nur noch die zahl an cogs da

solid ingot
#

achso, den style kannst du beliebig anpassen

normal sundial
#

naja das beantwortet meine frage nicht aber gut, ich wollte eigentlich wissen wenn ich jetzt noch das icon vom server will ob ich das wegen der for schleife iwi so an das html document übergeben kann. dann warte ich halt ab.

fierce dove
tawdry leaf
#

mt Streusalz und Katzen

#

ist es das @fierce dove

#

musst auf all_cogs machen

solid ingot
# normal sundial naja das beantwortet meine frage nicht aber gut, ich wollte eigentlich wissen we...

achso, naja eben hast du nur versucht auf einen wert im dictionary zuzugreifen, der nicht existiert hat.

wenn du das guild icon haben willst, musst du den link entweder aus der discord API anfrage generieren, oder ihn manuell in das dictionary tun, den du über IPC übergibst. aber du kannst es halt nur rausholen, wenn du es vorher auch reingetan hast.

die erste variante siehst du mit ein bisschen geduld bald auf youtube. für beide varianten ist die grundlage aber dass du genau weißt, wie dictionaries funktionieren.

fierce dove
normal sundial
odd kiteBOT
fierce dove
#

Also bot.load.all_cog

#

@tawdry leaf bot.load_all_cogs

solid ingot
#

load_cogs(log=ezcord.CogLog.all_cogs)

tawdry leaf
tawdry leaf
solid ingot
#

weil du in python nichts nutzen darfst, dass du nicht vorher definiert wurde

#

du kannst es importieren und dann log=all_cogs schreiben @tawdry leaf

tawdry leaf
#

also from ezcord import CogLog 😅

old ore
#

Moin Leute ich habe mal ne frage weiß wer zufällig ob es möglich ist einen check so zu machen das der bot schaut ob ein Prozess mit dem übergebenen name vorhanden ist und wenn ja soll er noch schauen ober er den status online besitzt. Ich habe schon ein bisschen rumprobiert aber finde nichts was funktoniert

vivid sky
viscid lake
vivid sky
viscid lake
viscid lake
# vivid sky Dann liegt es an dir zeig dein pycharm und deine Main.py
import discord 
import ezcord
import os
from dotenv import load_dotenv


bot = ezcord.Bot(discord.Intents.all()
                 ,language="de")





@bot.event
async def on_ready():
    await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.listening, name="Baustelle"))
  


if __name__ == "__main__":
    bot.load_cogs("cogs", subdirectories=True)


load_dotenv()
bot.run(os.getenv("TOKEN"))
vivid sky
#
import discord 
import ezcord
import os
from dotenv import load_dotenv


bot = ezcord.Bot(discord.Intents.all()
                 ,language="de")





@bot.event
async def on_ready():
    await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.listening, name="Baustelle"))
  


def cogs():
    for file in os.listdir(r"cpgs"):
        if file.endswith(".py"):

            extension = file.replace(".py", "")
            try:
                bot.load_extension(f"cogs.{extension}")
                print(f"Load {file[:-3]}.py")
            except Exception as error: 
                print(error)


if __name__ == "__main__":
    cogs()
 


load_dotenv()
bot.run(os.getenv("TOKEN"))

#

versuchs mal so @viscid lake

viscid lake
#

nvm

#

also cog läd aber channel wird nicht erstellt

vivid sky
#

error?

#

channel id gechanged?

viscid lake
#

zero

viscid lake
vivid sky
#

database schon drinne?

viscid lake
#

schaue grad aber eig schon

vivid sky
#

lösch die database und versuch nochmal zu joinen

viscid lake
vivid sky
#

nochmal schauen ob wirklich die 2 ids ausgetauscht sind

#

hast du die intents an

viscid lake
#
File "C:\Users\sebas\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 102, in run
    result = function()
             ^^^^^^^^^^
sqlite3.OperationalError: no such table: voice_channels```
#

ahja

viscid lake
vivid sky
#

uhm

viscid lake
#

hab den mal neu gestartet immer noch

#

ah

#

nvm

vivid sky
#

was

tawdry leaf
#

wow

viscid lake
vivid sky
#

also gehts jetzt?

viscid lake
#

sag ich sofort

viscid lake
vivid sky
#

buttons müssen gehen

#

außer wenn du halt neustartest

viscid lake
#

danke ducklove

vivid sky
#

Kein problem lass eine Reaktion da

viscid lake
#

gemacht

raven lotus
#

wie beschränke ich nochmal commands auf bestimmte guilds?

solid ingot
#

mit debug_guilds

raven lotus
#

danke!

odd kiteBOT
#

Hier findest du das Main-Datei Template 🦧

urban glen
odd kiteBOT
#

Hier findest du das Main-Datei Template 🦧

#

Hier findest du das Main-Datei Template 🗿

urban glen
fierce dove
raven lotus
#

irgendwie wird der command trotzdem auf anderen servern angezeigt

raven lotus
#

meiner

urban glen
#

Probiers doch mal auf dem Server wo es nicht sein sollte auszuführen

solid ingot
#

bis globale commands nicht mehr angezeigt werden dauert es ein wenig, funktionieren sollten sie aber nicht mehr

raven lotus
#

nope

#

ging immernoch

limpid wolf
#

Dann läuft dein Bot vielleicht doppelt?

raven lotus
#

kann das daran liegen?

@commands.is_owner()
#

eig sollte das nicht daran liegen

novel ore
#

Kannst du mir nochmal kurz erklären was das Problem idt

wind finch
#

Gibt es irgendeine api wo man Texte übersetzen kann?

urban glen
#

Und sowas kann man easy googlen

wind finch
rustic crest
#

hi bin ganz neu beim Bot-programmieren und bin am die Turorial-playlist schauen.
Bin gerade bei Buttons und Dropdowns durch und habe folgende Frage:

  • gibt es ne Möglichkeit für author_check für buttons und dropdowns (das nur der, welcher den Befehl gesendet hat die verwenden kann)
  • wie kann ich buttons und dropdowns nach einer Verwendung deaktivieren?
  • gibt es cooldowns für buttons? also gleich wie bei den slashcommand cooldowns
  • kann mann Buttons und Dropdowns auch ephemeral=True verwenden damit nur der author das Element sieht?

ich hoffe es ist nicht unhöflich solch banale fragen zu stellen, sonst einfach melden!!
vielen Dank für die Auskunft

#

ps als Info: ich nutze pycord, schreibe auf PyCharm in Python

solid ingot
# rustic crest hi bin ganz neu beim Bot-programmieren und bin am die Turorial-playlist schauen....

Hey @rustic crest

  • eine möglichkeit wäre den user an die view klasse zu übergeben und dann die interaction_check methode zu implementieren. diese gibt true oder false zurück, je nachdem ob ein user den button nutzen darf
  • je nachdem ob button oder view klasse, kannst du das mit button.disabled = True oder self.disabled = True machen. beachte jedoch, dass die nachricht danach bearbeitet werden muss
  • das ist ein wenig komplexer als bei slash commands, ich empfehle dieses video
  • ja das geht, du kannst nachrichten ephemeral machen, egal welche komponenten an der nachricht sind

In this video, we will work on making a button with a cooldown in discord.py with Cooldown Mapping.

If you found this video helpful, please do consider liking the video, subscribing, and sharing it to someone who might find this video helpful (I know a lot of people say this, but it really does help the channel 🙂). If you have any questions, fe...

▶ Play video
twin slate
#

die prefix commands bei ezcord funktionieren bei mir nicht. wenn ich das prefix auf when_mentioned_or('!') setze dann funktioniert der command wenn man @bot test macht aber nicht wenn man !test macht. hat jemand eine idee wieso? Error gibt es keinen.

solid ingot
#

nutzt du eczord.PrefixBot? @twin slate

twin slate
#

ja tue ich

#

mit der mention funktioniert es ja aber mit dem ! prefix nicht

solid ingot
#

hmm mit prefix commands kenne ich mich nicht wirklich aus, könntest du nachschauen ob es an ezcord liegt? also ob es funktioniert wenn du commands.Bot nutzt?

twin slate
#

jo mache ich

#

jetzt startet der bot nicht mehr

trim dagger
#
Ignoring exception in view <CloseTicketView timeout=None children=1> for item <Button style=<ButtonStyle.danger: 4> url=None disabled=False label='Close Ticket' emoji=None row=None>:
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/ui/view.py", line 421, in _scheduled_task
    await item.callback(interaction)
  File "/storage/emulated/0/Timo/Dev/Discord/Test/System/cogs/modmail.py", line 103, in close_ticket
    user = await interaction.get_user(user_id)
                 ^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Interaction' object has no attribute 'get_user'
trim dagger
vivid sky
trim dagger
#

Warum der link

#
user = await interaction.get_user(user_id)
        if user is None:
            user = await self.bot.fetch_user(user_id)

        await interaction.response.send_message("Dein Ticket wird geschlossen...")
        await user.send("Dein Ticket wurde geschlossen.")
        await interaction.message.channel.delete()
trim dagger
urban glen
#

Also interaction.client.get_user(user_id)

#

@trim dagger

trim dagger
#

Warum client

urban glen
#

Das war nh Ghost Ping ._. xD

rustic crest
rustic crest
#

btw wie bekomm ich es hin, das der Code den ich hier rein kopiere gleich formatiert ist wie im PyCharm so wie das Felix oben gemacht hat?

urban glen
odd kiteBOT
urban glen
#

._.

lofty rock
#

Kann man eine .exe zu .py machen?

urban glen
#

Da findest du schneller nh Antwort, als wenn jemand hier für dich googlet

#

How to Convert Exe To Python | Decompile or Convert Exe to Python Source Code.

🌐 Website: https://www.boteaz.com/
📂 GitHub: https://github.com/AliToori

⭕ Social Media:
📸 Instagram: https://www.instagram.com/alitooriali
📱 Facebook: https://web.facebook.com/AliTooriAli
📱 Twitter: https://twitter.com/AliTooriAli
📱 Telegram: https://t.me/Ali...

▶ Play video
lofty rock
urban glen
urban glen
lofty rock
urban glen
#

Du suchst ja nach nem .exe to .py converter

upper adder
wind finch
#

Error:
Ignoring exception in view <View timeout=180.0 children=2> for item <ClaimButtonView style=<ButtonStyle.success: 3> url=None disabled=True label='Claim' emoji=None row=None>:
Traceback (most recent call last):
File "C:\Users\Lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "C:", line 71, in callback
await interaction.message.edit(view=self)
File "C:\Lib\site-packages\discord\message.py", line 1434, in edit
payload["components"] = view.to_components() if view else []
^^^^^^^^^^^^^^^^^^
AttributeError: 'ClaimButtonView' object has no attribute 'to_components'

old ore
wind finch
# old ore kannst du maybe mal den code auschnitt davon senden und nicht den ganzen code

class ClaimButtonView(discord.ui.Button):
    def __init__(self, user):
        super().__init__(style=discord.ButtonStyle.success, label="Claim", custom_id="claim_ticket", disabled=False)
        self.user = user
        self.disabled = False


    async def callback(self, interaction: discord.Interaction):
        member_user = interaction.user
        user_avatar_url = member_user.avatar.url
        self.disabled = True
        await interaction.message.edit(view=self)


        if member_user == self.user and member_user.guild_permissions.kick_members:
            embed = discord.Embed(title="Ticket wurde geclaimt",
                                  description=f"Das Ticket wurde von {member_user.mention} geclaimt",
                                  colour=0x00ff2a)

            embed.set_thumbnail(url=user_avatar_url)
            embed.set_footer(text=member_user.name, icon_url=user_avatar_url)

            await interaction.response.send_message(embed=embed)
        else:
            await interaction.response.send_message("Du hast keine Berechtigung, dieses Ticket zu claimen.", ephemeral=True)```
old ore
wind finch
old ore
wind finch
wind finch
# old ore ja

hmm dann kommt

AttributeError: 'Interaction' object has no attribute 'edit'```
vivid sky
#

await interaction.message.edit(view=None)

old ore
old ore
#

ich denke aber mal das er einfach das deaktiviert anzeigen möchte

wind finch
old ore
wind finch
#

@old ore wait muss mein mic einstellen

odd kiteBOT
#

Hier findest du das Bot-Klasse Template 😄

raven lotus
#

ich finde den Code für den Guild Icon nicht und ich weiß nicht wie der heißt

raven lotus
#

heißt das nur display_icon?

tawdry leaf
#

ne warte bin lost

odd kiteBOT
tawdry leaf
#

ja guild.icon

raven lotus
#
embed.set_thumbnail(url=guild.icon.url)
``` was ist daran falsch?
tawdry leaf
raven lotus
#

ich checke es net

#

ohne .url?

tawdry leaf
tawdry leaf
raven lotus
#

achsoooo

#

so

#

ich teste es nochmal

#

AttributeError: 'Guild' object has no attribute 'region'

#

sagt mein Bot 😦

urban glen
#

Gibts wohl nd

raven lotus
#

soll ich mal den code senden?

urban glen
#

Wie du willst

raven lotus
#
    @slash_command()
    async def serverinfo(self, ctx):
        guild = ctx.guild

        embed = discord.Embed(title="Server Info", color=discord.Color.blue())
        embed.set_thumbnail(url=ctx.guild.icon)
        embed.add_field(name="Name", value=guild.name, inline=True)
        embed.add_field(name="ID", value=guild.id, inline=True)
        embed.add_field(name="Owner", value=guild.owner, inline=True)
        embed.add_field(name="Region", value=guild.region, inline=True)
        embed.add_field(name="Members", value=guild.member_count, inline=True)
        embed.add_field(name="Creation Date", value=guild.created_at.strftime("%Y-%m-%d"), inline=True)

        await ctx.send(embed=embed)
#

was hab ich denn falsch gemacht?

tawdry leaf
odd kiteBOT
urban glen
#

@raven lotus

raven lotus
#

ja

#

bin da

tawdry leaf
raven lotus
#

XD

urban glen
raven lotus
#

heeelp

#

ich habe keine Übersicht auf dieser Seite 😵‍💫

#

XD

tawdry leaf
#

welcher seite 🤔

raven lotus
#

die beim embed

tawdry leaf
#

was ist daran nd zu verstehen 🤔

raven lotus
#

was ich aus preffered_locale verstehen soll

urban glen
#

Musst halt Englisch können

tawdry leaf
#

kannst auf de stellen

#

es zeigt einf an was hier ausgewählt ist xD

raven lotus
#

ich meinte damit, falls ich das als code verwenden möchte

#

ich hasse mein Deutsch manchmal

tawdry leaf
#

dann schaue dir timos video an vllt hilft das dir die docs zu verstehen 🤔

tawdry leaf
raven lotus
#

das was?

tawdry leaf
#

du bist in der Kategorie discord.Guild also brauchst du um alles in der Kategorie benutzen zu können erstmal ctx.guild

raven lotus
#

ja

#

guild = ctx.guild

tawdry leaf
#

was genau verstehst du nicht ?

tawdry leaf
raven lotus
#

wie ich das icon ins embed bekomme XD

tawdry leaf
raven lotus
#

ne

#

er sagt er erkennt guild net

#

oder so

#

AttributeError: 'Guild' object has no attribute 'region'

#

das sagt der Bot

#

das ist halt der Code:

    @slash_command()
    async def serverinfo(self, ctx):
        guild = ctx.guild

        embed = discord.Embed(title="Server Info", color=discord.Color.blue())
        embed.set_thumbnail(url=guild.icon.url)
        embed.add_field(name="Name", value=guild.name, inline=True)
        embed.add_field(name="ID", value=guild.id, inline=True)
        embed.add_field(name="Owner", value=guild.owner, inline=True)
        embed.add_field(name="Region", value=guild.region, inline=True)
        embed.add_field(name="Members", value=guild.member_count, inline=True)
        embed.add_field(name="Creation Date", value=guild.created_at.strftime("%Y-%m-%d"), inline=True)

        await ctx.send(embed=embed)
tawdry leaf
#
  @slash_command()
    async def serverinfo(self, ctx):
        guild = ctx.guild

        embed = discord.Embed(title="Server Info", color=discord.Color.blue())
        embed.set_thumbnail(url=ctx.guild.icon)
        embed.add_field(name="Name", value=guild.name, inline=True)
        embed.add_field(name="ID", value=guild.id, inline=True)
        embed.add_field(name="Owner", value=guild.owner, inline=True)
        embed.add_field(name="Region", value=guild.preferred_locale, inline=True)
        embed.add_field(name="Members", value=guild.member_count, inline=True)
        embed.add_field(name="Creation Date", value=guild.created_at.strftime("%Y-%m-%d"), inline=True)

        await ctx.respond(embed=embed)```
tawdry leaf
#

den code den du hast ist veraltet

raven lotus
#

der macht das bild vom bot als icon 😦

tawdry leaf
raven lotus
#

ich wollte, dass das icon vom server das thumbnail ist

raven lotus
#

boah bin ich dumm XD

#

hab erstmal net gecheckt

urban glen
#

Da widerspricht dir keiner

raven lotus
#

jetzt ist Quark wütend

#

XD

urban glen
#

Dann sollte Quark wohl während er Wütend ist lernen Dokumentationen zu lesen und zu verstehen

raven lotus
#

jetzt isst Quark Quark

tawdry leaf
#

du Quarkst zu viel ^^

raven lotus
#

jajaja

#
embed.set_thumbnail(url=ctx.guild.icon.url)
``` ich mache irgendwie mist
raven lotus
#

ne

tawdry leaf
#

wieso nicht

raven lotus
#

macht keinen unterschied irgendwie

#
    @slash_command()
    async def serverinfo(self, ctx):
        guild = ctx.guild

        embed = discord.Embed(title="Server Info", color=discord.Color.blue())
        embed.set_thumbnail(url=ctx.guild.icon)
        embed.add_field(name="Name", value=guild.name, inline=True)
        embed.add_field(name="ID", value=guild.id, inline=True)
        embed.add_field(name="Owner", value=guild.owner, inline=True)
        embed.add_field(name="Region", value=guild.preferred_locale, inline=True)
        embed.add_field(name="Members", value=guild.member_count, inline=True)
        embed.add_field(name="Creation Date", value=guild.created_at.strftime("%Y-%m-%d"), inline=True)

        await ctx.respond(embed=embed)
tawdry leaf
#

mach mal guild.icon

raven lotus
#

nope

#

immer noch

tawdry leaf
#

hat der server denn ein pb

raven lotus
#

warte mal

#

ICH HASSE MICH

#

das ist das gleiche

#

sry sry sry

#

Tut mir sooooooooooooooooooooooo leid!

tawdry leaf
raven lotus
#

XD

#

Broooooooooooo, ich hab das net bemerkt ich baum

#

jetzt muss ich einstellen, dass wenn der server kein icon hat, dass das dann nicht gemacht wird

#

oder, dass der Bot icon benutzt wird

urban glen
#

Ist easy

#

Ist nur eine Zeile

#
    @slash_command()
    async def serverinfo(self, ctx):
        guild = ctx.guild

        embed = discord.Embed(title="Server Info", color=discord.Color.blue())
        if ctx.guild.icon:
            embed.set_thumbnail(url=ctx.guild.icon.url)
        embed.add_field(name="Name", value=guild.name, inline=True)
        embed.add_field(name="ID", value=guild.id, inline=True)
        embed.add_field(name="Owner", value=guild.owner, inline=True)
        embed.add_field(name="Region", value=guild.preferred_locale, inline=True)
        embed.add_field(name="Members", value=guild.member_count, inline=True)
        embed.add_field(name="Creation Date", value=guild.created_at.strftime("%Y-%m-%d"), inline=True)

        await ctx.respond(embed=embed)
raven lotus
#

thx!

#

YES!

tawdry leaf
raven lotus
#

danke!!!!!

urban glen
tawdry leaf
#

ich sehe es

raven lotus
tawdry leaf
#

bestimmt auch bei userinfo

urban glen
raven lotus
#

kann ich das machen:

if ctx.user.icon:
tawdry leaf
raven lotus
#

also bei userinfo

raven lotus
tawdry leaf
raven lotus
#

oder halt if user.icon:

urban glen
#

.icon is bei guilds

tawdry leaf
#

ein user möchte nicht wie ein server icon behandelt werden

urban glen
#

User / Member haben Avatar

raven lotus
#

achso

#

XD

tawdry leaf
raven lotus
#

if user.display_avatar:

#

das?

urban glen
raven lotus
#

haha

raven lotus
#
if user.display_avatar:
tawdry leaf
#

klag mal discord an 😄

urban glen
#

hahahaha

raven lotus
#

geht das?????????

tawdry leaf
#

es geht nicht wenn du nur fragst 😄

urban glen
raven lotus
#

stimmt ich kleiner

urban glen
#

Das kannst du nutzen, ohne if abfrage

urban glen
raven lotus
#

broooo daran hab ich net gedacht

urban glen
#

Is uns bewusst
Wie bei allen anderen sachen die du fragst xD

raven lotus
#

ich wollte nur einmal was richtig machen haha

tawdry leaf
#

wollte schon was fragen aber das wäre nicht so gut gekommen 😄

tawdry leaf
#

ne ne 🙂

raven lotus
#

du willst mich net zerstören

#

also, dass ich mich schlecht fühle

urban glen
raven lotus
#

haha

tawdry leaf
#

Code

    async def kont(ctx: discord.AutocompleteContext):
        options = []
        async with aiosqlite.connect("economy.db") as db:
            async with db.cursor() as cursor:
                await cursor.execute('SELECT * FROM economy')
                rows = await cursor.fetchall()
                for row in rows:
                    # Access columns by index (replace 0 and 1 with the actual indices)
                    column1_value = row[0]
                    column2_value = row[1]
                    
                    # Append data to options
                    options.append(discord.OptionChoice(name=column1_value, value=column2_value))


    @slash_command()
    @discord.option('dauer', int, description='Wie lange soll der User timeouted sein?', autocomplete=kont, required=True)
    async def all(self, ctx: discord.AutocompleteContext, dauer: int):
        embed = discord.Embed(description="test")
        await ctx.respond(embed=embed)```

Error
```py
Command: all dauer | User: luuuccckkkyyy#0 | Server: Gaming-room | Zeitstempel: 1696362084.377513
Task exception was never retrieved
future: <Task finished name='Task-33' coro=<ApplicationCommandMixin.on_application_command_auto_complete.<locals>.callback() done, defined at D:\py\lib\site-packages\discord\bot.py:872> exception=TypeError("'NoneType' object is not iterable")>
Traceback (most recent call last):
  File "D:\py\lib\site-packages\discord\bot.py", line 875, in callback
    return await command.invoke_autocomplete_callback(ctx)
  File "D:\py\lib\site-packages\discord\commands\core.py", line 1029, in invoke_autocomplete_callback
    choices = [
TypeError: 'NoneType' object is not iterable

Weiß jemand wie ich den error behebe

urban glen
#
    async def kont(ctx: discord.AutocompleteContext):
        options = []
        async with aiosqlite.connect("economy.db") as db:
            async with db.cursor() as cursor:
                await cursor.execute('SELECT * FROM economy')
                rows = await cursor.fetchall()
                for row in rows:
                    # Access columns by index (replace 0 and 1 with the actual indices)
                    column1_value = row[0]
                    column2_value = row[1]
                    
                    # Append data to options
                    options.append(discord.OptionChoice(name=column1_value, value=column2_value))

        return options

    @slash_command()
    @discord.option('dauer', int, description='Wie lange soll der User timeouted sein?', autocomplete=kont, required=True)
    async def all(self, ctx: discord.AutocompleteContext, dauer: int):
        embed = discord.Embed(description="test")
        await ctx.respond(embed=embed)
tawdry leaf
#

ah okay ich probier es mal

urban glen
#

Jo, is aber nur nh vermutung von mir das es daran liegt

urban glen
tawdry leaf
old ore
#

Kann ich command groups auch in andere cog klassen übergeben

urban glen
#

Ja

old ore
urban glen
old ore
urban glen
old ore
fierce dove
#

Kann man das einstellen bei Ein Forum Kanal das nur die admins des Server ein Post erstellen kann

fierce dove
#

Aber wie ist die Frage?

urban glen
viscid lake
urban glen
#

Ja so wie du halt permissions einstellst

viscid lake
#

Perms ändern in den Einstellungen

fierce dove
#

Ok

#

@urban glen dein Code geht net

urban glen
#

@fierce dove ich habe mehrere Codes, musst konkreter sein

fierce dove
#

Trivia

#

Code

urban glen
#

Doch der geht.

Du hast halt mal wieder probleme damit Codes zu verstehen/selber zu fixxen vermutlich

#

War beim flagquiz genauso

tawdry leaf
#

😮

fierce dove
#

🙂

#
[ERROR] Error while executing /trivia
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 131, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 1358, in _invoke
    option = ctx.interaction.data["options"][0]
             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'options'
tawdry leaf
fierce dove
fringe hedge
#

Hallo Leute, wisst ihr wie man Buttons dauerhaft aktiv halten kann das sie nicht nach 2 min inaktiv gehen?

tawdry leaf
#

und was kannst du mit dem error nicht anfangen 😮

urban glen
urban glen
tawdry leaf
urban glen
tawdry leaf
#

den relevanten code schicken ist da mal gut ausgeschmückt xD

urban glen
fringe hedge
# tawdry leaf timeout=None
@discord.ui.button(emoji="🔈", style=discord.ButtonStyle.grey, row=2)```
einfach rein schreiben als parmeter?
urban glen
#

@trivia_cmd.command

tawdry leaf
#
super().__init__(timeout=None)```
fringe hedge
urban glen
#

Bei buttons das interaction und button tauschen

fringe hedge
urban glen
#

@fierce dove

  1. #1019974414487535736 message

  2. #1019974414487535736 message

fierce dove
#

Warum das tauchen

urban glen
#

Den rest schaffst du Hoffentlich selber

urban glen
tawdry leaf
#

oha

tawdry leaf
urban glen
urban glen
urban glen
tawdry leaf
# urban glen Nice

hast du eine idee wie ich da die user ids so umformiere das da beim autocomplete die discord namen stehen

tawdry leaf
urban glen
tawdry leaf
#
future: <Task finished name='Task-33' coro=<ApplicationCommandMixin.on_application_command_auto_complete.<locals>.callback() done, defined at D:\py\lib\site-packages\discord\bot.py:872> exception=HTTPException('400 Bad Request (error code: 50035): Invalid Form Body\nIn data.choices.0.value: int53 value should be less than or equal to 9007199254740991.\nIn data.choices.1.value: int53 value should be less than or equal to 9007199254740991.\nIn data.choices.2.value: int53 value should be less than or equal to 9007199254740991.\nIn data.choices.3.value: int53 value should be less than or equal to 9007199254740991.\nIn data.choices.4.value: int53 value should be less than or equal to 9007199254740991.\nIn data.choices.5.value: int53 value should be less than or equal to 9007199254740991.')>
Traceback (most recent call last):
  File "D:\py\lib\site-packages\discord\bot.py", line 875, in callback
    return await command.invoke_autocomplete_callback(ctx)
  File "D:\py\lib\site-packages\discord\commands\core.py", line 1033, in invoke_autocomplete_callback
    return await ctx.interaction.response.send_autocomplete_result(
  File "D:\py\lib\site-packages\discord\interactions.py", line 1125, in send_autocomplete_result
    await self._locked_response(
  File "D:\py\lib\site-packages\discord\interactions.py", line 1198, in _locked_response
    await coro
  File "D:\py\lib\site-packages\discord\webhook\async_.py", line 222, in request
    raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In data.choices.0.value: int53 value should be less than or equal to 9007199254740991.
In data.choices.1.value: int53 value should be less than or equal to 9007199254740991.
In data.choices.2.value: int53 value should be less than or equal to 9007199254740991.
In data.choices.3.value: int53 value should be less than or equal to 9007199254740991.
In data.choices.4.value: int53 value should be less than or equal to 9007199254740991.
In data.choices.5.value: int53 value should be less than or equal to 9007199254740991.```
urban glen
#

Schick mal deinen Code

#

Nutzt py-cord nh?

tawdry leaf
#
    async def kont(self, ctx: discord.AutocompleteContext):
        options = []
        async with aiosqlite.connect("economy.db") as db:
            async with db.cursor() as cursor:
                await cursor.execute('SELECT user FROM economy')
                rows = await cursor.fetchall()
                for row in rows:
                    user_id = row[0]
                    # Benutzernamen aus der Discord API abrufen
                    warner = await self.bot.fetch_user(user_id)
                    if warner:
                        options.append(discord.OptionChoice(name=warner.name, value=user_id))

        return options```
#

ja

urban glen
#
    async def kont(self, ctx: discord.AutocompleteContext):
        options = []
        async with aiosqlite.connect("economy.db") as db:
            async with db.cursor() as cursor:
                await cursor.execute('SELECT user FROM economy')
                rows = await cursor.fetchall()
                for row in rows:
                    user_id = row[0]
                    # Benutzernamen aus der Discord API abrufen
                    warner = await self.bot.fetch_user(user_id)
                    if warner:
                        options.append(discord.OptionChoice(name=warner.name, value=str(user_id)))

        return options
#

Weil der Error tritt ja auf, weil die ID wohl höher als 9007199254740991 is

tawdry leaf
#

ne selber error

urban glen
#

hm

#

Hast du in der Datenbank maybe nh falsche ID drinne oder so?

tawdry leaf
#

ne

raven lotus
#

ich habe was probiert mit guilds, aber es wird immer noch auf anderen servern angezeigt

raven lotus
#
bot = discord.Bot(
    intents=intents,
    debug_guilds=[weg zeig ich net, das auch]
)
tawdry leaf
#

ich benutze eh keine debug_guilds

#

@solid ingot kannst du helfen 😄

#

habe des Problem das ich in der datenbank userids habe und die unterschiedlich viele stellen haben

solid ingot
#

wo ist das problem

raven lotus
tawdry leaf
solid ingot
#

machs vlt als string

tawdry leaf
urban glen
#

@tawdry leaf schau dm

#

Lag an der Line

tawdry leaf
#

wegen den integer da 😐

urban glen
dreamy bobcat
#

Ich bekomme immer einen Fehler beim Hoster des bots könnt ihr mir da helfen?

dreamy bobcat
#

Ehm

urban glen
dreamy bobcat
urban glen
#

Und wo bleibt der Error?

dreamy bobcat
#

Im Bild

urban glen
#

Sehe keinen Error

dreamy bobcat
viscid lake
#

Bin ich dumm oder ist das kein error peepothink

urban glen
dreamy bobcat
#

Was denn sonst

#

Kann das nicht wirklich deuten

fierce dove
#
Ignoring exception in view <TriviaButtons timeout=900.0 children=4> for item <Button style=<ButtonStyle.primary: 1> url=None disabled=False label='1' emoji=None row=None>:
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/ui/view.py", line 421, in _scheduled_task
    await item.callback(interaction)
  File "/storage/emulated/0/Timo/Dev/Discord/Test/Fun/cogs/trivia.py", line 58, in one
    selected = int(button.label)
                   ^^^^^^^^^^^^
AttributeError: 'Interaction' object has no attribute 'label'
urban glen
fierce dove
urban glen
dreamy bobcat
fierce dove
#

Hab's geschafft

restive herald
#

in dem fall is die memory bei deinem hoster zu tief

urban glen
tawdry leaf
urban glen
dreamy bobcat
restive herald
dreamy bobcat
#

Per dm oder wie ?

restive herald
#

oder ticket

#

#🎫・tickets

urban glen
#

Oder Pings spammen

dreamy bobcat
restive herald
urban glen
restive herald
restive herald
#

stramm

tawdry leaf
restive herald
tawdry leaf
dreamy bobcat
#

Xd

old ore
#

kann ich meinem command in einer slash comamnd group noch einen extra namen geben?

old ore
#

na bein einem normalen slash command kann man ja oben auch noch name und description hinzufügen kann man des bei der cmd group auch machen?

odd kiteBOT
#

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

in dem video is alles zu slash command groups nikos

old ore
#

jo

old ore
restive herald
slow kindle
#

Hey Ich Probiere mich gerade an eine Login page mit fastapi heran und habe auch schon ein html form was funktioniert und möchte nun die dazugehörige python funktion schreiben. DAfür habe ich eine post methode für die Verifizierung des Passworts und möchte nun zu einer andern Seite umleiten wenn das passwort stimmt. Das Problem das ich mit diesem code habe ist das ich es nicht hinkriege von einer post request zu einer get zu Redirecten kann mir da wer helfen ? py @app.post("/auth") async def auth(request: Request): from_data = await request.form() username = from_data["username"] password = from_data["password"] print(username, password) response = RedirectResponse(url="/dashboard", status_code=307) response.set_cookie(key="session", value=str("Test2"), httponly=True) return response

solid ingot
#

bekommst du einen Error?

slow kindle
#

Ich bekomme nur diese Info: INFO: 127.0.0.1:50600 - "GET / HTTP/1.1" 200 OK INFO: 127.0.0.1:50600 - "POST /auth HTTP/1.1" 307 Temporary Redirect INFO: 127.0.0.1:50600 - "POST /dashboard HTTP/1.1" 405 Method Not Allowed

fierce dove
#

wie kann ich in pycharm die docs anschauen

#

von ezcord

#

?

solid ingot
#

Im Grunde genau wie du andere Docs anzeigen lässt

fierce dove
#

ok

solid ingot
#

kannst aber auch im Browser anschauen

fierce dove
#

@solid ingot gibt es ein plugin in pcharm discord rich presence

solid ingot
#

ja

fierce dove
#

ok

fierce dove
#

es kommt immer Invalid Package

lofty rock
#

bei mir wird:

import os
from datetime import datetime
from random import *
import requests
import io

from apscheduler.schedulers.asyncio import AsyncIOScheduler
from apscheduler.triggers.cron import CronTrigger

import discord
from discord import *
from discord.ext.commands import *
from discord import app_commands
from discord.ui import *
from discord.ext import commands, tasks
from discord.utils import get
import datetime
from datetime import datetime
import random
from random import randint
import time as tm
import asyncio
import math
import configparser
import sqlite3
import sys
from discord.ext.commands import CommandNotFound
import io
import chat_exporter```
nicht als requierments datei erkannt bei @odd kite kann mir wer helfen?
solid ingot
#

das ist keine requirements datei, das Sind Imports

lofty rock
#

also was ich downloaden muss

wind finch
solid ingot
lofty rock
#
:/home/container$ if [[ -d .git ]] && [[ ${AUTO_UPDATE} == "1" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then /usr/local/bin/npm install ${NODE_PACKAGES}; fi; if [[ ! -z ${UNNODE_PACKAGES} ]]; then /usr/local/bin/npm uninstall ${UNNODE_PACKAGES}; fi; if [ -f /home/container/package.json ]; then /usr/local/bin/npm install; fi; /usr/local/bin/node /home/container/${JS_FILE}

up to date, audited 179 packages in 1s
21 packages are looking for funding
  run `npm fund` for details
6 moderate severity vulnerabilities
To address all issues possible (including breaking changes), run:
  npm audit fix --force
Some issues need review, and may require choosing
a different dependency.
Run `npm audit` for details.
node:internal/modules/cjs/loader:1080
  throw err;
  ^
Error: Cannot find module '/home/container/main.js'
    at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
    at Module._load (node:internal/modules/cjs/loader:922:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:86:12)
    at node:internal/main/run_main_module:23:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}
Node.js v18.18.0```

weiss wer woran das liegt?
tawdry leaf
#

Module Not found 😂

lofty rock
#

ich kenn mich 0 mit js aus

tawdry leaf
#

requireStack

urban glen
lofty rock
urban glen
lofty rock
urban glen
#

Also arbeitest du grad doch mit js?

#

Du widersprichst dir selber irgendwie lmao

lofty rock
lofty rock
tawdry leaf
urban glen
lofty rock
lofty rock
urban glen
#

Daran müsste es liegen

urban glen
#

Teste es

lofty rock
#

kommt immernoch

urban glen
#

Schick mal den Code deiner main.js

#

Ahhh

#

Du bist im src ordner

Dann musst du das ja auch so angeben

#

src/main.js

#

@lofty rock

lofty rock
urban glen
urban glen
lofty rock
lofty rock
# urban glen Wie hier beim ersten bild
/home/container/node_modules/sharp/lib/sharp.js:34
  throw new Error(help.join('\n'));
        ^
Error: 
Something went wrong installing the "sharp" module
Cannot find module '../build/Release/sharp-linux-x64.node'
Require stack:
- /home/container/node_modules/sharp/lib/sharp.js
- /home/container/node_modules/sharp/lib/constructor.js
- /home/container/node_modules/sharp/lib/index.js
- /home/container/node_modules/fast-average-color-node/dist/index.js
- /home/container/node_modules/lixqajsutilities/src/module.js
- /home/container/src/handlers/handleIntervals.js
- /home/container/src/main.js
Possible solutions:
- Install with verbose logging and look for errors: "npm install --ignore-scripts=false --foreground-scripts --verbose sharp"
- Install for the current linux-x64 runtime: "npm install --platform=linux --arch=x64 sharp"
- Consult the installation documentation: https://sharp.pixelplumbing.com/install
    at Object.<anonymous> (/home/container/node_modules/sharp/lib/sharp.js:34:9)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:119:18)
    at Object.<anonymous> (/home/container/node_modules/sharp/lib/constructor.js:8:1)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
Node.js v18.18.0```
urban glen
#

Das erste Problem ist somit gelöst xD

ich schaus mir gleich an

urban glen
lofty rock
#

wo soll ich das pasten im hosting?

urban glen
#

Ich vermute ins Terminal

lofty rock
urban glen
#

Dann musst du einen script schreiben, der das ausführt

lofty rock
urban glen
#

Hab auch das problem mit terminal gehabt, ich gebe dir meinen Code, wait

lofty rock
#

Ich hab den code gekauft

urban glen
#

Noch schlimmer

#

Für sowas würde ich nie im leben geld ausgeben

#
exec('npm install express', (error, stdout, stderr) => {
  if (error) {
    console.error(`Fehler beim Installieren von Express: ${error.message}`);
    return;
  }
  console.log('Express wurde erfolgreich installiert.');
});

@lofty rock mehr als das bekommst du von mir nicht

urban glen
lofty rock
urban glen
lofty rock
urban glen
#

Als ob ich hellsehen könnte

lofty rock
urban glen
#

nein.

lofty rock
urban glen
#

Du hast die Codes gekauft
Also musst du dich selber damit auseinandersetzten

lofty rock
urban glen
#

Der Typ hat dich safe über's ohr gehauen

lofty rock
fierce dove
#

Weiß jemand wie man bei emoji.gg eigenen Packs hochladen kann

lofty rock
#

hab 30 euro gezahlt

urban glen
lofty rock
urban glen
#

Bruder 30€ für nen Discord Bot Code? hahahaha

lofty rock
urban glen
lofty rock
urban glen
#

Schau Tutorials oder lies nach

lofty rock
#

ach man

old ore
#

kann man ctx.respond im nachhinein bearbeiten?

lofty rock
#
bot = discord.Bot(intents=intents, status=status, activity=activity)
AttributeError: module 'discord' has no attribute 'Bot'```
was mach ich falsch?
lofty rock
#
import discord
import os


intents = discord.Intents.all()


status = discord.Status.dnd
activity = discord.Activity(type=discord.ActivityType.playing, name="Code")


bot = discord.Bot(intents=intents, status=status, activity=activity)

@bot.event
async def on_ready():
    print(f"{bot.user} is Ready")



if __name__ == "__main__":
    for filename in os.listdir("cogs"):
        if filename.endswith(".py"):
            bot.load_extension(f"cogs.{filename[:-3]}")

bot.run("tkn")```
vivid sky
#
import discord
from discord.ext import commands
import os


intents = discord.Intents.all()


status = discord.Status.dnd
activity = discord.Activity(type=discord.ActivityType.playing, name="Code")


bot = commands.Bot(command_prefix='?', intents=intents, status=status, activity=activity)

@bot.event
async def on_ready():
    print(f"{bot.user} is Ready")



if __name__ == "__main__":
    for filename in os.listdir("cogs"):
        if filename.endswith(".py"):
            bot.load_extension(f"cogs.{filename[:-3]}")

bot.run("tkn")
lofty rock
vivid sky
#

und warum hast du kein ezcord?

#

omglol

lofty rock
vivid sky
lofty rock
vivid sky
#

🫣 dann kannst du auch kein py-cord

#

lol

lofty rock
#

ich lerne es

fierce dove
#

🤔🤨

ripe quest
#

Kurze Frage, verlieren Dropdown-Menus nach einer bestimmten Zeit ihre Funktion?

lofty rock
vivid sky
fierce dove
ripe quest
#

Also wenn man nach einer bestimmten Zeit versucht das Dropdown-Menu zu nutzen kommt ein error: "Diese interaktion ist fehlgeschlagen"

vivid sky
solid ingot
lofty rock
#
RuntimeWarning: coroutine 'BotBase.load_extension' was never awaited```
solid ingot
ripe quest
#

Ich schaue mir mal schnell das Video an!

vivid sky
lofty rock
bold sentinel
#

Hallo, ich mache grad ein programm mit keyauth und wollte fragen wie ich eine aktion machen kann damit es die datei START.bat und danach schließt und nicht das macht:

print("\nExiting in five seconds..")
sleep(5)
os._exit(1)

das exiting kann bleiben aber der rest nicht

bold sentinel
#

ist gelöst

ripe quest
solid ingot
#

supi

ripe quest
#

Kann dir gar nicht genug danken

bold sentinel
#

wie könnte ich eine website umsonst hosten mit custom domain?

bold sentinel
#

.com usw muss man kaufen

urban glen
#

Eine Domain musst du dir schon kaufen

fierce dove
#

Kennt sich jemand mit Steam aus?

tawdry leaf
fierce dove
#

Ohje

fierce dove
tawdry leaf
fierce dove
#

Ok

old ore
#

Code:

async def get_plat(ctx: discord.AutocompleteContext):

    List = ["Youtube Music", "[PREMIUM] Spotify", "Soundcloud"]

    return List

async def get_plst(ctx: discord.AutocompleteContext):

    with open(f"{getcwd()}/Files/config.json", "r") as f:
        data = json.load(f)

    owner = int(data["ownerId"])


    db = await aiosqlite.connect("queue.db")
    async with db.cursor() as cursor:
        await cursor.execute("SELECT name FROM queue WHERE owner = ?", (owner,))
        res = await cursor.fetchall()

    if len(res) == 0:
        return ["Sorry you don't have any playlists"]
    
    else:
        # Wandele die Liste von Tupeln in eine Liste von Zeichenfolgen um
        playlist_names = [row[0] for row in res]
        return playlist_names




@bot.slash_command(name="play-all", description="Play a song from different platforms")
async def play(ctx: commands.Context, platform: Option("Select the Platform you want to play music from", autocomplete=get_plat), search: Option(str, "The song name you want to play", required=False), playlist: Option("The playlist you want to play", required=False, autocomplete=get_plst)):
    vc = ctx.voice_client```

Error:
```Traceback (most recent call last):
  File "a:\Coding\Music bot\main.py", line 3983, in <module>
    async def play(ctx: commands.Context, platform: Option("Select the Platform you want to play music from", autocomplete=get_plat), search: Option(str, "The song name you want to play", required=False), playlist: Option("The playlist you want to play", required=False, autocomplete=get_plst)):
  File "C:\Python310\lib\site-packages\discord\commands\options.py", line 226, in __init__
    self.input_type = SlashCommandOptionType.from_datatype(input_type)
  File "C:\Python310\lib\site-packages\discord\enums.py", line 779, in from_datatype
    if datatype.__name__ in ["Member", "User"]:
AttributeError: 'str' object has no attribute '__name__'. Did you mean: '__ne__'?```
viscid lake
#

AttributeError: 'str' object has no attribute 'name'. Did you mean: 'ne'?

odd kiteBOT
#

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
vernal rampart
#

wie geht das mit @is_owner?

solid ingot
#

dann kann der command nur vom bot owner benutzt werden, andere user sehen den command aber trotzdem

vernal rampart
solid ingot
#

@commands.is_owner()

#

und dann müsstest du im error handler was hinzufügen

vernal rampart
#

danke

vernal rampart
#

was bedeutet: TypeError: 'int' object is not iterable

solid ingot
#

du versuchst eine zahl wie eine liste zu nutzen

#

also sowas wie for item in 5:

vernal rampart
#

achso ja genau so

restive herald
#

da musste die range funktion nehmen ig

fierce dove
#

Wir hat Timo das gemacht

novel ore
#

Dann kommt das automatisch

fierce dove
#

Ok

#

Danke

mystic flower
#

Also Ich möchte aus einem Select Menu ein Modal senden lassen bekomme aber den Error Ich habe jetzt vieles Probiert aber ich kriege es einfach nicht hin

fierce dove
#

Der Error ist bischen verschwommen

solid ingot
#

@mystic flower aktuell übergibst du den title zwar an die modal klasse, aber nicht an die super init methode. die einfachste lösung wäre den titel so festzulegen:

super().__init__(
    discord.ui.InputText(
        ...
    ),
    title="Apply"
)
fierce dove
#

warum höre ich nix in discord?

solid ingot
#

falsche lautsprecher ausgewählt?

fierce dove
#

Nein

solid ingot
#

entweder hast du es bei windows oder bei discord falsch eingestellt

fierce dove
#

Ok

solid ingot
#

oder in reallife

fierce dove
#

Warum höre ich euch durch mein Laptop aber nicht durch die Kopfhörer

fierce dove
tawdry leaf
thick haven
#

Hi, wie geht das nochmal das wenn mein bot lange brauch um eine msg zu schicken das ich das der bot denkt nach amchen kann

urban glen
#

interaction.defer()

#

oder halt await ctx.defer() glaube

solid ingot
#

im slash command await ctx.defer(), beim button interaction.response.defer()

thick haven
solid ingot
#

am anfang

lofty rock
#
import discord
from discord.ext import commands
import os
import ezcord

intents = discord.Intents.all()

activity = discord.CustomActivity("in development")
bot = ezcord.PrefixBot(command_prefix='!', intents=intents, activity=activity, status=discord.Status.idle)

@bot.event
async def on_ready():
    print(f"{bot.user} is Ready")



if __name__ == "__main__":
    for filename in os.listdir("cogs"):
        if filename.endswith(".py"):
            bot.load_extension(f"cogs.{filename[:-3]}")```
kann mir wer das ezcord freundlich machen? :D
#

also das cogs funktioniert

solid ingot
#

klar

import discord
from discord.ext import commands
import ezcord

intents = discord.Intents.all()

activity = discord.CustomActivity("in development")
bot = ezcord.PrefixBot(command_prefix='!', intents=intents, activity=activity, status=discord.Status.idle)

if __name__ == "__main__":
    bot.load_cogs()
solid ingot
#

stimmt

lofty rock
# solid ingot stimmt
RuntimeWarning: coroutine 'BotBase.load_extension' was never awaited
  self.load_extension(f"{'.'.join(path.parts)}.{name}")
RuntimeWarning: Enable tracemalloc to get the object allocation traceback```
solid ingot
#

schick mal dein pip freeze

solid ingot
#

aber du nutzt doch pycord

lofty rock
#

aiohttp==3.8.5
aiosignal==1.3.1
async-timeout==4.0.3
attrs==23.1.0
charset-normalizer==3.2.0
discord==2.3.2
discord.py==2.3.2
frozenlist==1.4.0
idna==3.4
multidict==6.0.4
py-cord==2.4.1
typing-extensions==4.7.1
yarl==1.9.2

solid ingot
lofty rock
#

stimmt

odd kiteBOT
#

@lofty rock

Requirements-Check

⚠️ Es sollte nur eine Discord Library installiert sein

discord==2.3.2
discord.py==2.3.2
py-cord==2.4.1```
*Ich habe [diese Nachricht](#1019974414487535736 message) geprüft.*
lofty rock
#

also das ich nen in einen bestimmten folder arbeiten kann

solid ingot
lofty rock
#

ich hab doch discord

solid ingot
#

deinstallier nochmal py-cord und installier es wieder

lofty rock
# solid ingot deinstallier nochmal py-cord und installier es wieder

hab auf den code gewechselt ```py
import discord
from discord.ext import commands
import os

intents = discord.Intents.all()

status = discord.Status.dnd
activity = discord.Activity(type=discord.ActivityType.playing, name="Code")

bot = commands.Bot(command_prefix='?', intents=intents, status=status, activity=activity)

@bot.event
async def on_ready():
print(f"{bot.user} is Ready")

if name == "main":
for filename in os.listdir("cogs"):
if filename.endswith(".py"):
bot.load_extension(f"cogs.{filename[:-3]}")```

lofty rock
solid ingot
lofty rock
solid ingot
#

gut

#

dann installiere jetzt nur py-cord

lofty rock
lofty rock
#

immernoch kommt das

solid ingot
#

dann hast du das ganze wahrscheinlich für eine andere python version installiert, als du gerade für deinen bot nutzt

lofty rock
#

@solid ingot kann man cogs mit @bot.command machen?

solid ingot
#

keine Ahnung ich kann nur Slash commands

lofty rock
solid ingot
#

joa das hilft mir jetztnicht so viel, ich kenne deinen genauen error nicht

lofty rock
solid ingot
#

ja slash ist cool

#

und nicht outdated

lofty rock
#

das ding ist das ist halt ein embed mit tausend texten aber in @bot.command

wind finch
#

Code -> message.txt
Error: Keiner
Problem :
Wenn ich die Buttons benutze kommt Diese Interaktion ist fehlgeschlagen.

lofty rock
fierce dove
#

@wind finch warum ist das

@commands.Cog.listener() aus der classe

#

Un die option

fierce dove
#

Hier ein Beispiel command

import random
from discord.ext import commands

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

    @commands.command(name="roll_dice", aliases=["dice"])
    async def roll_dice(self, ctx):
        dice_result = random.randint(1, 6)
        await ctx.send(f"You rolled a {dice_result} on the dice!")

def setup(bot):
    bot.add_cog(Fun(bot))
wind finch
lofty rock
fierce dove
# wind finch Welches meinst du jetzt genau? Falsch eingerückt sagst du?
@commands.Cog.listener()
async def on_interaction(self, interaction):
    if isinstance(interaction, discord.Interaction):
        if interaction.custom_id == "claim_ticket":
            member_user = interaction.user
            user_avatar_url = member_user.avatar.url
            self.disabled = True
            await interaction.message.edit(view=self.view)
            view = discord.ui.View()
            view.add_item(self)

            if member_user == self.user and member_user.guild_permissions.kick_members:
                embed = discord.Embed(title="Ticket wurde geclaimt",
                                      description=f"Das Ticket wurde von {member_user.mention} geclaimt",
                                      colour=0x00ff2a)

                embed.set_thumbnail(url=user_avatar_url)
                embed.set_footer(text=member_user.name, icon_url=user_avatar_url)

                await interaction.response.send_message(embed=embed)
            else:
                await interaction.response.send_message("Du hast keine Berechtigung, dieses Ticket zu claimen.",
                                                        ephemeral=True)
        elif interaction.custom_id == "close_ticket":
            if self.bot is None:
                raise ValueError("//// SELF.BOT SET OFF NONE///")
            try:
                await interaction.response.send_message("Dein Ticket wird in 5 Sekunden geschlossen...",
                                                        ephemeral=True)
                await asyncio.sleep(5)
                channel = discord.utils.get(interaction.guild.text_channels, id=self.ticket_id)
                if channel:

                    transcript = await self.generate_transcript(channel)

                    transcript_channel_id = 1147167739723657216
                    transcript_channel = interaction.guild.get_channel(transcript_channel_id)
                    if transcript_channel:
                        file = discord.File(
                            io.BytesIO(transcript.encode("utf-8")),
                            filename="transcript.txt"
                        )
                        await transcript_channel.send(file=file)

                    await channel.delete()
            except discord.errors.NotFound:
                pass

        async def generate_transcript(self, channel):

            messages = await channel.history(limit=None).flatten()
            transcript = ""
            for message in messages:
                transcript += f"{message.author.display_name}: {message.content}\n"

            return transcript

Das muss in die classe:

Dropdown

#

Stimmt das @solid ingot

#

Teste den Code mal

wind finch
viscid lake
#

kennt sich wer mit nextguild aus habe da ein problem mit reaction (ich frage erst weil ich müde bin und nicht extra ein fetten text schreibe wenn es hier keiner kennt)

native plume
viscid lake
native plume
#

Wobei genau brauchst du denn Hilfe. Vielleicht können wir dir ja trzdm helfen

tawdry leaf
viscid lake
ruby sparrow
#

wie kann man Prefix commads in cogs machen ?

fierce dove
#

Hier ein Beispiel command

import random
from discord.ext import commands

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

    @commands.command(name="roll_dice", aliases=["dice"])
    async def roll_dice(self, ctx):
        dice_result = random.randint(1, 6)
        await ctx.send(f"You rolled a {dice_result} on the dice!")

def setup(bot):
    bot.add_cog(Fun(bot))
raven lotus
#

wie mache ich das Avatar vom Bot in einem Embed teil?

fierce dove
#

Als cog?

raven lotus
#

embed.set_footer(text=f"Test", icon_url=)

fierce dove
#

Mit

self.bot.user.avatar.url

raven lotus
#

wait

#

nope

ruby sparrow
# raven lotus wait

    
    async def avatar(self, ctx, member: discord.Member):
        await ctx.defer()
        avatar_user = await self.bot.fetch_user(member.id)
        user = discord.Embed(description=f"`{member}`")
        try:
            user.set_image(url=avatar_user.avatar.url)
        except AttributeError:
            return await ctx.respond(
                embed=discord.Embed(description="Dieser Nutzer sehr cooler avatar.", color=0xff1414))
        await ctx.respond(embed=user, ephemeral=True)
fierce dove
#

Mit

self.bot.user.avatar_url

@raven lotus

raven lotus
fierce dove
raven lotus
#

ich will das als Footer

ruby sparrow
fierce dove
fierce dove
ruby sparrow
#

@raven lotus

raven lotus
#

AttributeError: 'ClientUser' object has no attribute 'avatar_url'

viscid lake
raven lotus
#

echt?

#

dann muss ich ein bild hochladen

ruby sparrow
#

    
    async def avatar(self, ctx, member: discord.Member):
        await ctx.defer()
        avatar_user = await self.bot.fetch_user(member.id)
        user = discord.Embed(description=f"`{member}`")
        try:
            user.set_image(url=avatar_user.avatar.url)
        except AttributeError:
            return await ctx.respond(
                embed=discord.Embed(description="Dieser Nutzer sehr cooler avatar.", color=0xff1414))
        await ctx.respond(embed=user, ephemeral=True)
``` kannst das mal test @raven lotus
raven lotus
#

...

#

das ist image

#

net footer

#

i wollte Footer

#

eig

ruby sparrow
#

warte

#

mach dir

raven lotus
#

wie macht man ein bestimmtes bild als Icon_url? also hochgeladen natürlich

odd kiteBOT
raven lotus
#

also wie ich auf das Bild zugreife meinte ich

#

nicht wie man es macht

viscid lake
raven lotus
#

I know

#

deswegen versuche ich eine andere Methode

odd kiteBOT
raven lotus
#

nah

odd kiteBOT
raven lotus
#

auch net

viscid lake
fierce dove
viscid lake
#

Nvm hab nichts gesagt wusste das gar nicht peepothink

raven lotus
viscid lake
viscid lake
raven lotus
#

ich will eig gerade ein hochgeladenes bild, also in das Projekt, benutzen, aber ich muss erstmal das bekommen, nur wie weiß ich nicht

fierce dove
#

@viscid lake

icon_url (str) – The URL of the footer icon. Only HTTP(S) is supported.

#

Steht in den docs

viscid lake
#

Ist mir bewusst ich habe es gelesen

fierce dove
#

Muss schlafen

viscid lake
#

Mache nextguild grad

raven lotus
ruby sparrow
#

@raven lotus so was?

raven lotus
#

nah

#

Footer

#

bild unten im Footer meinte ich

#

also ein in das Projekt hochgeladene Bild da bei Footer rein

ruby sparrow
#

komm mal coding

raven lotus
#

ne, nicht um diese Zeit

ruby sparrow
#

warte guck mal ab ich hin komme

raven lotus
#

ich will nur ein Bild in das Footer reinmachen, mehr nicht

ruby sparrow
#
user.set_footer(icon_url="DEINE_BILD_URL_HIER")```
raven lotus
#

nope

#

also muss ich mit .jpg machen oder ohne?

ruby sparrow
#

so was meiste du ?

raven lotus
#

HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In embeds.0.footer.icon_url: Not a well formed URL.

fierce dove
#

.png

raven lotus
fierce dove
#

Muss sein

raven lotus
#

es muss png sein

#

ok, ich geh auf photopea

ruby sparrow
#
import discord
from discord.ext import commands
from discord.commands import slash_command
class avatar(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @slash_command()
    async def avatar(self, ctx, member: discord.Member):
        await ctx.defer()
        avatar_user = await self.bot.fetch_user(member.id)
        user = discord.Embed(description=f"`{member}`")
        try:
            user.set_image(url=avatar_user.avatar.url)
        except AttributeError:
            return await ctx.respond(
                embed=discord.Embed(description="Dieser Nutzer hat einen sehr coolen Avatar.", color=0xff1414))

        user.set_footer(text="Vielen Dank an invalidace für die Programmierung!", icon_url="https://media.discordapp.net/attachments/1158159425207541892/1159620082712989796/P-Logo-Gelb-fertig.png?ex=6531af5c&is=651f3a5c&hm=fafc5dc87a0097d6fff0411a576bb3dac457f1162ac1f9cb618e53fc2906e41f&=&width=701&height=701")

        await ctx.respond(embed=user, ephemeral=True)

def setup(bot):
    bot.add_cog(avatar(bot))
``` so
#

muss sein @raven lotus

raven lotus
#

bruh

ruby sparrow
#

wieso bruh?

raven lotus
#

XD

#

hab gedacht, dass es auch anderst geht

#

es geht aber

#

Thx

ruby sparrow
#

bitte

raven lotus
#

ich habe mich übelst verbessert

fierce dove
#

Warum

raven lotus
#

habe heute 2 neue Commands gemacht

fierce dove
#

Ok

raven lotus
#

XD

fierce dove
#

Fällt euch paar fun commands ein

raven lotus
#

jo

#

user schlagen oder so

fierce dove
raven lotus
#

mmmh

#

"Fake" kicken oder bannen

#

wenn du verstehst

#

also so etwa als Embed

User wurde gekickt
Grund: Weil

fierce dove
raven lotus
#

XD

raven lotus
fierce dove
raven lotus
#

jo, das muss ich auch machen

raven lotus
fierce dove
raven lotus
#

👍

fierce dove
#

Noch paar commands

restive herald
#

also facts

#

leider nur auf englisch

#

also mit englischer api

ruby sparrow
raw olive
#

hi, hab nen Kleines Problem mit meinem Bot :C

ich versuche eine Funktion einzubinden die es unterbindet das usern mit einer Bestimmten rolle weitere rollen zugewiesen werden aber immer wenn ich das tue sagt er mir: "Uknown role" Problem dabei ist das ich auch andere Commands habe um rollen zuzuweisen oder zu entfernen und die laufen reibungslos.

solid ingot
#

code?

raw olive
#

import discord
from discord.ext import commands

class PrideCog(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.unverified_role_id = 1158595066177261598
        self.pride_role_id = 1157430587355832402

    @commands.Cog.listener()
    async def on_member_update(self, before, after):
        has_pride_role = discord.utils.get(after.roles, id=self.pride_role_id) is not None

        if not has_pride_role:
            for role in after.roles:
                if role.id != self.unverified_role_id:
                    await after.remove_roles(role)

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

solid ingot
#

in welcher zeile tritt der error auf, bzw schick mal den kompletten error

raw olive
#

Ignoring exception in on_member_update
Traceback (most recent call last):
  File "C:\Users\rense\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\client.py", line 378, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\rense\PycharmProjects\Rainbow\Cogs\Anti Role.py", line 17, in on_member_update
    await after.remove_roles(role)
  File "C:\Users\rense\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\member.py", line 1054, in remove_roles
    await req(guild_id, user_id, role.id, reason=reason)
  File "C:\Users\rense\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\http.py", line 367, in request
    raise NotFound(response, data)
discord.errors.NotFound: 404 Not Found (error code: 10011): Unknown Role
ruby sparrow
#
import discord
from discord.ext import commands

class PrideCog(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.unverified_role_id = 1158595066177261598
        self.pride_role_id = 1157430587355832402

    @commands.Cog.listener()
    async def on_member_update(self, before, after):
        has_pride_role = discord.utils.get(after.roles, id=self.pride_role_id) is not None

        if not has_pride_role:
            roles_to_remove = []
            for role in after.roles:
                if role.id != self.unverified_role_id:
                    roles_to_remove.append(role)
            await after.remove_roles(*roles_to_remove)

def setup(bot):
    bot.add_cog(PrideCog(bot))``` test mal so
raw olive
#

Gleicher Fehler Weiterhin pandacryn

ruby sparrow
#

warte

#

ich test mal bei mir

ruby sparrow
raw olive
ruby sparrow
#

mach mal das zu print

raw olive
#

es läuft bis zum Letzten Await dann tritt der Error auf

ruby sparrow
#

bei komm kein error

solid ingot
#

intents an?

raw olive
#

es ist auch weird weil alle anderen Funktionen um rollen auf diesem Server zu geben und zu nehmen funktionieren nur diese nicht

ruby sparrow
#

warte

#

@raw olive bei mir geht alles

raw olive
#

mhm komisch

ich versuchs mal weiter Trotzdem Danke!

ruby sparrow
#

komm mal call

raw olive
#

Kann leider grade nicht in einen call fam schläft

ruby sparrow
#

warte ich zeig dir

ruby sparrow
#

@raw olive hab dein code gefix

ruby sparrow
#
import discord
from discord.ext import commands

class Pride(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.pride_role_id = 1158159492110893078  
        self.unverified_role_id = 1158159492110893078


    @commands.Cog.listener()
    async def on_member_update(self, before, after):
        has_pride_role = discord.utils.get(after.roles, id=self.pride_role_id) is not None
        print("role is back")


        if not has_pride_role:
            roles_to_remove = []
            for role in after.roles:
                if role.id != self.unverified_role_id:
                    roles_to_remove.append(role)
  

            try:
                await after.remove_roles(*roles_to_remove)
            except discord.errors.NotFound:
                pass

def setup(bot):
    bot.add_cog(Pride(bot))
``` @raw olive  hier ist er gefix code
ruby sparrow
#

warum spiel er kein music ab ```py
import discord
from discord.ext import commands

class Support(commands.Cog):
def init(self, bot):
self.bot = bot

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

    support_channel_name = 'Support'  

    if before.channel is None and after.channel is not None and after.channel.name == support_channel_name:
        voice_channel = after.channel
        voice_client = await voice_channel.connect()

        audio_source_link = "https://www.youtube.com/watch?v=0thPZsssZe0"
        
        try:
            audio_source = discord.FFmpegPCMAudio(executable="ffmpeg", source=audio_source_link)
            voice_client.play(audio_source, after=lambda e: print('Player error: %s' % e) if e else None)
        except Exception as e:
            print(f"An error occurred: {e}")

def setup(bot):
bot.add_cog(Support(bot))```

#

es kommt kein eroor

fierce dove
#

Hast du das hier installiert
youtube_dl

raven lotus
viscid lake
thick haven
#

Wie kann ich die id der rolle bekommen weil .id geht nicht

        for member in ctx.guild.members:
            booster_role = discord.utils.get(member.roles, name="Booster-Rolle")
            if booster_role:
                print(f"{member.name} --> <@&{booster_role}>")```
solid ingot
#

was genau geht daran nicht?

thick haven
#

oh jetzt geht es hab was vergessen tzd danke

native plume
# viscid lake Ja

Also Syntax wäre folgende:

Du erstellst einen .listener() / event()
(In Pycord ist es ein @commands.Cog.listener() )

Du nennst diesen Listener on_reaction_add()

^ das da macht das der Bot es merkt wenn jmd reagiert.

Nun musst du noch gucken ob es die Reaction ist die du haben willst. —> also if statement wo 1. der Channel oder die MSGID überprüft wird UND 2. das ReactionEmoji das emoji ist bei dem du möchtest das eine Rolle vergeben wird.

Fazit. Du hast die richtige Reaction.

Also du holst dir den User über reacter = reaction.user.

Dann die Rolle geben:

reacter.add_roles(ROLLENID)

So das war es schon

ruby sparrow
fierce dove
#

Bitte

viscid lake
ruby sparrow
fierce dove
fierce dove
#

Ist da von was json

ruby sparrow
fierce dove
fierce dove
ruby sparrow
#

ne

fierce dove
#

Ich brauche eine wert mit Ner json

ruby sparrow
#

es nix

fierce dove
#

Zb quiz JSON

native plume
ruby sparrow
native plume
#

Du musst es nur auf deine Lib übertragen

viscid lake
ruby sparrow
native plume
ruby sparrow
#

Wie kannst du das machen? Er ist die ganze Zeit auf Abruf und wenn ein neuer Benutzer dem Kanal beitritt, spielt er die Musik erneut ab?

blissful vale
# ruby sparrow geht immer doch nicht

Kommt ein Fehler? Wenn nein, dann Probiere doch einfach mal ein try/except:
Printe dann die Exception und wenn du willst, kannst du auch noch traceback importieren, damit der Fehler noch genauer beschrieben wird!

viscid lake
# ruby sparrow send mal dein code

Kann dir nur das schicken grade

async def  on_channel_message_reaction_create(reaction): if reaction.author == bot.user: return # Hier kannst du die Emoji-ID oder den Namen des Emojis setzen, auf das du reagieren möchtest. target_emoji = '????‍??'  # Setze das richtige Emoji hier ein if reaction.emoji.name == target_emoji: # Hole die Rolle, die du hinzufügen möchtest role = reaction.message.guild.get_role(role_id)  # Ersetze 'role_id' durch die tatsächliche Rollen-ID if role: try: await reaction.message.author.add_roles(role) await reaction.message.channel.send(f'{reaction.message.author.name} hat die Rolle {role.name} erhalten.') except Exception as e: print(f'Fehler beim Hinzufügen der Rolle: {e}') ```
ruby sparrow
#
@commands.Cog.listener()
    async def on_raw_reaction_add(self, payload):
        if payload.message_id == DEINE_NACHRICHT_ID and payload.emoji.name == "dein emoji":
            guild = self.bot.get_guild(payload.guild_id)
            member = guild.get_member(payload.user_id)
            role = discord.utils.get(guild.roles, name="Die gewünschte Rolle")

            if role and member:
                await member.add_roles(role)
                await member.send(f"Du hast die Rolle {role.name} erhalten!")``` @viscid lake test mal
viscid lake
#

Py geht s. Handy nicht

native plume
blissful vale
viscid lake
ruby sparrow
viscid lake
#

bei mir heißt das

@events.on_channel_message_reaction_create

native plume
viscid lake
#

ich habe zb

bot = Client(token=token 
events = Evebts(bot)```
#

error
File "C:\Users\sebas\Desktop\guilded\main.py", line 127, in on_channel_message_reaction_create
if event_data.emoji_text == '👧🏼':
^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Data' object has no attribute 'emoji_text'

code

@events.on_message
async def reaction_roles(message):
    if message.created_by == bot_id:
        return

    if message.content == '!reactionroles':
        reaction_embed_id = Data(
            bot.send_message(channel_id=message.channel_id, embed=reaction_embed())).id
        bot.create_message_reaction(message.channel_id, reaction_embed_id,
                                    emotess['male_red_haired'])
        bot.create_message_reaction(message.channel_id, reaction_embed_id,
                                    emotess['girl'])
        bot.create_message_reaction(message.channel_id, reaction_embed_id,
                                    emotess['ninja'])

@events.on_channel_message_reaction_create
async def on_channel_message_reaction_create(event_data):
    if event_data.created_by == bot_id:
        return

    if event_data.emoji_text == '👧🏼':
        message = await bot.get_message(event_data.channel_id, event_data.message_id)
        if message:
            role = message.guild.get_role(29844451)  # Ersetzen Sie 'role_id' durch die tatsächliche Rollen-ID
            if role:
                try:
                    await message.author.add_roles(role)
                    await message.channel.send(
                        f'{message.author.name} hat die Rolle {role.name} erhalten.')
                except Exception as e:
                    print(f'Fehler beim Hinzufügen der Rolle: {e}')
viscid lake
native plume
#

Und pycord hat das auch. Das ist nicht nur dc.py xD

viscid lake
native plume
#

Was brauchst du?

viscid lake
native plume
#

Cogs

ruby sparrow
#
@events.on_message
async def reaction_roles(message):
    if message.author.id == bot_id:
        return

    if message.content == '!reactionroles':
        reaction_embed_id = (await bot.send_message(channel_id=message.channel_id, embed=reaction_embed())).id
        await bot.create_reaction(message.channel_id, reaction_embed_id, emotess['male_red_haired'])
        await bot.create_reaction(message.channel_id, reaction_embed_id, emotess['girl'])
        await bot.create_reaction(message.channel_id, reaction_embed_id, emotess['ninja'])

@events.on_channel_message_reaction_add
async def on_channel_message_reaction_add(event_data):
    if event_data.user_id == bot_id:
        return

    if event_data.emoji == emotess['girl']:
        message = await bot.get_message(event_data.channel_id, event_data.message_id)
        if message:
            role = message.guild.get_role(role_id)
            if role:
                try:
                    member = await bot.get_member(event_data.guild_id, event_data.user_id)
                    await member.add_role(role)
                    await bot.send_message(
                        event_data.channel_id,
                        f'{member.username} hat die Rolle {role.name} erhalten.'
                    )
                except Exception as e:
                    print(f'Fehler beim Hinzufügen der Rolle: {e}')```
viscid lake
#

nextguild ist für eine andere app nicht für dc

#

deswegen gibt es auch keine cogs?

ruby sparrow
#

@viscid lake test

viscid lake
ruby sparrow
# viscid lake muss das ändern AttributeError: 'Events' object has no attribute 'on_channel_me...
@events.on_message
async def reaction_roles(message):
    if message.author.id == bot_id:
        return

    if message.content == '!reactionroles':
        reaction_embed_id = (await bot.send_message(channel_id=message.channel_id, embed=reaction_embed())).id
        await bot.create_reaction(message.channel_id, reaction_embed_id, emotess['male_red_haired'])
        await bot.create_reaction(message.channel_id, reaction_embed_id, emotess['girl'])
        await bot.create_reaction(message.channel_id, reaction_embed_id, emotess['ninja'])

@events.on_channel_message_reaction_create
async def on_channel_message_reaction_create(event_data):
    if event_data.user_id == bot_id:
        return

    if event_data.emoji == emotess['girl']:
        message = await bot.get_message(event_data.channel_id, event_data.message_id)
        if message:
            role = message.guild.get_role(role_id)
            if role:
                try:
                    member = await bot.get_member(event_data.guild_id, event_data.user_id)
                    await member.add_role(role)
                    await bot.send_message(
                        event_data.channel_id,
                        f'{member.username} hat die Rolle {role.name} erhalten.'
                    )
                except Exception as e:
                    print(f'Fehler beim Hinzufügen der Rolle: {e}')```
viscid lake
ruby sparrow
viscid lake
#
  File "C:\Users\sebas\Desktop\guilded\main.py", line 113, in reaction_roles
    reaction_embed_id = (await bot.send_message(channel_id=message.channel_id, embed=reaction_embed())).id
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: object dict can't be used in 'await' expression```
ruby sparrow
# viscid lake jetzt werden keine emojis hinzugefügt und es kommt ein error
emotess = {
    'male_red_haired': '👨‍🦰',
    'girl': '👧🏼',
    'ninja': '🥷'
}

@events.on_message
async def reaction_roles(message):
    if message.author.id == bot_id:
        return

    if message.content == '!reactionroles':
        reaction_embed_dict = reaction_embed()  
        reaction_embed_id = (await bot.send_message(channel_id=message.channel_id, embed=reaction_embed_dict)).id
        await bot.create_reaction(message.channel_id, reaction_embed_id, emotess['male_red_haired'])
        await bot.create_reaction(message.channel_id, reaction_embed_id, emotess['girl'])
        await bot.create_reaction(message.channel_id, reaction_embed_id, emotess['ninja'])

@events.on_channel_message_reaction_create
async def on_channel_message_reaction_create(event_data):
    if event_data.user_id == bot_id:
        return

    if event_data.emoji == emotess['girl']:
        message = await bot.get_message(event_data.channel_id, event_data.message_id)
        if message:
            role = message.guild.get_role(role_id)
            if role:
                try:
                    member = await bot.get_member(event_data.guild_id, event_data.user_id)
                    await member.add_role(role)
                    await bot.send_message(
                        event_data.channel_id,
                        f'{member.username} hat die Rolle {role.name} erhalten.'
                    )
                except Exception as e:
                    print(f'Fehler beim Hinzufügen der Rolle: {e}')```
viscid lake
#
File "C:\Users\sebas\Desktop\guilded\main.py", line 117, in reaction_roles
    if message.author.id == bot_id:
       ^^^^^^^^^^^^^^
AttributeError: 'Data' object has no attribute 'author'```
#

das ist nicht wie pycord oder dc.py

restive herald
#

Hat jmd ne Idee, warum ich kein Github Copilot mehr nutzen kann?
Bin eigtl. schon für Education Version registriert.

old ore
#

also die exstention

restive herald
old ore
restive herald
#

ich probier gerade

old ore
normal sundial
#

hey kurze frage bekomme nach dem heutigen video diesen traceback:

Traceback (most recent call last):
  File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 408, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 84, in __call__
    return await self.app(scope, receive, send)
  File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\fastapi\applications.py", line 292, in __call__
    await super().__call__(scope, receive, send)
  File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\applications.py", line 122, in __call__
    await self.middleware_stack(scope, receive, send)
  File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\errors.py", line 184, in __call__
    raise exc
  File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\errors.py", line 162, in __call__
    await self.app(scope, receive, _send)
  File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\exceptions.py", line 79, in __call__
    raise exc
  File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 20, in __call__
    raise e
  File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 17, in __call__
    await self.app(scope, receive, send)
  File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\routing.py", line 718, in __call__
    await route.handle(scope, receive, send)
  File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\routing.py", line 276, in handle
    await self.app(scope, receive, send)
  File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\routing.py", line 66, in app
    response = await func(request)
  File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\fastapi\routing.py", line 273, in app
    raw_response = await run_endpoint_function(
  File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\fastapi\routing.py", line 190, in run_endpoint_function
    return await dependant.call(**values)
  File "c:\Users\Angel\Desktop\dashboard test\main.py", line 119, in server
    "name": stats.response["name"],
TypeError: 'NoneType' object is not subscriptable

ich verstehe aber nicht woher das kommt hab eigentlich alles gleich wie im video kann mir schnell wer helfen?

#
@app.get("/server/{guild_id}")
async def server(request: Request, guild_id: int):
    session_id = request.cookies.get("session_id")
    if not session_id or not await db.get_session(session_id):
        raise HTTPException(status_code=401, detail="no auth")
    
    stats = await ipc.request("guild_stats", guild_id=guild_id)

    return templates.TemplateResponse(
        "server.html",
        {
            "request": request,
            "name": stats.response["name"],
            "count": stats.response["member_count"],
            "id": guild_id,

        }
    )

das ist die main

#
 @Server.route()
    async def guild_stats(self, data: ClientPayload):
        guild = self.get_guild(data.guild_id)
        if not guild:
            return {
                "member_count": 69,
                "name": "Unbekannt"
            }

        return {
            "member_count": guild.member_count,
            "name": guild.name,
        }

das die bot.py

wind finch
#

Code -> message.txt
Error: Keiner
Problem :
Wenn ich die Buttons benutze kommt Diese Interaktion ist fehlgeschlagen.

restive herald
#

hast doch gar keinen callback dafür oder?

#

also für die buttons

#

oder is das dieses on_interaction

#

versuchs doch eif mal mit nem normalen button

wind finch
restive herald
#

kannste doch auch machen mit normalen buttons

#

weiß jmd wie man ne msg gettet? bin gerade zu brain afk

#

also mit id

wind finch
restive herald
wind finch
restive herald
wind finch
restive herald
wind finch
restive herald
wind finch
restive herald
#

jmd ne idee warum das nd geht?

 user = interaction.client.get_user(self.id)
        print(user)
        await user.add_roles(discord.utils.get(interaction.guild.roles, name=f"Shop Punkte: {points - price}"))```
restive herald
tawdry leaf
#

in einen event oder wie xD

restive herald
restive herald
tawdry leaf
#

Also ich meine wie du den user übergeben hast

restive herald
#

hab die user id halt übergeben

tawdry leaf
#

okay

#

und du hast kein error nh

restive herald
#
class TicketButtons(discord.ui.View):
    def __init__(self, id, item):
        super().__init__(timeout=None)
        self.id = id

       embed.set_footer(text="Kauf-Ticket System")




                await c.send(embed=embed, view=TicketButtons(id=interaction.user.id, item=self.item))
     

restive herald
# tawdry leaf okay

doch

await user.add_roles(discord.utils.get(interaction.guild.roles, name=f"Shop Punkte: {points - price}"))

AttributeError: 'User' object has no attribute 'add_roles'

#

das wundert mich ja

tawdry leaf
#

und wenn du:

 user = interaction.client.get_user(id)```
#

aber wenn du user übergibst musst den doch gar nd getten?

restive herald
#

nee das war nur wie ichs übergebe

restive herald
tawdry leaf
#

hm verstehe nd ganz wie du des meinst

restive herald
#

class TicketButtons(discord.ui.View):
    def __init__(self, id, item):
        super().__init__(timeout=None)
        self.id = id
        self.item = item

    @discord.ui.button(label="Kauf akzeptieren", style=discord.ButtonStyle.green, emoji="✅", custom_id="button1")
    async def button_callback1(self, button, interaction):
        async with aiosqlite.connect("p.db") as db:
            async with db.execute("SELECT points FROM points WHERE user_id = ?", (self.id,)) as cursor:
                points = await cursor.fetchone()
                points = points[0]
            async with db.execute("SELECT ausgegeben FROM points WHERE user_id = ?", (self.id,)) as cursor:
                ausgegeben = await cursor.fetchone()
                ausgegeben = ausgegeben[0]
            async with db.execute("SELECT buys FROM points WHERE user_id = ?", (self.id,)) as cursor:
                buys = await cursor.fetchone()
                buys = buys[0]

            async with db.execute("SELECT xp FROM points WHERE user_id = ?", (self.id,)) as cursor:
                lifetime_points = await cursor.fetchone()
                lifetime_points = lifetime_points[0]

        async with aiosqlite.connect("p.db") as db:
            async with db.execute("SELECT prize FROM prize WHERE item = ?", (self.item,)) as cursor:
                price = await cursor.fetchone()
                price = price[0]

        async with aiosqlite.connect("p.db") as db:
            await db.execute("UPDATE points SET points = ? WHERE user_id = ?", (points - price, self.id))
            await db.execute("UPDATE points SET ausgegeben = ? WHERE user_id = ?", (ausgegeben + price, self.id))
            await db.execute("UPDATE points SET buys = buys + 1 WHERE user_id = ?", (self.id,))
            await db.commit()

        user = interaction.client.get_user(self.id)
        print(user)
        await user.add_roles(discord.utils.get(interaction.guild.roles, name=f"Shop Punkte: {points - price}"))
        await user.remove_roles(discord.utils.get(interaction.guild.roles, name=f"Shop Punkte: {points}"))
        ```
#

das is der code. ich übergeb die id, da ich die id wie ich sie da stehen hab nd direkt im code nutzen kann mach ich self.id
mit self.id kommt dann auch ein user objekt aber ich kann dem nichts adden

#

das is btw der error

open dragon
#

hey ich habe den member count benutzt.
bei mir funktioniert das guild nicht ka why