#Allgemeine Hilfe

1 messages · Page 35 of 1

vivid sky
#

fehler code?

golden sky
golden sky
solid ingot
#

discord.Client ist zwar veraltet, sollte aber existieren. hast du evtl mehrere discord packages installiert? schau dazu evtl in #🔍・pycord-help

golden sky
solid ingot
#

das an sich hat erstmal nichts damit zu tun welche library du nutzt

old ore
#

hab mit sowas noch nie wirklich gearbeitet und finde auch nicht so wirklich was mir weiterhilft

open dragon
#

Hey

#
import discord
from discord.utils import basic_autocomplete
from discord.ext import commands
from discord.commands import slash_command, Option

Teamler = ["Administrator", "Teamleitung", "Designer"]


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

    @slash_command()
    async def weiterleiten(
            self, ctx, auswahl: Option(str, choises=["Designer", "Teamleitung", "Administrator"])
    ):

        if auswahl == "Designer":
            embed = discord.Embed(title="⚡ x ENDZONE Support", description="""⚙️ | Dein Ticket wird an einen Designer weitergeleitet!
Bitte habe ein wenig Geduld.""", color=discord.Color.nitro_pink())

        if auswahl == "Administrator":
            embed = discord.Embed(title="⚡ x ENDZONE Support", description="""⚙️ | Dein Ticket wird an einen Administrator weitergeleitet!
Bitte habe ein wenig Geduld.""", color=discord.Color.nitro_pink())

        if auswahl == "Teamleitung":
            embed = discord.Embed(title="⚡ x ENDZONE Support", description="""⚙️ | Dein Ticket wird an unsere Teamleitung weitergeleitet!
Bitte habe ein wenig Geduld.""", color=discord.Color.nitro_pink())

        await ctx.respond(embed=embed)


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

ich kann immernoch nichts auswählen

vivid sky
# open dragon ```py import discord from discord.utils import basic_autocomplete from discord.e...
import discord
from discord.utils import basic_autocomplete
from discord.ext import commands
from discord.commands import slash_command, Option

Teamler = ["Administrator", "Teamleitung", "Designer"]

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

    @slash_command()
    async def weiterleiten(
            self, ctx, auswahl: Option(str, choices=["Designer", "Teamleitung", "Administrator"])
    ):

        if auswahl == "Designer":
            embed = discord.Embed(title="⚡ x ENDZONE Support", description="""⚙️ | Dein Ticket wird an einen Designer weitergeleitet!
Bitte habe ein wenig Geduld.""", color=discord.Color.nitro_pink())

        if auswahl == "Administrator":
            embed = discord.Embed(title="⚡ x ENDZONE Support", description="""⚙️ | Dein Ticket wird an einen Administrator weitergeleitet!
Bitte habe ein wenig Geduld.""", color=discord.Color.nitro_pink())

        if auswahl == "Teamleitung":
            embed = discord.Embed(title="⚡ x ENDZONE Support", description="""⚙️ | Dein Ticket wird an unsere Teamleitung weitergeleitet!
Bitte habe ein wenig Geduld.""", color=discord.Color.nitro_pink())

        await ctx.respond(embed=embed)

def setup(bot):
    bot.add_cog(Base(bot))
vivid sky
#

also wenn es geht

open dragon
#

ja geht

open dragon
#

es wird nur Designer gesendet das andere net

urban glen
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @brave flower, du bist jetzt Level 12 🎉

Du hast insgesamt 1,047 Nachrichten geschrieben.

urban glen
#

warujm geht das ned

solid ingot
vivid sky
urban glen
#

ok

vivid sky
#

per nachricht?

#

oder per choices

#

ah

#

idk

tawdry leaf
#

Dann erkläre mal wie genau also wo soll es ein Programm Spiel etc. Werden ?

#

Ja.. aber wo in der console ?

#

Und wo magst den ausgeben

open dragon
vivid sky
#

welche pings

urban glen
#

Hallo, ich habe schon seit einigen Tagen diesen error. Habe es mehrmals hier reingeschickt jedoch hat mir keiner richtig weitergeholfen deswegen frage ich nochmal. Ich bin alles wie unter #🔍・pycord-help durchgegangen jedoch bringt es leider nichts.

intents = discord.Intents.all()
#

und discord & discord.py habe ich nicht installiert

limpid wolf
urban glen
limpid wolf
#

Dann mach das mal und Zeig mal etwas mehr vom code aus der main

urban glen
urban glen
limpid wolf
#

Probier mal den Code

#

Wobei ne

urban glen
#

an den imports aber nichts ändern oder?

limpid wolf
#

es muss eig an deinen installierten sachen liegen

urban glen
#

okay 😄

#

soll ich dir die ganze liste schicken?

limpid wolf
#

mach mal pip freeze

#

und dann mal schicken

limpid wolf
urban glen
#

Ich weiß da ist gefühlt jeder Müll zu finden heheheha

limpid wolf
#

Puh

#

es müsste eigentlich ein install fehler sein

solid ingot
#

hey, sobald du sicher bist, dass du keine anderen discord packages mehr installiert hast, musst du pycord neu installieren

solid ingot
#

dann erstell mal ein virtual environment

urban glen
solid ingot
#

wo nur die packages drin sind die du auch wirklich brauchst

#

bei pycharm könnte ich dir helfen, bei vsc musst du selbst nachschauen

urban glen
#

okay

novel ore
#

Schick mal bitte denn ganzen error

tawdry leaf
#

playerlist = resp["players"]["list"]

#

das

#

wozu 😂

normal sundial
#

hey gibt es eine möglichkeit wie der bot erkennt ob ein user innerhalb eines 24 std zeitraums eine nachricht geschrieben hat?

dense magnet
normal sundial
#

ja das macht sinn danke xD

normal sundial
urban glen
#

Kurze Frage auf welcher Website kann man seinen Code hochladen wie z.B. einen Error um den zu teilen?

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @elder epoch, du bist jetzt Level 13 🎉

Du hast insgesamt 938 Nachrichten geschrieben.

dense magnet
#

ca so

dense magnet
normal sundial
dense magnet
urban glen
tawdry leaf
#

Mensch etz

normal sundial
#

danke trotzdem ich muss mal weiter suchen bzw erklärungen suchen

normal sundial
dense magnet
normal sundial
#

okay verstehe und nun zur letzten hauptfrage (sorry dafür) wenn ich jetzt machen möchte dass wenn ein user beitritt und 24 stunden hat zu schreiben es aber nicht tut und dann gekickt wird vom server. geht dass einfach mit der on_member_join methode? will nicht riskieren dass aus meinem test server alle gekickt werden (sind n paar mehr leute) deshalb frage ich hier

normal sundial
#

achso und es soll wenn er innerhalb der 24 stunden schreibt nicht gekickt werden und nicht mehr geprüft geht das irgendwie?

urban glen
#

Hilfe selbst dieses venv hat mir nd geholfen

#

hab jz alles wieder wie normal

tawdry leaf
#

Da blicke ich nicht ganz durch

normal sundial
#

und bei meiner frage?

tawdry leaf
tawdry leaf
#

Ja da ist der error sage ich

#

list

normal sundial
tawdry leaf
#

Hmm du musst des Ja jederzeit schauen ob timestamp in der db noch andauert

normal sundial
#

deswegen ja wie löse ich das dass der bot immer checkt?

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


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

    @slash_command(description="Restarte den Bot")
    @commands.is_owner("817435791079768105") 
    async def restart(self, ctx):
     await ctx.respond("Der Bot wird neu gestartet...")

    
    
    TOKEN = bot.TOKEN
    await bot.close()
    await bot.login(os.getenv("TOKEN"))
    await bot.connect()


    await ctx.respond(embed=embed)


def setup(bot):
    bot.add_cog(restart(bot))```
#
    await bot.close()
    ^^^^^^^^^^^^^^^^^
SyntaxError: 'await' outside function

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

Traceback (most recent call last):
  File "c:\Users\Rysii\OneDrive\Desktop\neu discord bot\main.py", line 100, in <module>
    bot.load_extension(f"cogs.{filename[:-3]}")
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 910, in load_extension
    self._load_from_module_spec(spec, name)
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 777, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.restart' raised an error: SyntaxError: 'await' outside function (restart.py, line 18)```
urban glen
#

falsch eingerückt

peak prawn
#

Also

umbral goblet
#

ja

peak prawn
#

ich will ein slash_command machen im @cog wo die Willkommensnachricht hingesendet werden soll. Und das sollte dann auch in der Datenbank eingetragen werden weißt du wie das funktioniert? Habe das gestern schon versucht bin gescheitert

peak prawn
peak prawn
#

hat nd funktioniert

umbral goblet
tawdry leaf
#

Das list steht doch da

peak prawn
#

einen befehl wo man den welcome channel eintragen kann

umbral goblet
#

aha

peak prawn
#

also wo die willkommens-nachricht dann hin sendet

#

bin jetzt nd der beste im erklären xD

umbral goblet
#

also erstell mal den /command einfach normal

tawdry leaf
#

Hm mach setup Channel und Speicher in Datenbank zum Beispiel

umbral goblet
#

und danach schaust du auf timos github nach wie er sachen in eienr datenbank speichert

peak prawn
#

aber funktioniert nd

#

import discord
from discord.ext import commands
from discord.commands import slash_command
from pymongo import MongoClient

from easy_pil import Editor, Font, load_image_async

class Image(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.mongo_client = MongoClient('mongodb://localhost:27017/')
        self.db = self.mongo_client['welcome_db']
        self.guild_collection = self.db['guilds']

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

    @commands.Cog.listener()
    async def on_member_join(self, member):
        guild_id = member.guild.id
        guild_data = self.guild_collection.find_one({"guild_id": guild_id})
        if guild_data:
            channel_id = guild_data["channel_id"]
            background = Editor("test3.png").resize((800, 250))

            avatar = await load_image_async(member.display_avatar.url)
            circle_avatar = Editor(avatar).resize((160, 160)).circle_image()
            background.paste(circle_avatar, (93, 45))

            big_text = Font.montserrat(size=25, variant="bold")
            small_text = Font.poppins(size=20, variant="bold")
            babby_text = Font.poppins(size=16, variant="bold")
            copyright_new = Font.montserrat(size=10, variant="bold")

            name_width, _ = big_text.getsize(member.name) #TO Wraithware 

            background.text((660, 90), f"Willkommen {member.name}", color="#ffffff", font=big_text, align="right")
            background.text((550, 125), f"bei Wraithware ", color="#ffffff", font=small_text, align="right")
            background.text((650, 152), f"Du bist der {member.guild.member_count} Member", color="#ffffff", font=babby_text, align="right")
            background.text((780, 235), f"Created by InvalidÖssi#8822", color="#505050", font=copyright_new, align="right")

            file = discord.File(fp=background.image_bytes, filename='test2.png')
            channel = await self.bot.fetch_channel(channel_id)
            await channel.send(f"**Willkommen {member.mention}!**", file=file, view=halloView())

    @slash_command(name="set_welcome_channel", description="Set the channel for the welcome system.")
    async def set_welcome_channel(self, ctx: commands.Context, channel: discord.TextChannel):
        guild_id = ctx.guild.id
        channel_id = channel.id
        guild_data = self.guild_collection.find_one({"guild_id": guild_id})
        if guild_data:
            self.guild_collection.update_one({"guild_id": guild_id}, {"$set": {"channel_id": channel_id}})
        else:
            self.guild_collection.insert_one({"guild_id": guild_id, "channel_id": channel_id})
        await ctx.send(f"Welcome channel set to {channel.mention}.")

    @slash_command(name="register_guild", description="Register the guild for the welcome system.")
    async def register_guild(self, ctx: commands.Context):
        guild_id = ctx.guild.id
        guild_data = self.guild_collection.find_one({"guild_id": guild_id})
        if guild_data:
            await ctx.send("This guild is already registered.")
        else:
            self.guild_collection.insert_one({"guild_id": guild_id})
            await ctx.send("Guild registered for the welcome system.")
tawdry leaf
#

Und dann beim member_join Event eben abrufen

#

Und error

peak prawn
#

wait

#
import discord
from discord.ext import commands
from discord.commands import slash_command
from pymongo import MongoClient

from easy_pil import Editor, Font, load_image_async

class Image(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.mongo_client = MongoClient('mongodb://localhost:27017/')
        self.db = self.mongo_client['welcome_db']
        self.guild_collection = self.db['guilds']

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

    @commands.Cog.listener()
    async def on_member_join(self, member):
        guild_id = member.guild.id
        guild_data = self.guild_collection.find_one({"guild_id": guild_id})
        if guild_data:
            channel_id = guild_data["channel_id"]
            background = Editor("test3.png").resize((800, 250))

            avatar = await load_image_async(member.display_avatar.url)
            circle_avatar = Editor(avatar).resize((160, 160)).circle_image()
            background.paste(circle_avatar, (93, 45))

            big_text = Font.montserrat(size=25, variant="bold")
            small_text = Font.poppins(size=20, variant="bold")
            babby_text = Font.poppins(size=16, variant="bold")
            copyright_new = Font.montserrat(size=10, variant="bold")

            name_width, _ = big_text.getsize(member.name) #TO Wraithware 

            background.text((660, 90), f"Willkommen {member.name}", color="#ffffff", font=big_text, align="right")
            background.text((550, 125), f"bei Wraithware ", color="#ffffff", font=small_text, align="right")
            background.text((650, 152), f"Du bist der {member.guild.member_count} Member", color="#ffffff", font=babby_text, align="right")
            background.text((780, 235), f"Created by InvalidÖssi#8822", color="#505050", font=copyright_new, align="right")

            file = discord.File(fp=background.image_bytes, filename='test2.png')
            channel = await self.bot.fetch_channel(channel_id)
            await channel.send(f"**Willkommen {member.mention}!**", file=file, view=halloView())

    @slash_command(name="set_welcome_channel", description="Set the channel for the welcome system.")
    async def set_welcome_channel(self, ctx: commands.Context, channel: discord.TextChannel):
        guild_id = ctx.guild.id
        channel_id = channel.id
        guild_data = self.guild_collection.find_one({"guild_id": guild_id})
        if guild_data:
            self.guild_collection.update_one({"guild_id": guild_id}, {"$set": {"channel_id": channel_id}})
        else:
            self.guild_collection.insert_one({"guild_id": guild_id, "channel_id": channel_id})
        await ctx.send(f"Welcome channel set to {channel.mention}.")

    @slash_command(name="register_guild", description="Register the guild for the welcome system.")
    async def register_guild(self, ctx: commands.Context):
        guild_id = ctx.guild.id
        guild_data = self.guild_collection.find_one({"guild_id": guild_id})
        if guild_data:
            await ctx.send("This guild is already registered.")
        else:
            self.guild_collection.insert_one({"guild_id": guild_id})
            await ctx.send("Guild registered for the welcome system.")

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

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

    @discord.ui.button(label=f"Heiße ihn Herzlich Willkommen", style=discord.ButtonStyle.gray, custom_id="Hallo", emoji="⚡")
    async def begruessen(self,  button, interaction: discord.Interaction):
        await interaction.response.send_message(f" | {interaction.user.mention} heißt den neuen User Herzlich Wilkommen!")
        button.disabled = True
        await interaction.message.edit(view=self)
#

das is der ganze code. [nd alles von mir]

peak prawn
umbral goblet
peak prawn
umbral goblet
#

ich arbeite nicht für dich ich helfe dir nur

peak prawn
#

kommt auch halt keine fehlermeldung

tawdry leaf
umbral goblet
#

was geht nicht?

umbral goblet
peak prawn
#

die slash commands werden angezeigt aber funktioniert nicht

umbral goblet
#

du must statt ctx.send ctx.response.send_message machen

tawdry leaf
peak prawn
#

ahh, doch ein fehlercode aber nur beim anderen slash_command.

fehlercode,

umbral goblet
#

es scheint so als hättest du keine verbinidung zur mongoDB aber ich kenne mich mit dieser db auch niocht wirklich aus

peak prawn
#

welche db soll ich nach deiner meinung nehmen?

umbral goblet
#

sqlite die die timo in seinen videos auch nutzt

#

da brauchst du dich nicht verbinden und so sachen

indigo sapphire
#

Ist eh einfacher Bezogen auf SQlite oder MySQL weil die haben sehr ähnlich Eingabe

indigo sapphire
umbral goblet
#

ein bisschen mehr kontext?

#

ja auf diesem bild kann ich keine abfrage erkennen

#

und was meinst du mit abfrage

indigo sapphire
#

Schon besser

tawdry leaf
#

ich habe oben den Fehler doch geschrieben xD

#

wo hast du den gepostet

#

da ist kein error

#

um den zu sehen braucht man schon den ganzen code von dem command

viscid lake
#

bin grade dumm

aber ich bekomme den fehler nicht weg

discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: TypeError: ApplicationCommand.__call__() missing 1 required positional argument: 'ctx'```

code 
```py
@bot.slash_command()
@commands.has_permissions(administrator=True)
async def infooo(ctx):
    view = infooo()
    embed = discord.Embed(title="![herz](https://cdn.discordapp.com/emojis/1106024981797814353.webp?size=128 "herz") › ÜBER UNS  - HERZLICH WILLKOMMEN",
                          description="> Wir sind ein Deutscher Community Server.\n"
                                      "> Wo man Freunde kennenlernen kann oder \n"
                                      "> oder einfach nur chatten kannst\n\n"
                                      "> ![partyyy](https://cdn.discordapp.com/emojis/1106029769801343057.webp?size=128 "partyyy") › **WAS KANN MAN HIER MACHEN?**\n"
                                      "> Du kannst auf unserem Server einige Sachen finden\n"
                                      "> Man kann auch sehr vieles ansehen oder machen \n"
                                      "> wir haben auf dem Server …\n\n"
                                      "> ![partyyy](https://cdn.discordapp.com/emojis/1106029769801343057.webp?size=128 "partyyy") › *Regelmäßige Giveaways*\n"
                                      "> ![staff](https://cdn.discordapp.com/emojis/1072908692741173298.webp?size=128 "staff") › *Nettes Team*\n"
                                      ">  ![green_Money](https://cdn.discordapp.com/emojis/1106032123640557658.webp?size=128 "green_Money") › *Eigenes Casino*\n"
                                      "> ![warn](https://cdn.discordapp.com/emojis/1106032961201119374.webp?size=128 "warn") › *Ein eigenes Wiki*\n"
                                      "> ![Ping](https://cdn.discordapp.com/emojis/1106033258979926116.webp?size=128 "Ping") › *Keine unnötige Pings*\n"
                                      "> ![Hug](https://cdn.discordapp.com/emojis/1100756726556393603.webp?size=128 "Hug") › *Nette Community*\n"
                                      "> ![support94](https://cdn.discordapp.com/emojis/1106034524577599488.webp?size=128 "support94") › *Schneller Support*",

                          color=0x35b7c2)

    await ctx   .send(embed=embed, view=view)```
#

das ist kein cog

solid ingot
#

infooo() ist der name von deinem slash command und kein view, also geht die folgende zeile nicht

view = infooo()
solid ingot
#

dann solltest du view = infoo() schreiben mit 2x O, und nicht view = infoo(), denn die version mit 3x O ist der slash command und nicht die view klasse

viscid lake
#

hab es grade verbessert

#

kuss

peak prawn
#
Exception has occurred: AttributeError
module 'discord.ext.commands.context' has no attribute 'SlashContext'
  File "D:\Python - Wichtige Sachen Nicht löschen\Andere Sachen\BOTS\Welcome\system.py", line 82, in <module>
    async def embed(ctx: commands.context.SlashContext):
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'discord.ext.commands.context' has no attribute 'SlashContext'
#

Weis wer welches imports ich da brauche?

solid ingot
#
async def embed(ctx: discord.ApplicationContext):
solid ingot
#

bei deiner cog klasse muss commands.Cog in den runden klammern stehen

solid ingot
#

schick am besten immer den ganzen error und den code

#

nenn deine group mal anders als deinen command

tawdry leaf
#

😅

solid ingot
#

INSERT OR IGNORE

limpid wolf
#

was soll dass denn heißen?

#

Was hab ich denn bitte damit zu tun??

limpid wolf
#

Liegt aber zu 100% nicht an meiner api

#

Sondern an dem was du vorher machst

#

Check doch mal mit print ob das alles ausgeführt wird

limpid wolf
#

Dann mach doch mal nur, das die api das checkt und lass es dir printen

#

Dann siehst du ja das es nicht dran liegt

limpid wolf
surreal patrol
#

playerlist = resp["players"]["list"]?

urban glen
#

@urban glen

limpid wolf
#

Nope ist denke ich nicht so gut nur wenn man eine spalte hat aber ich würde eher Update für sowas verwenden

urban glen
#

Dann müsste man es halt mit guildid abspeichern

ruby sparrow
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @ruby sparrow, du bist jetzt Level 16 🎉

Du hast insgesamt 1,175 Nachrichten geschrieben.

ruby sparrow
limpid wolf
wise stone
#

wenn du wissen willst wie es gesendet wird dann kann ich sagen

es wird einfach in on_ready getriggert indem du einfach die guild und Channel gettest und dann halt ganz normal ein embed oder Nachricht versendet

limpid wolf
solid ingot
#

async with statt await

#

bei await db.execute

solid ingot
#

in deinem fall wahrscheinlich nicht

surreal patrol
ruby sparrow
solid ingot
solid ingot
ruby sparrow
surreal patrol
solid ingot
#

es reicht wenn du auf einem account fragst xD

#

zu diesem thema hab ich ein video gemacht

burnt prairieBOT
#

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
ruby sparrow
#
@bot.event
async def on_ready(self):
    channel_id = 1103230981013524524
    channel = self.bot.get_channel(channel_id)
    print(f"{bot.user} is ready")
    bot.loop.create_task(status_task())```
#
Traceback (most recent call last):
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\client.py", line 378, in _run_event
    await coro(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^
TypeError: on_ready() missing 1 required positional argument: 'self'```
solid ingot
#

wenn das in der main datei ist brauchst du kein self

wise stone
surreal patrol
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @surreal patrol, du bist jetzt Level 4 🎉

Du hast insgesamt 53 Nachrichten geschrieben.

surreal patrol
# wise stone zeig Code..
@bot.event
async def on_ready():
    channel_id = 1103230981013524524
    channel = bot.get_channel(channel_id)
    print(f"{bot.user} is ready")
    bot.loop.create_task(status_task())```
wise stone
#

und was soll es senden wenn nichts gesendet wird? übrigens bringt dir es nicht die Channel ID als Definition nochmal anzugeben

wise stone
#

nein im Code wird nicht definiert das er was senden soll

surreal patrol
wise stone
#

await channel.send bitte dann die Docs lesen

#

der Rest sollte dir klar sein ganz normal machen

solid ingot
#

bitte nur einmal fragen! @ruby sparrow @surreal patrol

ruby sparrow
#

warte komm mal kurz call

ruby sparrow
solid ingot
#

komm in #1020760853634633879

ruby sparrow
solid ingot
#
ezcord.set_log(
    webhook_url="WEBHOOK_URL",
    discord_log_level=20
)
solid ingot
#

von wem dann?

#

@digital crypt

digital crypt
#

Kp habe das von jamansem auf dem Server. Kp mehr von wem

tawdry leaf
#

Es ist aber simple gut zum einsteigen in eine Programmiersprache 😅

crude heath
#

Hat jemand ne Idee wieso das unterstrichen ist?

normal sundial
#

weil du self in der zeile drüber nicht stehen hast dass muss vor member stehen

crude heath
#

ach thx

crude heath
#

kann man mit pycharm keine ordner öffnen

solid ingot
#

wie meinst du das

crude heath
#

naja kann die weder reinziehen noch iwie im mac finder damit öffnen

#

bei dem "Open" werden auch keine ordner angezeigt

solid ingot
#

hm sollte eig klappen

crude heath
#

nicht das ihr denkt ich bin zu dumm dafür aber geht nd xd

#

ah ich habs

#

Das Dashboard von @high glen is mit linux oder?

solid ingot
#

naja also das backend wird auf einem linux server gehostet falls du das meinst

crude heath
#

Ja so ungefähr

ruby sparrow
#

timo reden mal

umbral goblet
#

steht schon in #💬・chat

tawdry leaf
#

guild_only

#

diese pings xD

solid ingot
#

achso, bei command groups musst du das in die group mit reinschreiben

crude heath
#

Jemand ne Idee, warum das Colorama nicht erkennt?

#

also bei @high glen

solid ingot
#

hm wahrscheinlich zu viel memory verbraucht

crude heath
peak prawn
crude heath
solid ingot
#

starte einfach paar Mal hintereinander

ruby sparrow
#

kann einer eine Minecraft skin url ?

crude heath
#

ja, is out of memory waren so 2 mb zu viel xd

peak prawn
#

machst du über keks hosting oder endelon?

ruby sparrow
#

hat einer eine Minecraft skin url ?

crude heath
ruby sparrow
#

@solid ingot weiss du wie geht das

solid ingot
#

nein

ruby sparrow
urban glen
#
        if message.author.id in data:
            user_id = data[str(message.author.id)]
            data[user_id]["message_count"] += 1
            with open('credits.json', 'w', encoding='utf-8') as f:
                json.dump(data, f, indent=4)
#

Hilfe, der Bot trackt keine Nachrichten

ruby sparrow
urban glen
#

und code ist da

solid ingot
#

schon geprüft ob die if bedingung auch true wird?

ruby sparrow
solid ingot
#

und?

urban glen
solid ingot
#

dann wird die if bedingung wohl false

urban glen
#

message.author ist in data aber der message count bleibt unverändert

urban glen
solid ingot
#

das ist ein string

#

message.author.id ist ein integer

#

immer prüfen ob die bedingung true wird und falls nicht schauen wieso nicht

urban glen
# solid ingot `message.author.id` ist ein integer
        if message.author.id in data:
            user_id = data[int(message.author.id)]
            data[user_id]["message_count"] += 1
            with open('credits.json', 'w', encoding='utf-8') as f:
                json.dump(data, f, indent=4)

Hab's jz gemacht wird immer noch nichts geändert

solid ingot
#

naja die if bedingung wird ja false. der code wo du was geändert hast wird also gar nicht ausgeführt

solid ingot
#

doch

ruby sparrow
#

Was denn

#

Kannst Du senden?

#

Warum

limpid wolf
#

Weiß jemand, ob man mit chat-exporter auch nur z.b. ab einer bestimmten nachricht + die 100 nachrichten davor oder so loggen kann?

#

also nt die neuste nachricht

ruby sparrow
#

Nope ich weiß nicht

solid ingot
limpid wolf
ruby sparrow
#

Kann wer helfen in #1108123088618528869

ruby sparrow
#

ne hab schon

solid ingot
#

entweder autocomplete oder choices

indigo sapphire
#

Hallo CodingKeks Community

Ich hätte da eine frage, kann man dropdown menü & embed naricht ect alles auf einmal speichern in sqlite datenbank oder einzeln. danach die wieder aufrufen.

wenn ja wie kann ich das bewerkstelligen?

[diese anfrage gilt nur für hilfsbereite personen bezogen auf personen die versuchen zu helfen und keine dumme kommentar dazu äusern]

#

Ich hab vor einen return button/ zurück knopf zu programmieren durch das abspeichern kann ich das schnell aufrufen.

solid ingot
#

also embeds könntest du im json format speichern und dann damit wieder laden, beim dropdown menü kommt es bisschen drauf an, da müsstest du alles speichern was du im dropdown menu hast

indigo sapphire
solid ingot
#

es gibt to_dict and from_dict methoden bei embeds, damit könntest du arbeiten

indigo sapphire
#

to_dict and from_dict damit kenn ich noch nicht aus kannst du mehr dazu erläutern?

solid ingot
indigo sapphire
#

das wird mir zu pro like

crude heath
#

Weiß jemand zufällig, wie man bei nem Paginator dem Embed auch nen footer etc. hinzufügen kann?

solid ingot
#

genauso wie bei normalen embeds auch

#

also embed.set_footer zum beispiel

crude heath
#

aber wo mach ich das? dann embeds.set_footer oder was? weil hab ja keine variable für das discordEmbed festgelegt

solid ingot
#

naja, du könntest es vorher definieren

embed = ...
embed.set_footer(...)

pages = [Page(embeds=[embed]]
crude heath
#

okay, mach ich. thx

jaunty jasper
#

import discord
from discord.commands import Option
import asyncio
import os
import random

intents = discord.Intents.default()
intents.message_content = True
intents.members = True

status = discord.Status.online

activity = discord.Activity(type=discord.ActivityType.watching, name="dem RP zu")


bot = discord.Bot(intents=intents,
                  debug_guilds=[956587286013808680],
                  status=status,
                  activity=activity)

word1 = "nothing"
word2 = "nothing"


@bot.event
async def on_ready():
    print(f"Der Bot {bot.user.display_name} ist jetzt online")

@bot.event
async def on_message(message):
    channel = message.channel
    if message.author.bot:
        return

    word2 = **word1**

    word1 = message.content

    if message.content == word1:
        await message.delete()
        await channel.send(f"Bitte **Spamme** nicht {message.author.mention}")

#

Warum kann er bei dem letzten nicht auf die Variabele zugreifen ?

crude heath
#

Kommt nen Error?

jaunty jasper
#

Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Users\fabian2\venv\Lib\site-packages\discord\client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "C:\Users\fabian2\PycharmProjects\Greater#\main.py", line 136, in on_message
word2 = word1
^^^^^
UnboundLocalError: cannot access local variable 'word1' where it is not associated with a value

crude heath
#

Ja die Variable hat halt keinen Wert

#

Deswegen kann sie nd benutzt werden

jaunty jasper
crude heath
#

Es geht doch um das word2 = word1

#

Anscheinend funktionierts nd, würde dir empfehlen die Variablen mal zu printen

jaunty jasper
crude heath
#

Dann hat das Wort anscheinend keinen Wert... kannst ja mal durchprinten.

iron apex
#

habe eben meinen bot neustarten wollen

#

und auf einmal kommt diese meldung

#

wie kann ich es fixxen ?

#

habe eig. nichts geändert wollte nur den server neu starten

crude heath
iron apex
solid ingot
# iron apex wie kann ich es fixxen ?

klingt nach einem installationsfehler, hast du vlt aus versehen discord.py und pycord installiert?
versuch mal alle discord packages zu deinstallieren und dann nur das package zu installieren was du nutzt

iron apex
#

ganz komisch ,der hat die letzten monate ohne probleme funktioniert und jz macht er sowas

#

jz zeigt er nur noch das an

tawdry leaf
iron apex
#

wieder pycord neu installieren oderwas ?, ist eig. installiert

solid ingot
#

wenn d.py installiert war, danach auf jeden fall pycord neu installieren

#

die beiden module funktionieren nicht zusammen

iron apex
#

was ist die aktuelste pycord version zum installieren ?

solid ingot
#

2.4.1

iron apex
#

okay danke, habs eben 2 mal alles neu gemacht nichts hat funktioniert

#

und jz geht es wieder

ruby sparrow
tawdry leaf
solid ingot
#

hast du deinen bot als ezcord.PrefixBot() definiert?

#

probiers mal mit commands.Bot() um zu schauen ob es an ezcord liegt oder nicht

#

dann liegt es zum glück nicht an ezcord

#

hast du message content intent an?

#

ich benutz immer nur slash commands, aber eine mysteriöse quelle meinte es kann auch daran liegen dass du ein on_message event hast und darin nicht await bot.process_commands(message) verwendet hast

crude heath
#

Moin, wie kann ich die Zeit wo der Bot gestartet wird als Timestamp nutzen?
Habe bisher das: ```py
datetime.datetime.now()

solid ingot
crude heath
#

aber thx

crude heath
solar current
crude heath
solid ingot
#

ansonsten kannst du die sekunden mit einem timedelta objekt von der aktuelle zeit abziehen und dann ein timestamp daraus machen

crude heath
solid ingot
#

hmm also ich könnte dir ein beispiel zeigen, aber besser wäre es wenn dir ein timedelta tutorial oder so anschauen würdest

crude heath
#

thx

crude heath
solid ingot
#

ja genau dür den timestamp brauchst du das ezcord.bot nicht

#

das brauchst du nur für so sachen wie error handling

crude heath
#

Okay, muss ich pip install ezcord und dann import ezcord machen oder nur import ezcord?

solid ingot
#

erst pip install

crude heath
#

Und dann den import nh

crude heath
crude heath
solid ingot
#

jo

crude heath
#

@solid ingot bin gemuted lol xd

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


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

    @slash_command(description="restart the bot")
    async def restart(self, ctx):
        if ctx.author.id != 817435791079768105:
            await ctx.respond("Only the bot owner can restart the bot.")

            await ctx.respond("Restarting...")


def setup(bot):
    bot.add_cog(restart(bot))```
peak prawn
#

Heyoo, wollte mal fragen ob man mit Easy-Pil auch nen Glow Effekt machen kann.

crude heath
urban glen
#

ich bekomme kein error code er geht eif nicht

#

^^ist lua falls sich jmd damit auskennt

peak prawn
#

welches script willst du machen?

urban glen
#

es ist halt _resource

#

es aktiviert so zu sagen die anderen scripts

#

aber jetzt heißt es fxmanifest

peak prawn
#

so sieht meine aus, tausche einfach mal die namen aus

peak prawn
urban glen
peak prawn
#
fx_version "cerulean"
games { "gta5" }

client_scripts {
    "coords.lua",
    "main.lua"
}

server_scripts {
"main-s.lua
}
urban glen
#

ich brauch doch nur lua und c++?

peak prawn
#

STRG A

urban glen
tawdry leaf
#

auslesen

#

with open

#

ist schon mal eine Option

old ore
#

wie kann man eine command so schrieben das der user entweder den normalen prefix command schrieben muss oder den bot pingen kann und danach den command schreiben kann wie @bot owner

tawdry leaf
tawdry leaf
#

musst auch mal selber heraus finden es wenigstens mal ansatzweiße probieren

solar current
#

1, 60 = 1 Minute

#

Wenn du jetzt 2, 60 hättest könntest du denn Command 2 mal hintereinander ausführen und dann musst du 60 Sekunden warten
Das gleiche bei 3, 60 dann halt 3 mal hintereinander.
Und wenn du z.B möchtest das der Command jetzt nur jede Stunde einmal ausgeführt werden kann dann einfach 1, 3600

Einfach erklärt:
1 Wie oft hintereinander ohne Cooldown
60 Sekunden wieviel Zeit bis zum nächsten mal wo du denn Command ausführen kannst

snow hatch
#

wieso klappt das nicht?

 @commands.Cog.listener()
    async def on_member_join(self, member):
        print("a")```
umbral goblet
#

was klappt nicht , error, ein bisschen mehr code drum rum usw

snow hatch
#

ich kreige halt keinen error, es wird nicht geprintet es passiert nichts

umbral goblet
#

kanst du ganze datei schicken also code von der datei

#

warte async def on_member_join ist eins zu weit eingerückt

snow hatch
#

ne das ist nur auf discord so

#

kann halt nicht mehr schicken weuil das richtig fett ist, da ich dran arbeite das man ganze welcome message selbst einstellen kann, aber das nichts passiert wenn wer joint habe ich es so ausprobiert

umbral goblet
#

hhm

snow hatch
#

woran kanns den sonst liegen? Sollte ja sonst klappen oder nicht

umbral goblet
#

hqast du intents.member angeschalten?

snow hatch
#

ey
Vergessen im code

#

jetzt habe ich ein fehler mal gucken

umbral goblet
#

nice

snow hatch
#
Application Command raised an exception: ProgrammingError: Error binding parameter 1: type 'TextChannel' is not supported```
Habe ein command bei dem man ein channel auswählt und dann soll der in einer db gespeichert werden doch der fehler kommt
```py
    @slash_command(description="Welcome/leave channel auswählen")
    async def settingswelcome(self, ctx, art: Option(str, choices=["welcome", "leave"]),
                              embed: Option(str, choices=["An", "Aus"]), channel: Option(discord.TextChannel), ):
        await self.check(art)
        async with aiosqlite.connect(self.DB) as db:
            await db.execute("UPDATE msg SET embed = ? WHERE name = ?", (embed, art))
            await db.commit()

        async with aiosqlite.connect(self.DB) as db:
            await db.execute("UPDATE msg SET channel = ? WHERE name = ?", (channel, art))
            await db.commit()

        await self.checkembed(art)

        await ctx.respond("Aktualisiert", ephemeral=True)
novel ore
#
@bot.event
async def on_ready():
    for guild in bot.guilds:
        print('Servername:', guild.name)
``` Wie kann ich von denn 4 Server einen Invite link bekommen oder die ID oder am betsen alles
crude heath
#

halt dann auch noch

print("ID": guild.id) 

etc. den invite k.a. wi man den bekommt

#

Jemand ne IDee warum die ganze Zeit solche Errors kommen:

#

Code:

    @commands.Cog.listener()
    async def on_voice_state_update(self, member, before, after):
        if member.id == self.bot.user.id:
            if before.channel and not after.channel:
                voice_client = member.guild.voice_client
                await voice_client.connect()
                async with aiosqlite.connect(self.db) as db:
                    async with db.execute("SELECT spieler, sender FROM radio") as cursor:
                        s, sen = await cursor.fetchone()

                if sen == "radiovelbert":
                    voice_client.play(discord.FFmpegPCMAudio(
                        "https://radiovelbert.stream.laut.fm/radiovelbert?pl=m3u&t302=2023-03-18_21-57-30&uuid=d5363f07-d83b-47ff-addf-3f8465464c9a"))
                elif sen == "stickyams.lu":
                    voice_client.play(
                        discord.FFmpegPCMAudio("http://djstickyams.lightmanstreams.com:9020/"))


#
    @ethria.command(description="Starte das Radio")
    async def radio(self, ctx, sender: Option(str, "Den Sender, den du spielen willst.",
                                              choices=["radiovelbert", "stickyams.lu"])):
        if ctx.author.voice is None:
            return await ctx.respond("Du musst einem Kanal joinen.")

        if not ctx.author.voice.channel.permissions_for(ctx.guild.me).connect:
            return await ctx.respond("Ich kann deinem Kanal nicht beitreten.!.")

        if ctx.voice_client is None:
            await ctx.author.voice.channel.connect()
        else:
            await ctx.voice_client.move_to(ctx.author.voice.channel)
        if ctx.voice_client.is_playing():
            ctx.voice_client.stop()

        if sender == "radiovelbert":
            async with aiosqlite.connect(self.db) as db:
                await db.execute("UPDATE radio SET sender = ?, spieler = ? ", ("radiovelbert", ctx.author.name))
                await db.commit()

            await ctx.voice_client.play(
                discord.FFmpegPCMAudio(
                    "https://radiovelbert.stream.laut.fm/radiovelbert?pl=m3u&t302=2023-03-18_21-57-30&uuid=d5363f07-d83b-47ff-addf-3f8465464c9a"))
            embed=discord.Embed(
            title="radiovelbert",
            description="Ich spiele nun **radiovelbert**",
            color=discord.Color.random())

        elif sender == "stickyams.lu":
            async with aiosqlite.connect(self.db) as db:
                await db.execute("UPDATE radio SET sender = ?, spieler = ? ", ("stickyams.lu", ctx.author.name))
                await db.commit()
            
            await ctx.voice_client.play(
            discord.FFmpegPCMAudio("http://djstickyams.lightmanstreams.com:9020/"))
            embed = discord.Embed(
            title="Stickyams.lu...",
            description="Ich spiele Stickyams.lu!",
            color=discord.Color.random())
            await ctx.respond(embed=embed)
#

Der Bot joint einem Channel, spielt aber nichts ab --> Errors kommen

snow hatch
#

kurze frage, ist es möglich wenn ich in einer db einen text speichere, und z.B. will das ich aber einen member pinge, kann man das irgendwie angeben so das er wenn ich das ganze dann senden lasse, ihn pinge? Oder geht das nicht, weil wenn ich nur {member.mention} eingebe und das ganze mit await channel.send(text[0]) absende wird das normal als string gesendet

burnt prairieBOT
#

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
solid ingot
#

du benutzt aktuell diese methode hier: https://docs.pycord.dev/en/stable/api/voice.html#discord.VoiceProtocol.connect

stattdessen willst du wahrscheinlich diese hier nutzen (mit einem voicechannel objekt): https://docs.pycord.dev/en/stable/api/models.html#discord.VoiceChannel.connect

solid ingot
#

schau nochmal genau das video, da wird es etwas anders erklärt

snow hatch
solid ingot
#

das member objekt hast du doch gar nicht oder?

snow hatch
# solid ingot das member objekt hast du doch gar nicht oder?

also ich habe es im member join event weshalb ich dachte das ich sozusagen einfach member.mention reinschreiben kann in der nachricht die in der db gespeichert wird und dann halt gesendet werden soll weil ich dann ja wenns abgesendet wird auf den member zugreifen kann

solid ingot
#

achso ja dann kannst du einfach member.mention machen

#

wenn du einen festen text in der datenbank hast, kannst du .replace benutzen, um einen bestimmten part mit member.mention zu ersetzen

crude heath
#

Jemand ne Idee, wie man den Error behebt?

crude heath
#

Wie behebe ich diesen Error bei @high glen:
Traceback (most recent call last):
File "/home/container/.local/lib/python3.10/site-packages/discord/cog.py", line 774, in _load_from_module_spec
spec.loader.exec_module(lib) # type: ignore
File "<frozen importlib._bootstrap_external>", line 879, in exec_module
File "<frozen importlib._bootstrap_external>", line 1017, in get_code
File "<frozen importlib._bootstrap_external>", line 947, in source_to_code
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home/container/cogs/ethria.py", line 40
@commands.Cog.listener()
TabError: inconsistent use of tabs and spaces in indentation
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/container/main.py", line 20, in <module>
bot.load_extension(f"cogs.{filename[:-3]}")
File "/home/container/.local/lib/python3.10/site-packages/discord/cog.py", line 910, in load_extension
self._load_from_module_spec(spec, name)
File "/home/container/.local/lib/python3.10/site-packages/discord/cog.py", line 777, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.ethria' raised an error: TabError: inconsistent use of tabs and spaces in indentation (ethria.py, line 40)

#

Also dieses inconsistent use of tabs and spaces in indentation

Hab nochmal alles entfernt und neu getabbt, hab Code komplett neu geschrieben, hat alles nd geklappt

solid ingot
#

das passiert manchmal wenn du mit dem online editor arbeitest, da kann es passieren dass tabs etwas anderes sind als 4 leerzeichen. schau mal genau in der zeile nach wo der error ist

wispy flame
#

Weiß jmd., wie ich einen Timestamp in discord.py hinzufüge? Im Embed, also im footer.

solid ingot
#

müsste auch mit embed.timestamp gehen

wispy flame
#

Teemo, ich habe es schon, trotzdem Danke

snow hatch
urban glen
snow hatch
#

aber wie füge ich dann in der stelle des textes in der db member.mention ein bzw. eigentlich muss ich den user nicht getten, weil ich das ganze ja in einem join event mache und dort member habe als attribute

mental hamlet
#

so wie normal auch?

snow hatch
#

moin, ich bin gerade dabei einen reactionrole ersteller zu machen, bi jetzt soweit das man die buttons erstellen kann doch ich weiß nicht ganz weiter wie ich sozusagen dem button code gebe(als ein code für alle buttons wo einfach die rollen id durch eine db anders ist), also wie kann ich es machen das er dann für jeden button sozusagen so ein code hat? Muss ich dafür erstmal im code die klasse erstellen in der der button hinzugefügt wird? Oder wie?

  view = discord.ui.View()

        if self.children[2].value:
            button = discord.ui.Button(label=self.children[0].value, style=discord.ButtonStyle.gray,
                                       custom_id=self.children[0].value,
                                       emoji=self.children[2].value)
        else:
            button = discord.ui.Button(label=self.children[0].value, style=discord.ButtonStyle.gray,
                                       custom_id=self.children[0].value, )

        view.add_item(button)```
Der Button wird so hinzugefügt, reagiert halt aber noch nicht weil er ja kein code hat
#

also das ich halt sozusagen den gleichen callback für jeden button hinzufüge

#

Hoffe ist verständlich wasich meine, danke

mental hamlet
#

ja

#

eif. die parameter angeben

snow hatch
limpid wolf
#

deswegen könntest du dir die rollen id in einer datenbank speichern und das dann halt immer raus holen und vergeben

snow hatch
#

Will ich ja, aber weiß nicht ganz wie ich sozusagen den Buttons jetzt sagen soll das sie dann aus der DB die Rolle holen und dann geben

#

Weil wie gebe ich den Buttons sozusagen Code

ruby sparrow
#

junges hab eine frage hat wer ein gut commad für coden

urban glen
#

wie normal

snow hatch
#

ah danke!

snow hatch
urban glen
#

nah

#

warte

#
view = discord.ui.View(timeout=None)
        button3 = discord.ui.Button(label=f"Begrüße {member}", style=discord.ButtonStyle.grey, emoji='👋')

        async def call1(interaction):
            if member == interaction.user:
                return await interaction.response.send_message(f'🚫 › Du kannst dich nicht selber begrüßen!\n> Dieser Knopf ist für eine Person da die dich begrüßen will!' , ephemeral=True)
            else:
                await interaction.response.send_message(f'**{interaction.user.display_name}** begrüßt **{member.display_name}**.')
                button3.disabled = True
                await interaction.message.edit(view=view)

        button3.callback = call1
        view.add_item(button3)
#

ungeführ so :D

#

also

snow hatch
#

jo schaue ma danke

urban glen
#

view = discord.ui.View(timeout=None)
button3 = discord.ui.Button(label=f"Begrüße {member}", style=discord.ButtonStyle.grey, emoji='👋')

async def call1(interaction):

button3.callback = call1
view.add_item(button3)

snow hatch
#

aber das kann ich normal in eine ander klasse machen?

urban glen
#

das ist das wichtigste was du brauchst

ruby sparrow
#

weiss einer warum ist das rot ?

solid ingot
#

schick mal den code darüber und darunter noch mit, vlt einrückung?

ruby sparrow
# solid ingot schick mal den code darüber und darunter noch mit, vlt einrückung?
import discord
from discord.ext import  commands
from discord.commands import  slash_command
import requests

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


        @slash_command()
        async def wetter(self, ctx, *, stadt: str):
            api_key = "276d6995de7652ce246dc2126c42a4fd"
            base_url = "http://api.openweathermap.org/data/2.5/weather?"
            complete_url = base_url + "appid=" + api_key + "&q=" + stadt
            response = requests.get(complete_url)
            data = response.json()
            if data["cod"] != "404":
                main = data["main"]
                temp = main["temp"]
                temp_celsius = round(temp - 273.15)

                humidity = main["humidity"]
                weather_description = data["weather"][0]["description"]
                embed = discord.Embed(title=f"Wetter in {stadt}", color=discord.Color.green())
                embed.add_field(
                    name=f"Temperatur: {temp_celsius}°C\n\nBeschreibung: {weather_description}\n\nLuftfeuchtigkeit: {humidity}%",
                    value="\n")
                embed.set_footer(text=f"Angefragt von {ctx.author}", icon_url=ctx.author.display_avatar)
                await ctx.respond(embed=embed)
            else:

                await ctx.respond(f"{stadt} nicht gefunden.")

 def setup(bot):
     bot.add_cog(Wetter(bot))```
snow hatch
#
 role = self.children[1].value
            print(role)
            role = interaction.guild.get_role(role)
            print(role)```
wieso kommt beim zweiten printen wenn ich die gette None raus(id ist richtig und einrückung nur in discord falsch)
urban glen
#

probier es mal mit fetch_role

burnt prairieBOT
#

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
snow hatch
#

dann kommt raus das guild kein fetch_role hat

urban glen
#

ehhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

#

sicher das es die richtige id ist?

snow hatch
#

wie meinste, ja eigentlich schon, habe die id sogar gepingt also die rolle

#

deswegen verstehe ich nicht warum ich beim getten None rauskrieg

urban glen
#

hm ok

#

Vielleicht kann @solid ingot helfen

solid ingot
snow hatch
# urban glen hm ok

also wenn ich nur die id eingebe klappt, wenn ich aber self.children[1].value eingebe nicht

#

also in interaction.guild.get_role()

ruby sparrow
urban glen
#

schick mal das modal

snow hatch
solid ingot
solid ingot
snow hatch
#

also, erstelle halt jetzt(siehe oben) buttons in dem modal, will diese nun zum on_ready hinzufügen, aber geht halt nicht weil es diese klasse ja nicht gibt, sondern diese in der modal klasse sind, wie kann ich sie trotzdem wieder anmachen?

ruby sparrow
snow hatch
solid ingot
#

@snow hatch also generell würde ich dir empfehlen, für alle buttons entweder eine eigene button klasse oder eine view klasse zu erstellen

snow hatch
#

eine view klasse erstelle ich ja mit reactionbuttons = discord.ui.View(timeout=None)

#

aber halt in der klasse drinne

#

und dann kann ich sie nicht zu on_ready adden

solid ingot
#

naja ich würde eine eigene subklasse erstellen, also so

class ReactionButtons(discord.ui.View):
    ...
snow hatch
#

was ist eine subklasse? Und was soll darein, weil ich was rein kommt ja woanders hinzufüge

solid ingot
#

subklasse ist einfach nur wenn du schreibst class ReactionButtons(discord.ui.View):

#

du kannst es so machen wie im button video

snow hatch
#

ok
EIne frage noch...
Wie greife ich auf eine andere klasse(in dem fall die view) in einer klasse zu, weil ich sie ja nicht übergeben kann

solid ingot
#

du solltest einfach den namen der klasse nutzen können

#

also ReactionButtons() könntest du auch innerhalb einer anderen klasse nutzen

snow hatch
#

ah ok

#

danke, probiere ich aus

#

weiß nicht ganz weiter, er sendet jetzt keine buttons mehr, aber kriege keine fehlermeldung

solid ingot
#

jetzt hast du zwar eine view klasse, aber du hast keinen button in deiner view klasse

#

du hast sozusagen eine leere view klasse ohne irgendwas drin

snow hatch
#

ja, weil ich die buttons ja hinzufüge

#

ich erstelle die button ja im modal

solid ingot
#

hm, machs lieber mit einer button klasse

snow hatch
#

aber ich erstelle das ganze ja extra extern weil die buttons ja nicht fest sind sondern man diese ja hinzufügen kann, und rolle auswählen kann die dann hinzugefügt werden soll

#

und deshalb kann ich ja keine fertigen buttons machen

solid ingot
#

doch, du könntest eine button klasse erstellen und dann an unterschiedliche werte an diese klasse übergeben

solid ingot
#

oh shit das hab ich vergessen

#

musst das aktuell noch als string machen

#

also str(len(bot.emojis))

#

ja

solid ingot
#

welches printen

#

was genau geht denn nicht? und wie ist dein code?

#

hm bei mir gehts

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @solid ingot, du bist jetzt Level 59 🎉

Du hast insgesamt 17,517 Nachrichten geschrieben.

tawdry leaf
#

hmm

#

sussy

snow hatch
snow hatch
solid ingot
#

du kannst dann beliebig viele button klassen zu einem view hinzufügen

snow hatch
#

ja klar, aber ich muss das ja alles im code machen heißt z.b. 3 buttons hinzuprogrammieren

solid ingot
#

hmm

#

du willst quasi nur den error webhook aber ohne die user nachrichten? @urban glen

#

ich schau mal was ich machen kann

crude heath
#

Heyho, Timo hatte ja mal nen Video gemacht wie man Werte an Klassen übergibt. Er hat das mit dieser View gemacht, aber wie macht Man das denn, wenn man z.b. solche Buttons hat wo die view im Command erstellt wird?

solid ingot
#

du könntest werte an die button klasse übergeben

#

oder wie meinst du genau? schick vlt mal einen kurzen beispielcode

tawdry leaf
crude heath
# solid ingot oder wie meinst du genau? schick vlt mal einen kurzen beispielcode

Meine sowas, wo die View so erstellt wird:

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

Du hattest in deinem video halt diese Art von buttons für die dus erklärt hast:

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

Wollte also wissen, wie ich bei dem erstem Beispiel werte übergeben kann

solid ingot
#

du kannst an die button klasse werte übergehen, das funktioniert genauso wie im video nur dass die werte nicht an die view klasse, sondern an die button klasse übergeben werden

tawdry leaf
crude heath
solid ingot
#

in der init methode

crude heath
#

Ne meine bei dem await ctx.respond da muss ich ja das übergeben dachte ich

solid ingot
#

nein da nicht

crude heath
#

Aber da hattest du doch das so:
view=TutorialView(ctx.author)

solid ingot
#

an den view musst es nicht übergeben, sondern an den button

#

an den view kannst du es ja auch gar nicht übergeben, weil du ja gar keine eigene view klasse hast

crude heath
#

Also z.b. button = TutorialButton("Kekse sind cool",ctx.author)

#

oder was

solid ingot
#

je nachdem wie deine init methode aussieht ja

crude heath
#

Okay, thx

tawdry leaf
#

was tust du

solid ingot
#

bei mir klappts

#

errors solltest du schon bekommen, es sei denn du hast es ausgeschaltet

tawdry leaf
#

Mensch Twevis

solid ingot
#

welche errors meinst du denn genau?

#

hm sollte nicht an ezcord liegen

tawdry leaf
#

nur errors

#

von einen zum nächsten error

crude heath
#

Falls das in Ordnung is

tawdry leaf
#

Ein Codingdate peeposhy

solid ingot
solid ingot
#

ignored_cogs

#

ja ist ja auch logisch wenn du error handler off hast

#

print?

#

weiß nicht was du meinst

tawdry leaf
#

IQ sinkt xD

#

einf mal des video nochmal schauen 🤔

#

pip uninstall py-cord ^^

#

meinst bei ezcord

#

pls help

#

yay

crude heath
#

Also beim erstellen der Tabelle musste TEXT nehmen

#

Und dann halt inserten mit
INSERT INTO tabelle Text VALUES(Texttest)

#

Oder halt wie man insertet habs nd mehr so genau im Kopf

#

Weisste wie man was in ne db einträgt?

#

So machst du es auch mit Text

#

Gibst halt als value den Text an

tawdry leaf
#

Tabletten 😮

ruby sparrow
#

warum zeig dem commad nicht an ```py
@slash_command(description="Unwarn einen User aus dem Server")
@discord.default_permissions(kick_members=True)
@discord.guild_only()
async def unwarn(
self,
ctx,
member: Option(discord.Member, "Wähle den User aus, den du unwarnen willst", required=True),
warn_id: Option(int, "Wähle die Warn ID aus, die du zurückziehen willst", required=True),
reason: Option(str, "Gib einen Grund an, warum du den User warnen willst", required=False,
default="Kein Grund angegeben")
):

    unwarnUser_embed = discord.Embed(
        title="`🍀` Unwarn",
        description=f"Ein Warn von dir vom Server **{ctx.guild.name}** wurde zurückgezogen.",
        color=discord.Color.green(),
        timestamp=datetime.datetime.utcnow()
    )
    unwarnUser_embed.add_field(name="Moderator:", value=f"```{ctx.author}```", inline=False)
    unwarnUser_embed.add_field(name="Warn ID:", value=f"```{warn_id}```", inline=False)
    unwarnUser_embed.add_field(name="Grund:", value=f"```{reason}```", inline=False)
    unwarnUser_embed.set_author(name=f"{ctx.guild.name}", icon_url=ctx.bot.user.avatar.url)
    unwarnUser_embed.set_thumbnail(url=ctx.guild.icon.url)
    unwarnUser_embed.set_footer(text=f"{ctx.bot.user.name}#{ctx.bot.user.discriminator}",
                                icon_url=ctx.bot.user.avatar.url)```
crude heath
#

Ja

crude heath
tawdry leaf
crude heath
tawdry leaf
#

die musst du doch so oder so zur view adden

#

view.add_item(classname) ins on_ready event

#

und in der class

super().__init__(timeout=None)```
#

also _ des 2 mal davor und danach xD

solid ingot
#

dein async with db.execute ist zu weit links. alles was innerhalb der connection ist, muss nach rechts eingerückt werden

async with aiosqlite.connect(self.db) as db:
    async with db.execute()  # richtig

async with db.execute()  # falsch
solid ingot
solid ingot
#

wie lucky schon gesagt hat

crude heath
#

Okay, thx

crude heath
tawdry leaf
crude heath
tawdry leaf
solid ingot
#

du hast die runden klammern vergessen

tawdry leaf
#

Timo angrycat

tawdry leaf
crude heath
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @crude heath, du bist jetzt Level 17 🎉

Du hast insgesamt 1,814 Nachrichten geschrieben.

solid ingot
#

nur views haben timeouts, buttons nicht

tawdry leaf
#

geiler schatten xD

tawdry leaf
tawdry leaf
crude heath
solid ingot
#

ja

tawdry leaf
#

wieso machst nd einf nh view klasse und machst da denn button rein xD

#

Wieso so umständlich

crude heath
tawdry leaf
#

und 🤔

crude heath
#

Erklär ich später

#

Habe so gemacht das wenn die If Bedingung True wird ein Button halt geaddet

#

Falls du verstehst was ich meine @tawdry leaf

crude heath
#

Wie kann man da Daten in das on_ready event übergeben? weil ich hab die daten übergeben beim ausführen vom command aber beim on_ready event hab ich die daten nd

viscid lake
#

hey ich möchte leute kicken die ein bestimmen rang haben aber es funktoniert nicht und ein fehler gibt es auch nicht

@bot.event
async def on_member_join(member):
    role_id = 1109495788540797009
    role = discord.utils.get(member.roles, id=role_id)

    if role is not None:
        await asyncio.sleep(10) 
        await member.kick(reason='Benutzer hat die Rolle')
        print(f'Der Benutzer {member.name} wurde gekickt.')```
urban glen
#

Du fragst nicht ab ob der User die rolle hat

tawdry leaf
#

stimmt 🙂

crude heath
# tawdry leaf wie meinst

Also. Bei nem Command wird eine Rolle eingegeben. Die wird an einen Button übermittelt.
Aber wenn ich die View ins on_ready event mache findet der die rolle nd mehr nach nem neustart weil die rolle halt nd mehr im self.role ist wie kann ich da machen das das auch im on_ready geht

solid ingot
#

musst du in ner datenbank speichern und im on_ready event wieder laden

crude heath
tawdry leaf
#

normalerweise brauchst du des doch nd oder startet dein bot so oft neu

crude heath
solid ingot
#

code?

crude heath
#

Zeig mal was er ausgibt

#

Also was er im dc sendet

tawdry leaf
#

vermutlich falscher Pfeil

#

also < >

crude heath
#

Weil ich glaube du hast gemacht das wenn er mehr Geld hat der Fehler ausgegeben wird.

#

Also du hast gemacht:
Wenn Money größer als 1k:
Fehler

#

Du hast den Pfeil falsch rum gemacht xd

tawdry leaf
#

passiert mir in Excel immer xD

#

mach einf <>

#

für größer gleich oder ist des nur in excel xD

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @trail locust, du bist jetzt Level 27 🎉

Du hast insgesamt 4,047 Nachrichten geschrieben.

crude heath
#

Error?

#

Wenn man 1k oder weniger hat dann soll der Fehler kommen nh

#

Oder nur wenn man weniger als 1k hat

#

Dann mach if data[2] < 1000:

#

Haha

solid ingot
#

hm für websites hab ich keine anleitungen

#

müsstest du mit oauth machen, aber das ist relativ komplex je nachdem

#

da bin ich auch kein profi

mental hamlet
#

auf die website? das ist ez du holst von deinem frontend ne request an dein backend und das sendet die guilds (also wenn du jetzt guild anzahl meinst)

#

dann solltest du so ein projekt nicht machen

snow hatch
#

hey ich komme nicht weiter:
Ich habe eien command mit dem man buttons erstellen kann für reactionroles
Ich habe die Buttons einfach in eine view getan die ich in dem modal erstellt habe(view = discord.ui.View(timeout=None)), da ich diese aber nicht satrten kann im on ready event will ich jetzt eine klasse erstellen wo der code der buttons drinsteht und ich die sachen einfach mit variablen ändern kann, doch 2 sachen:

  1. Ich nehme den namen usw. die der button habe soll mit in die view klasse doch kann bei @discord.ui.button() kein variablen drinne reinschreiben, wie kann ich also den button mit eigenen werten die ich halt woanders bestimme ändern?
#
  1. wie kann ich machen das ich selber bestimme wie viele buttons in der view klasse sind, ohne halt die bestimmte anzahl reinzucoden sondern nur einen button zu haben den ich dann halt mehrmals nebeneinander mit sozusagen dem gleichen code mache, ist das möglich?
silk gulch
#

Bekomme meinen Bot mal wieder nicht gestartet... py-cord ist schon installiert..

limpid wolf
silk gulch
solid ingot
mental hamlet
#

ja klar aber nicht ei sowas wie nem dashboard

lusty palm
#

Gibts eigentlich nen weg Datenbanken bzw einzelne Tables im discord Chat darstellen zu lassen? Rein als Text is es ja relativ simpel aber dachte evtl geht das auch schöner. Falls ihr was wisst bitte gerne hier oder per dm melden😊

solid ingot
#

wie meinst du das genau?

strange juniper
silk gulch
strange juniper
# silk gulch yes.

macht man normal nicht. Nutzer anlegen der den bot laufen lassen soll, höchstens teil der sudoers gruppe und als nutzer installieren.

solid ingot
#

schick mal deine pip freeze liste @silk gulch

strange juniper
lusty palm
# solid ingot wie meinst du das genau?

Naja zum debuggen (oder einfach nur reinschauen) würde ich gern anstatt jedes Mal das externe DB Programm zu öffnen mit einem Slash command ein bestimmtes Table aus einer DB im Chat darstellen

strange juniper
#

kann auch konflikte auslösen

lusty palm
solid ingot
lusty palm
#

dann bleibe ich lieber doch bei der jetzigen methode, danke^^

ruby sparrow
#

weiss einer wie geht das

snow hatch
limpid wolf
#

Timo hat ein tutorial für easy-pil gemacht

burnt prairieBOT
#
solid ingot
#

@ruby sparrow

ruby sparrow
#

kkk

snow hatch
solid ingot
#

wie das mit button klassen geht habe ich am ende meines button videos gezeigt. im grunde erstellst du einen view mit view = discord.ui.View(), und fügst dann die button klassen mit view.add_item hinzu

ruby sparrow
#
Traceback (most recent call last):
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\client.py", line 378, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\bot.py", line 1164, in on_connect
    await self.sync_commands()
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\bot.py", line 719, in sync_commands
    registered_commands = await self.register_commands(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\bot.py", line 599, in register_commands
    registered = await register("bulk", data, _log=False)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\http.py", line 371, in request
    raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In 55: Application command names must be unique```
solid ingot
#

ein command name ist bei dir doppelt

ruby sparrow
solid ingot
#

doch

#

prüfe auch ob in verschiedenen cogs vielleicht ein name gleich ist

ruby sparrow
#

ich kann dir zeigen

novel ore
#

Wie kann ich in der mein nochmal auf denn author zugreifen ```py
embed = discord.Embed(
color=0x587af1
)
embed.set_author(icon_url=user.author.display_avatar.url, name=user.author.display_name)

ezcord.set_embed_templates(error_embed=embed, success_embed=embed, info_embed=embed, warn_embed=embed)

solid ingot
#

bei dem beispiel kannst du denke ich auf keinen bestimmten author zugreifen, da du da ja erst allgemein das embed definierst und noch nicht weißt für wen das embed angezeigt wird

novel ore
solid ingot
#

ich schau mal was ich machen kann

novel ore
#

bin zu dumm

solemn musk
#
  File "/home/xquizt/.local/lib/python3.10/site-packages/discord/commands/core.py", line 124, in wrapped
    ret = await coro(arg)
  File "/home/xquizt/.local/lib/python3.10/site-packages/discord/commands/core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "/home/xquizt/Python-Coding/EzCordBot/cogs/Moderation.py", line 43, in timeout
    await member.timeout(time, reason=reason)
  File "/home/xquizt/.local/lib/python3.10/site-packages/discord/member.py", line 854, in timeout
    await self.edit(communication_disabled_until=until, reason=reason)
  File "/home/xquizt/.local/lib/python3.10/site-packages/discord/member.py", line 823, in edit
    ] = communication_disabled_until.isoformat()
AttributeError: 'int' object has no attribute 'isoformat'```
#
@slash_command(name="timeout", description="Timeout a member")
    async def timeout(self, ctx, member: discord.Member, time: int, *, reason: str = "No reason provided"):
        await ctx.defer()
        await member.timeout(time, reason=reason)
        await ctx.send(f"{member.mention} has been timed out for {time} seconds")```
novel ore
solemn musk
#

chill doch ich weiss wie das geht

solid ingot
solemn musk
#

ok, wie änder ich das um

solid ingot
#

nutze am besten timeout_for, da kannst du es mit einem timedelta object machen

solemn musk
#

also await member.timeout_for(time, reason=reason?

solid ingot
#
from datetime import timedelta

t = timedelta(hours=time)
await member.timeout_for(t, reason=reason)
solemn musk
#

achso ok danke dir

urban glen
#

Hallo, weißt jemand wie ich bei ctx.selected_options die Attachment URL heraus kriege?
Weil so sieht ungefähr die ctx.selected_options aus (attachment)

Ich weiß auch wie ich abfrage ob es ein Attachment ist nur keine Ahnung wie ich die URL gette von dem Attachment!
LG shine ~ Louis Happy

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @severe citrus, du bist jetzt Level 11 🎉

Du hast insgesamt 828 Nachrichten geschrieben.

ruby sparrow
#

ich weiss nicht warum gehts nicht kann wer helfen hier ist auch er code ```py
import discord
from discord.ext import commands
from discord.commands import slash_command

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

@slash_command(description="restart the bot")
async def restart(self, ctx):
    if ctx.author.id != 817435791079768105:
        await ctx.respond("Only the bot owner can restart the bot.")
    else:
        await ctx.respond("Restarting...")

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

tawdry leaf
#

was soll den passieren

#

der macht alles was im code steht geht einwandfrei

ruby sparrow
tawdry leaf
ruby sparrow
#

weiss du wie kann man

tawdry leaf
#

in code-austausch ist ein code dazu

ruby sparrow
#

send mal

#

dem name

tawdry leaf
#

such mal

ruby sparrow
#

ja

solid ingot
#

da steht ja schon im Error was nicht klappt, die zahl ist zu groß für die DB

tawdry leaf
#

und Timo kriegt cookie

ruby sparrow
viscid lake
#

bin ich dumm oder why sieht man den slash command nicht

class Ban(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.connection = create_connection()


def create_connection():
    connection = None
    try:
        connection = sqlite3.connect('ban_database.db')
        print("Verbindung zur SQLite-Datenbank erfolgreich hergestellt")
    except Error as e:
        print(f"Fehler bei der Verbindung zur SQLite-Datenbank: {e}")
    return connection

def insert_ban_data(connection, member_name, reason, banned_by):
    insert_query = """
        INSERT INTO banned_members (member_name, reason, banned_by)
        VALUES (?, ?, ?);
    """
    try:
        cursor = connection.cursor()
        cursor.execute(insert_query, (member_name, reason, banned_by))
        connection.commit()
        print("Ban-Daten erfolgreich in die Datenbank eingefügt")
    except Error as e:
        print(f"Fehler beim Einfügen der Ban-Daten: {e}")



    @commands.slash_command(description="Banne ein Mitglied")
    @discord.default_permissions(ban_members=True)
    async def ban(
            self, ctx,
            member: Option(discord.Member, "Wähle ein Member aus der gebannt werden soll"),
            reason: Option(str, "Schreibe einen Grund", default="Keinen Grund angegeben")
    ):
        try:
            await member.ban(reason=reason)
            insert_ban_data(self.connection, member.name, reason, ctx.author.name)

            embed = discord.Embed(
                title=":white_check_mark: | Mitglied wurde erfolgreich gebannt",
                description=f"Das Mitglied {member.mention} wurde gebannt\n"
                            f"**Grund:** {reason}",
                color=discord.Color.red()
            )
        except discord.Forbidden:
            embed = discord.Embed(
                title=":x: | Fehler beim Bannen",
                description="Ich habe keine Berechtigungen, um dieses Mitglied zu bannen",
                color=discord.Color.red()
            )
        await ctx.respond(embed=embed)


def setup(bot):
    bot.add_cog(Ban(bot))```
ruby sparrow
viscid lake
ruby sparrow
viscid lake
tawdry leaf
#

ALARM chat gpt in #1020759567421931620 omg

strange juniper
#

Ich bräuchte Mal einen Rat um ein passendes Buch oder eine passende Buchreihe zu wählen.

In kurz:
Das Buch sollte einem Schul-Informatik bis zum Abi beibringen.

In länger:
Ich habe mich zur Ausbildung Fachinformatiker/Anwendungsentwicklung beworben. In der letzten Firma lief das Erstgespräch gut und den anschließenden Einstellungstest habe ich in allen Teilen, außer Informatik, gut bestanden. Es folgte sogar eine Einladung zum Einstellungsgespräch morgen.
Aber es stört mich arg die Grundlagen dazu aus der Schule nicht zu haben. Bei uns gab es Informatik einfach nie als Fach und die Grundlagen würde ich mir schon gerne aneigenen. Es ist ist einfach blöd da dann im Test zu sitzen und beispielsweise verschiedene Protokolle nicht zu kennen oder keine Ahnung von Netzwerken zu haben.

Kurzum, wenn jemand etwas empfehlen kann bin ich dankbar drum.

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @strange juniper, du bist jetzt Level 4 🎉

Du hast insgesamt 52 Nachrichten geschrieben.

viscid lake
tawdry leaf
peak prawn
#

wo

tawdry leaf
tawdry leaf
peak prawn
#

@tawdry leaf Ist doch egal, ob er es mit chatgpt geschrieben hat oder zur hilfe genommen hat? Verstehe jetzt nicht dein Problem ist doch seine entscheidung und sein code?

viscid lake
strange juniper
# tawdry leaf Bücher sind da meist veraltet des sollte dir bewusst sein

Ja. Es geht dabei auch eher drum eine vernünftige Basis zu haben. Wenns ums Entwickeln geht schaue ich in der Dokumentation oder Videos oder sowas.

Buch deshalb, weil ich mir davon erhoffe, dass das einigermaßen Strukturiert ist und eben nicht dieses "ich brauche schnipsel x -> googel -> stackoverflow -> problem gelöst", was ja immer sehr fallspezifisch ist.

#

ich will einfach die Grundlagen dahinter im Allgemeinen können.

peak prawn
#

okey

tawdry leaf
peak prawn
tawdry leaf
#

bin älter als du bengelk

viscid lake
tawdry leaf
peak prawn
#

finde trz nd das es in allgemeine hilfe gehört

tawdry leaf
#

ja.. wieso schreibst du mich dann hier drauf an und nd in #💬・chat xD

tawdry leaf
ruby sparrow
viscid lake
tawdry leaf
#

du hast wohl nicht richtig gelesen

peak prawn
tawdry leaf
#

es geht um den Joke das man in #1020759567421931620 Hilfe bekommt und sowas eig gar nd bräuchte bruh

strange juniper
tawdry leaf
peak prawn
viscid lake
tawdry leaf
#

ja chat gpt ist 2021

tawdry leaf
viscid lake
#

mach deine sachen und wir machen unsere sachen.

peak prawn
limpid wolf
#

Jungs und Mädels chillt mal bitte. Lucky wenn sie ChatGPT nutzen wollen dann lass sie einfach shrug jedem sich selber überlassen

lusty palm
#

kann man slash commands nutzen, wo der Bot nur Aktionen im Hintergrund durchführt ohne dem User eine Antwort zu senden?

limpid wolf
#

Ja jedoch steht dann halt im Chat das der Bot nicht reagiert hat

lusty palm
#

also ich hab herausgefunden dass man das hier machen kann:


# confirm the interaction
await ctx.defer()

.... (Hintergrundaktionen)

# hidden interaction response
response = await ctx.respond("...", ephemeral=True)

# delete the interaction response instantly
await response.delete()
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @lusty palm, du bist jetzt Level 5 🎉

Du hast insgesamt 117 Nachrichten geschrieben.

Du hast <@&1024276691205496872> erhalten!

lusty palm
#

dabei wird eine Nachricht zwar gesendet und damit der Slash befehl erfolgreich durchgeführt, und die nachricht im anschluss gelöscht

#

ist aber mMn nicht so elegant

limpid wolf
#

kannst auch bei ctx.respond noch delete_after rein schreiben

viscid lake
#

der command wird nicht geladen alle im call wissen nicht why

class Ban(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.connection = create_connection()

        @slash_command(description="Banne ein Mitglied")
        @commands.has_permissions(ban_members=True)
        async def ban(
                self, ctx,
                member: Option(discord.Member, "Wähle ein Member aus der gebannt werden soll"),
                reason: Option(str, "Schreibe einen Grund", default="Keinen Grund angegeben")
        ):
            try:
                await member.ban(reason=reason)
                insert_ban_data(self.connection, member.name, reason, ctx.author.name)

                embed = discord.Embed(
                    title="✅ | Mitglied wurde erfolgreich gebannt",
                    description=f"Das Mitglied {member.mention} wurde gebannt\n"
                                f"**Grund:** {reason}",
                    color=discord.Color.red()
                )
            except discord.Forbidden:
                embed = discord.Embed(
                    title="❌ | Fehler beim Bannen",
                    description="Ich habe keine Berechtigungen, um dieses Mitglied zu bannen",
                    color=discord.Color.red()
                )
            await ctx.respond(embed=embed)


def setup(bot):
    bot.add_cog(Ban(bot))
``` und nein der code ist nicht von chatgpt :D
limpid wolf
#

Schonmal getestet ob der Cog geladen wird?

#

ah und ich glaube ist eins zu weit rechts dein cmd

#

@viscid lake

limpid wolf
viscid lake
limpid wolf
solid ingot
tawdry leaf
viscid lake
tawdry leaf
#

geht nd beides

#

oder probiere es mal mit >>>

#

weil eins ist nur für eine Zeile

umbral goblet
#

du hast noch so ein zitat dings drinne

tawdry leaf
solid ingot
umbral goblet
#

ja aber dieses zitat im codeblock geht glaube ich nicht

tawdry leaf
umbral goblet
#

aha sry habe es nicht gesehen

tawdry leaf
#

beides geht nd

umbral goblet
tawdry leaf
#

nd in mehreren zeilen

solid ingot
#

ahja discord

tawdry leaf
#

uiii

urban glen
#

Hallo, weißt jemand wie ich bei ctx.selected_options die Attachment URL heraus kriege?
Weil so sieht ungefähr die ctx.selected_options aus (attachment)

Ich weiß auch wie ich abfrage ob es ein Attachment ist nur keine Ahnung wie ich die URL gette von dem Attachment!
LG shine ~ Louis Happy

lusty palm
limpid wolf
#

s

lusty palm
#

hab jz mal mit 1, 10, und 1000 versucht

tawdry leaf
#

sekunden

lusty palm
#

aber der löscht das bei mir instant

tawdry leaf
#

delete_after=

lusty palm
#

mein fehler

#

hab 2 response dinger und hab das bei der anderen geändert die ganze zeit :')

#

danke für eure hilfe

tawdry leaf
#

xD

limpid wolf
lusty palm
#

weiß jmd wie man dieses x auf dem roten hintergrund als emoji kriegt? Ich meine damit, dass es so ein Emoji nicht gibt.. ich hab nur ein weißes X auf grün gefunden und ein rotes X ohne Background

#

das X bei Exit ist btw vom Tatsumaki bot

#

wahrscheinlich über private server oder?

#

custom emoji

limpid wolf
#

Ich meine das sind eigene Emojis von Servern

lusty palm
#

👍

#

braucht der bot für sowas irgendwie nitro oder so? xD

lusty palm
#

wie würde denn so eine Implementierung aussehen mit externen Emojis?

tawdry leaf
lusty palm
tawdry leaf
#

kannst einf \hierdesemoji dann hast du des und kannst es einf kopieren

#

also so meine ich und dann absenden

lusty palm
#

ahh ok danke

tawdry leaf
#

kd

solid ingot
#

funktioniert aber nur wenn dein bot auch auf dem server ist der das emoji hat

lusty palm
solemn musk
#
  File "/home/xquizt/.local/lib/python3.10/site-packages/discord/cog.py", line 774, in _load_from_module_spec
    spec.loader.exec_module(lib)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/xquizt/Python-Coding/EzCordBot/cogs/allgemein.py", line 15, in <module>
    class Join(commands.Cog):
  File "/home/xquizt/Python-Coding/EzCordBot/cogs/allgemein.py", line 22, in Join
    async def on_member_join(self, member):
  File "/home/xquizt/.local/lib/python3.10/site-packages/discord/cog.py", line 400, in listener
    raise TypeError(
TypeError: Cog.listener expected str but received 'function' instead.

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

Traceback (most recent call last):
  File "/home/xquizt/Python-Coding/EzCordBot/main.py", line 16, in <module>
    bot.load_cogs("cogs")  # Load all cogs in the "cogs" folder
  File "/home/xquizt/.local/lib/python3.10/site-packages/ezcord/bot.py", line 152, in load_cogs
    self.load_extension(f"{'.'.join(path.parts)}.{name}")
  File "/home/xquizt/.local/lib/python3.10/site-packages/discord/cog.py", line 910, in load_extension
    self._load_from_module_spec(spec, name)
  File "/home/xquizt/.local/lib/python3.10/site-packages/discord/cog.py", line 777, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.allgemein' raised an error: TypeError: Cog.listener expected str but received 'function' instead```

```py
import discord
from discord.ext import commands
from datetime import datetime
import random


#Copyright (c) 2023 & !Bobby.#4747


WELCOME_CHANNEL = 1095107428850343968 # hier die channel id du fisch.
SERVER_ID = 1094820227512021143 # hier die server id du fisch.



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



    @commands.Cog.listener
    async def on_member_join(self, member):
        channel = self.bot.get_channel(WELCOME_CHANNEL)
        guild = self.bot.get_guild(SERVER_ID)

        welcome_emojis = ["👋", "🙌",  "🖐️", "🤚", "🙋‍♀️", "🙋‍♂️", "💁‍♀️"]

        welcome_messages = [
            f"Willkommen an Bord, {member.mention}! Lass uns zusammen den Server rocken.",
            f"Wir haben schon auf dich gewartet, {member.mention}. Willkommen auf unserem Server!",
            "Du bist hier! Endlich ist unser Server komplett. Herzlich willkommen.",
            "Willkommen auf unserem Server! Wir hoffen, dass du hier eine großartige Zeit haben wirst.",
            f"Hola, {member.mention}! Willkommen auf unserem Server.",]
        
        embed = discord.Embed(title=f"Willkommen auf {guild.name}!", description=f"*{random.choice(welcome_messages)}*", colour=0x5c00c7)
    

        if member.avatar is None:
            url = "https://i.pinimg.com/564x/b5/d4/ce/b5d4ce10a744861ffd3314d20d116976.jpg"
        else:
            url = member.avatar.url

        embed.set_footer(text=f'UserID: [{member.id}] Credits ! Bobby.#4747', icon_url=url)
        embed.set_thumbnail(url=guild.icon.url)
        view = discord.ui.View(timeout=None)
        button3 = discord.ui.Button(label="Begrüßen", style=discord.ButtonStyle.green, emoji='🤗')

        async def call1(interaction):
            if member == interaction.user:
                return await interaction.response.send_message(f'Hallo, gehts dir Noch gut? Du kannst dich nicht selbst Begrüßen xD' , ephemeral=True)
            else:
                button3.disabled = True
                await interaction.response.send_message(f'{interaction.user.mention} heißt **{member.display_name}** Herzlich Willkommen {random.choice(welcome_emojis)}')
                await interaction.message.edit(view=view)


        button3.callback = call1
        view.add_item(button3)
        await channel.send(embed=embed, view=view)

solid ingot
#

runde klammern hinter listener

solid ingot
#

was soll es denn machen?

tawdry leaf
solid ingot
#

du musst das embed noch senden

lusty palm
#

Wie kann man globale funktionen erstellen, wo cogs drauf zugreifen können?

solid ingot
#

du kannst überall im code eine funktion defininieren, du müsstest sie dann nur bei den cogs importieren

#

da gibt es wohl keine output_url in data

#

lass dir data doch mal printen und schau was drin ist

lusty palm
#
import main
# code...
main.function() # Methode ausführen
#

so?

solid ingot
#

ja zum beispiel

lusty palm
#

verstehe, danke ^^

urban glen
#

du hast bei openai dein 5$ limit erreicht

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

Unterordner, wo andere Cogs enthalten sind werden hier nicht berücksichtigt in dem "cogs" Ordner oder?

tawdry leaf
#

aber dazu hat timo glaube im ezcord video was gesagt

burnt prairieBOT
#

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
solid ingot
lusty palm
ruby sparrow
#
import discord
from discord import slash_command
from discord.ext import commands


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


    @slash_command(description="zeig dein birthday!")
    async def birthday(self,ctx, member: discord.Member, day: int, month: int, year: int):
        """Setzt das Geburtsdatum eines Mitglieds."""
        #code by ama#0999
        if ctx.author.guild_permissions.administrator:
            #code by ama#0999!
            member.birthday = discord.Birthday(year=year, month=month, day=day)
            await ctx.respond(f"Das Geburtsdatum von {member.mention} wurde auf {day}.{month}.{year} gesetzt.")
        else:
            await ctx.respond("Du hast nicht die erforderlichen Berechtigungen, um diesen Befehl auszuführen.")


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

error

#
Traceback (most recent call last):
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Users\Rysii\OneDrive\Desktop\neu discord bot\cogs\birthday.py", line 17, in birthday
    member.birthday = discord.Birthday(year=year, month=month, day=day)
                      ^^^^^^^^^^^^^^^^
AttributeError: module 'discord' has no attribute 'Birthday'
solid ingot
#

discord.Birthday gibt es nicht

thick haven
#

Time ich bekomme das von meinem Post nicht auf die reihe

silk gulch
# silk gulch

@solid ingot ? Sollte es gestern reinsenden wegen meinem Problem?

solid ingot
#

@silk gulch hm da wüsste ich im mometn auch nicht woran es liegt. entweder hast du py-cord für eine andere python version installiert, als du zum starten des bots nutzt, oder es ist etwas anderes bei der installation schiefgelaufen. schau mal nach ob die python version, mit der du den bot startest, dieselbe version ist, die du bei pip freeze benutzt hast. ansonsten installiere mal py-cord neu

silk gulch
solid ingot
#

hast du py-cord auch für version 3.8 installiert?

ruby sparrow
#
[ERROR] Error while executing /invites 
Traceback (most recent call last):
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Rysii\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 982, in _invoke
    await self.callback(ctx, **kwargs)
  File "C:\Users\Rysii\OneDrive\Desktop\neu discord bot\main.py", line 111, in invites
    invites_info = await guild.fetch_invites()
                         ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Guild' object has no attribute 'fetch_invites'```
#
@bot.event
async def on_invite_create(invite):
    channel_id = 1110142912227987476
    channel = bot.get_channel(channel_id)
    invites[invite.code] = invite.uses

@bot.event
async def on_invite_delete(invite):
    channel_id = 1110142912227987476
    channel = bot.get_channel(channel_id)
    invites.pop(invite.code, None)

@bot.slash_command()
async def invites(ctx):
    """Zeigt die Anzahl der genutzten Invites für den Server."""
    guild = ctx.guild
    invites_info = await guild.fetch_invites()

    invite_counts = {}
    for invite in invites_info:
        invite_counts[invite.code] = invite.uses

    response = "Invites:\n"
    for invite_code, used_count in invite_counts.items():
        response += f"{invite_code}: {used_count}\n"

    await ctx.response("danke für invites ")```
#

kann wer helfen

burnt prairieBOT
#

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

@solid ingot für was da video

solid ingot
#

für deinen error

lusty palm
#

gibts ein tutorial video zu prefix commands von timo?

solid ingot
#

von mir gibt es nur slash command tutorials, da prefix commands relativ veraltet sind

lusty palm
#

hmmm I see

#

ich war dabei ein command für das erstellen eines Backups für die Datenbank zu machen

#

als Slash command hab ichs geschafft, alles funktioniert

#

aber ich möchte ungern dass jeder user sieht dass es so einen Befehl gibt

#

deshalb dachte ich man könnte es mit dieser prefix command methode machen

solid ingot
#

du kannst den slash command für andere ausblenden, indem du den command nur für einen bestimmten server freigibst

#

auf dem server kannst du ja dann in den servereinstellungen festlegen, wer den command alles sieht

lusty palm
#

gute idee, danke!

old ore
#

könntte mir bitte wer helfen. ich habe die config aber erfinded sie dort im ordner nicht

solid ingot
#

du öffnest die Datei im write Mode aber du willst doch lesen

solemn musk
#

yo kurze frage bei aiosqlite.connect("PFAD") Kann man sowas wie aiosqlite.connect("Data/Database.db")??

solid ingot
#

jo

solemn musk
#

ok

#

danke

crude heath
#

Wie kann ich diese grüne Schrift machen?

#

Also in Discord

solid ingot
#

mit diff

peak prawn
#

test```
solid ingot
crude heath
#

Danke

peak prawn
#
fafaf```
solemn musk
#
+ uwu
peak prawn
#
+ uwu HUHUHU

solemn musk
#
#Cool
crude heath
#
+ Perfektt
solemn musk
#
from discord.ext import commands
from datetime import datetime
import random


#Copyright (c) 2023 & !Bobby.#4747


WELCOME_CHANNEL = 1095107428850343968 # hier die channel id du fisch.
SERVER_ID = 1094820227512021143 # hier die server id du fisch.



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



    @commands.Cog.listener()
    async def on_member_join(self, member):
        channel = self.bot.get_channel(WELCOME_CHANNEL)
        guild = self.bot.get_guild(SERVER_ID)

        welcome_emojis = ["👋", "🙌",  "🖐️", "🤚", "🙋‍♀️", "🙋‍♂️", "💁‍♀️"]

        welcome_messages = [
            f"Willkommen an Bord, {member.mention}! Lass uns zusammen den Server rocken.",
            f"Wir haben schon auf dich gewartet, {member.mention}. Willkommen auf unserem Server!",
            "Du bist hier! Endlich ist unser Server komplett. Herzlich willkommen.",
            "Willkommen auf unserem Server! Wir hoffen, dass du hier eine großartige Zeit haben wirst.",
            f"Hola, {member.mention}! Willkommen auf unserem Server.",]
        
        embed = discord.Embed(title=f"Willkommen auf {guild.name}!", description=f"*{random.choice(welcome_messages)}*", colour=0x5c00c7)
    

        if member.avatar is None:
            url = "https://i.pinimg.com/564x/b5/d4/ce/b5d4ce10a744861ffd3314d20d116976.jpg"
        else:
            url = member.avatar.url

        embed.set_footer(text=f'UserID: [{member.id}] Credits ! Bobby.#4747', icon_url=url)
        embed.set_thumbnail(url=guild.icon.url)
        view = discord.ui.View(timeout=None)
        button3 = discord.ui.Button(label="Begrüßen", style=discord.ButtonStyle.green, emoji='🤗')

        async def call1(interaction):
            if member == interaction.user:
                return await interaction.response.send_message(f'Hallo, gehts dir Noch gut? Du kannst dich nicht selbst Begrüßen xD' , ephemeral=True)
            else:
                button3.disabled = True
                await interaction.response.send_message(f'{interaction.user.mention} heißt **{member.display_name}** Herzlich Willkommen {random.choice(welcome_emojis)}')
                await interaction.message.edit(view=view)


        button3.callback = call1
        view.add_item(button3)
        await channel.send(embed=embed, view=view)


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


Fehler ist er sendet keine nachricht, ich hab alles überprüft 

Channel Perms
Bot Perms
Channel + Server IDS
usw
#

ich hab auch den channel ausgeprinted nichts kam

tall gorge
#

Member intents?

crude heath
#

Wie mach ich, dass der command im chat angezeigt wird? habs wieder vergessen xd

umbral goblet
#

so mit eckigen kalmmern und id glaube ich

tawdry leaf
#

🤔

crude heath
umbral goblet
#

warte

tawdry leaf
umbral goblet
#

ok doch nicht xD

tawdry leaf
#

aua

crude heath
#

geht nd xd

tawdry leaf
#

interresant

#

doch geht

crude heath
#

das is btw die id von @burnt prairie

umbral goblet
#

wie hast du die id bekommen

crude heath
tawdry leaf
#

</name:cmdid>

crude heath
umbral goblet
#

</help:1005119817294041209>

crude heath
#

</help:1005119817294041209>

umbral goblet
#

ja aber ist nicht blau

crude heath
#

hmm und wie klickt man da jtzt drauf? xd

umbral goblet
#

</help:1005119817294041209>

tawdry leaf
#

</help:907032956432957510>

umbral goblet
#

/</help:1005119817294041209>

crude heath
#

wie?

tawdry leaf
#

lesen?

umbral goblet
#

#</help:1005119817294041209>

crude heath
#

wie bekommt man die id von dem command? ._.

tawdry leaf
tawdry leaf
tawdry leaf
umbral goblet
#

geht bei mir nicht

crude heath
#

ich bin iwie zu inkompetent dafür, bye ._.

tawdry leaf
crude heath
#

moment

tawdry leaf
#

musst nix reden zeige es dir dort einf

crude heath
#

Bei mir geht das iwie nd haha

tawdry leaf
#

</codingkeks:1057391116284076032>

#

hast du entwicklermodus an

umbral goblet
crude heath
#

Natürlich

tawdry leaf
#

da rechts klick

crude heath
#

ahh

tawdry leaf
#

mach stream maybe an xD

umbral goblet
#

</serverinfo:1072348194421346388>

tawdry leaf
#

ja geht doch

umbral goblet
#

ja danke

crude heath
#

bruh, habs jtzt auch kapiert

tawdry leaf
#

und wenn man keine slash cmd id hat kann man es z.B. in seiner about me mit 0 machen

crude heath
#

</help:1013489331698147369>

tawdry leaf
#

zumindest früher mal

#

im chat geht es nur mit id ig

#

die haben des mit 0 vermutlich raus gemacht

tall gorge
#

kennt wer eine api, die bilder generieren kann?

solid ingot
tall gorge
#

ok thx

silk gulch
solid ingot
#

das ist von system zu system unterschiedlich. prüfe mal, was für python versionen du alles installiert hast. evtl mit pip3.8

solid ingot
#

ja also danach muss natürlich noch was hin

#

pip3.8 freeze zum beispiel

silk gulch
solid ingot
#

wenn da nichts passiert, hast du wohl keine packages für python 3.8 installiert

#

in dem fall zb pip3.8 install py-cord

silk gulch
#

ok

solid ingot
#

wenn man mehrere python versionen hat muss man wie gesagt aufpassen für welche man die packages installiert

silk gulch
#

Klappt.

solid ingot
#

passiert häufig dass man da die falsche erwischt

silk gulch
#

Dank dir. ❤️

urban glen
#

Hallo, Ich würde mal was nachfragen unzwar Ich will das meine Liste mit \n und so funktioniert aber wenn ich nur listname[0] mache dann nimmt der nur das 1. Objekt also es geht aber es wird nicht "formatiert" also es kommt nur ('blahblah\nblahblah')
LG Happy

solid ingot
#

also [0] hat erstmal nichts mit der formatierung zu tun. wo funktioniert das \n denn nicht bei welcher ausgabe?

urban glen
#

wie kann ich den slash command author bekommen {message.author}?

old ore
#

könnt mir bitte wer helfen er findet jz die liste in der json nicht obwohl sie vorhanden ist

solid ingot
#

lass dir das doch einfach mal printen um zu schauen wieso es nicht drin ist

urban glen
#

wie kann ich den slash command author bekommen {message.author}?

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @cobalt void, du bist jetzt Level 2 🎉

Du hast insgesamt 10 Nachrichten geschrieben.

Du hast <@&1042123300970696705> erhalten!

urban glen
#

oder {user.author}

solid ingot
#

ctx.author

urban glen
#

dankeeee peepolove

#

aber in {} nh?

solid ingot
#

wenn du einen f-string benutzt ja

urban glen
#

ok