#Allgemeine Hilfe

1 messages · Page 50 of 1

digital crypt
#

bin grade eifach dumm

urban glen
#

Du hast ein Objekt das None ist, und bei nem NoneType kannst du kein .send nutzen

odd kiteBOT
#

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

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

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

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

▶ Play video
digital crypt
#

thy

fierce dove
#

Warum ist mein pycarm Cursor fett

urban glen
#

Das ist Fett-Shaming

fierce dove
#

Der Cursor in pycarm

#

Wie geht das weg

urban glen
#

Du brauchst einen Cursor, du solltest den Cursor nicht weg machen (°v°)

solid ingot
#

Drück auf EINFG

#

rechts neben enter

fierce dove
#

Danke Timo

digital crypt
#

geht jetzt danke timo

solid ingot
#

supi

digital crypt
#

[ERROR] Error in event on_member_join
Traceback (most recent call last):
File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "/home/container/cogs/Welcomemessa goodbye message.py", line 23, in on_member_join
embed.set_footer(text=member.name, icon_url=member.avatar.url)
^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'url'

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @digital crypt, du bist jetzt Level 7 🎉

Du hast insgesamt 249 Nachrichten geschrieben.

digital crypt
#

wie mache ich das das auch mit usern ohen profilbild geht habe es vergessen

urban glen
#

display_avatar.url

digital crypt
#

thy

fierce dove
#

Wie kann ich in pycarm DB Tabellen Anzeigen lassen

novel ore
#

Brauchst premium

fierce dove
#

Ok

urban glen
#

VSC >>>>>

fierce dove
#

Ok

granite basalt
urban glen
#

Pycharm is Dreck

granite basalt
#

Absolut nicht ich Liebe pycharm

urban glen
#

Schlecht

solid ingot
urban glen
#

Oder für Menschen die sich als Schüler/Studenten ausgeben

granite basalt
graceful fiber
#
import discord
from discord.ext import commands
from discord.commands import slash_command

from cogs.lichess import LichessHTTP



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

    varients = [
        discord.OptionChoice(name="Standard", value="standard"),
        discord.OptionChoice(name="Chess960", value="chess960"),
        discord.OptionChoice(name="Crazyhouse", value="crazyhouse"),
        discord.OptionChoice(name="Antichess", value="antichess"),
        discord.OptionChoice(name="Atomic", value="atomic"),
        discord.OptionChoice(name="Horde", value="horde"),
        discord.OptionChoice(name="KingOfTheHill", value="kingOfTheHill"),
        discord.OptionChoice(name="RacingKings", value="racingKings"),
        discord.OptionChoice(name="ThreeCheck", value="threeCheck")
    ]

    @slash_command(description="Challenge another player to a lichess game.")
    @discord.Option(
        name="white",
        description="Assign the white player.",
        required=True,
    )
    @discord.Option(
        name="black",
        description="Assign the black player.",
        required=True,
    )
    @discord.Option(
        name="varient",
        description="Choose the varient.",
        choices=varients,
        required=True,
    )
    async def chess_test(self, ctx, white: str, black: str, varient: str):
        #await ctx.defer()

        resp = await self.lichess.create_open_challenge(varient)

        white_url = resp.get("urlWhite")
        black_url = resp.get("urlBlack")
        code = resp.get("challenge").get("id")
        recap = resp.get("challenge").get("url")

        await ctx.send(white, black, white_url, black_url)


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

Fehler:
`discord.errors.ExtensionFailed: Extension 'cogs.chess' raised an error: TypeError: 'Option' object is not callable`

Habe gerade mal nach langer Zeit wieder mit py-cord angefangen bzw. bin von discord.py umgestiegen. Jetzt laufe ich mit dem Code in Probleme. Kann da jemand helfen? Ich weiß leider auch noch nicht richtig, wie man in py-cord Options und Choices benutzt. Den Code habe ich mit den Docs gebaut, komme aber nicht weiter.
#

Freue mich über jede Hilfe. Vllt kann das jemand kurz erklären und einmal drüberchecken.

solid ingot
#

@graceful fiber das o von discord.Option muss in dem fall kein geschrieben werden

odd kiteBOT
#

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

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

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

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

▶ Play video
graceful fiber
#

Super, schau ich mir gleich mal an. Danke dir für die schnelle Antwort DW_happy

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @graceful fiber, du bist jetzt Level 7 🎉

Du hast insgesamt 261 Nachrichten geschrieben.

fierce dove
#

warum ist mein vsc auf einer anderen sprache bei discord status

blissful vale
fierce dove
#

Und welche

blissful vale
#

Naja, die du halt hinzugefügt hast, dass es angezeigt wird. Ich denke mal Discord RPC?

fierce dove
#

Hab's

graceful fiber
#

Kann mir jemand erklären, wieso die Options beim Slash Command nicht required sind? Und wie man das fixen kann, weil eigentlich hab ich es ja so im Code.

solid ingot
#

du hast Standardwerte festgelegt, indem zu zB =None geschrieben hast. dadurch werden die Options automatisch nicht required

fierce dove
#

@solid ingot help

#

Komm in mein Stream

#

Er sendet keine Nachricht in einen bestimmten channel

#
Traceback (most recent call last):
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\modal.py", line 341, in dispatch
    await value.callback(interaction)
  File "C:\Users\Schüler\PycharmProjects\python\Falc\cogs\General\BugReport.py", line 48, in callback
    await channel.send(embed=log)
          ^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'send'
odd kiteBOT
#

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

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

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

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

▶ Play video
fierce dove
#
import discord
import asyncio
from discord.interactions import Interaction
import ezcord

from utils import *
from discord.commands import slash_command, SlashCommandGroup, Option
from discord.ext import commands

class BugReport(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        
    report = SlashCommandGroup("report")
        
    @report.command()
    async def bug(self, ctx, bug: Option(str), commandname: Option(str)):
        modal = ReportModal(title="Bug Report", bug=bug, commandname=commandname)
        await ctx.send_modal(modal) 
        
class ReportModal(discord.ui.Modal):
    def __init__(self, bug, commandname, **kwargs):
        super().__init__(
            discord.ui.InputText(
                label="Grund des Bug Reports",
                placeholder="Placeholder",
                style=discord.InputTextStyle.long
            ),
            **kwargs
        )
        self.bug = bug
        self.commandname = commandname
    
    async def callback(self, interaction):
        channel = interaction.guild.get_channel(1151434598576824320)
        
        bug = self.children[0].value
        
        log = discord.Embed(
            title=f"{BotLogo}",
            description="",
            color=COLOR
        )
        log.add_field(
            name=f"",
            value=f"`👮` Bug Report Gesendet von: {interaction.user.mention}\nBug: {self.bug}\nCommand name: {self.commandname}"
        )
        await channel.send(embed=log)
        await interaction.response.send_message("ich habe den bug den owner und die developer geschickt", ephemeral=True)
        
def setup(bot):
    bot.add_cog(BugReport(bot))
graceful fiber
#

Wieso nicht self.guild.get_channel?

graceful fiber
solid ingot
#

erst müssen alle Optionen ohne Standardwert kommen, danach alle mit

graceful fiber
#

Ah okay, super. Danke dir 👍

fierce dove
#

@graceful fiber

#
Traceback (most recent call last):
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\modal.py", line 341, in dispatch
    await value.callback(interaction)
  File "C:\Users\Schüler\PycharmProjects\python\Falc\cogs\General\BugReport.py", line 35, in callback
    channel = self.guild.get_channel(1151434598576824320)
              ^^^^^^^^^^
AttributeError: 'ReportModal' object has no attribute 'guild'
fierce dove
#

Habe aber bei den modal kein ctx definiert

#

Hab's geschafft thx

ruby sparrow
#

wo war er eror?

fierce dove
#

Bei Channel =

#

Glaub ich

ruby sparrow
#

mh

burnt prairieBOT
#
Ghost Ping

@ruby sparrow hat @fierce dove gepingt.

ruby sparrow
#
[ERROR] Error while executing /about 
Traceback (most recent call last):
  File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 131, in wrapped
    ret = await coro(arg)
  File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 1000, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "c:\Users\nicor\OneDrive\Desktop\Ayo bot\cogs\about.py", line 12, in about
    uptime = self.bot.uptime
AttributeError: 'Bot' object has no attribute 'uptime'```
solid ingot
#

bot.uptime gibt es nicht. schau vlt mal in den docs was es alles gibt bei bot

tawdry leaf
#

Mach einf eine variabel bei on_ready 😂

fierce dove
#

warum ist mein discord status auf ner anderen sprache Peepo_Cry

tawdry leaf
#

😂🤨

fierce dove
#

schau doch selber

tawdry leaf
#

Wo denn

fierce dove
#

dc status

tawdry leaf
#

Ist immer in Englisch

fierce dove
#

das ist nicht englisch

jaunty jasper
#

Kann man nen Select Menü auch persistent machen?

fierce dove
#

@tawdry leaf

odd kiteBOT
solid ingot
jaunty jasper
jaunty jasper
urban glen
#

Wie schreibe ich etwas in eine .txt das es in die nächste zeile kommt und nicht die erste ersätzt

fierce dove
#
[ERROR] Error while executing /generate 
Traceback (most recent call last):
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\models.py", line 971, in json
    return complexjson.loads(self.text, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 131, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 1000, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Users\Schüler\PycharmProjects\python\Falc\cogs\General\ImageGenerate.py", line 24, in generate
    result = generator.generate(prompt)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\craiyon\craiyon.py", line 48, in generate
    resp = resp.json()
           ^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\models.py", line 975, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
#
from craiyon import Craiyon
import ezcord
import discord
import time
import asyncio
from discord.ext import commands
from discord.commands import slash_command, Option
from PIL import Image
from io import BytesIO

class ImageGenerator(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        
    @slash_command()
    async def generate(
        self,
        ctx,
        prompt: Option(str)
    ):
        ETA = int(time.time() + 60)
        msg = await ctx.respond(F"Das kann dauern holen sie was zu essen und zu trinken weil das dauert <t:{ETA}:R>")
        generator = Craiyon()
        result = generator.generate(prompt)
        print(result)
        images = result.images
        for i in images:
            image = BytesIO(i)
            return await ctx.respond(F"hier dein bild", file=discord.File(image, "imagegenerate.png"))
        
def setup(bot):
    bot.add_cog(ImageGenerator(bot))
#

:Checkmark:

novel ore
#

Sonst keine Ahnung

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @novel ore, du bist jetzt Level 25 🎉

Du hast insgesamt 3,062 Nachrichten geschrieben.

Du hast <@&1036805482217746523> erhalten!

urban glen
restive herald
#

also \n

novel ore
#

Meinte ich schon

#

Sorry hab esam handy gemacht ka wo das da ist

restive herald
novel ore
#

ne

graceful fiber
#

Kann mir jemand sagen, wieso der rote Button nicht angezeigt wird?

restive herald
restive herald
#

siehe #🐍・python

graceful fiber
#

Oh wusste ich nicht, danke dir.

#

Kann ich normalerweise, aber py-cord ist mir neu

restive herald
#

Alles gut xD

graceful fiber
#

Ich hab schon ne 2. View probiert, aber ging nicht so richtig

restive herald
#

row=2 glaube

#

war auch in nem video

restive herald
#

hier glaube

graceful fiber
#

Dankeschön

#

Klappt

graceful fiber
urban glen
#

Welche Nachricht?
Die Nachricht, wo der Button dran ist?

graceful fiber
#

Ja

#

Also die Nachricht an der der rote Button hängt

urban glen
#
await interaction.message.delete()
graceful fiber
#

Oh so simpel dann doch, danke 👍

last depot
#

``py

#
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
import json
import os
import asyncio

def get_config(name):
    with open("config.json", "r") as f:
        json_file = json.load(f)
        return json_file[name]

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


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





    @slash_command(description="ticket menü")
    @discord.default_permissions(administrator=True)
    @discord.guild_only()
    async def ticket_menu(self, ctx, channel: Option(discord.TextChannel, description="In which channel should the embed be send?", required=False)):
        

            embed = discord.Embed(
                title="**Ticket System**",
                description="Wähle deine Ticket Kategorie und trete mit unserem Team in Kontakt!",
                color=0x1067a3
            )
           
            embed.set_footer(text=self.bot.user, icon_url=self.bot.user.display_avatar.url)
            embed.set_author(name=self.bot.user, icon_url=self.bot.user.display_avatar.url)

            erfolg = discord.Embed(
                title="Ticket System erfolgreich erstellt!"
            )

            await ctx.channel.send(embed=embed)
            await ctx.respond(embed=erfolg, ephemeral=True)

       


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

class SelectMenu(discord.ui.View):
     def __init__(self, bot) -> None:
        self.bot = bot
        super().__init__(timeout=None)



     options = [
          discord.SelectOption(label="🎫 |Support", description="Öffne ein Support Ticket", emoji="<:yes:>", value="1"),
          discord.SelectOption(label="🔴 |User report", description="Öffne ein Userreport Ticket", emoji="<:no:>", value="2")
     ]
     
     
     @discord.ui.select(
          min_values=1,
          max_values=1,
          placeholder="Wähle eine Kategorie",
          options=options,
          custom_id="drop"
     )
     async def select_callback(self, select, interaction):
        if "1" in select.values:
            category = self.bot.get_channel(int(get_config("Support_Categorie")))
            

weiß einer wieso das modal nicht angezeigt wird ich habe kein error

urban glen
#

Ich sehe kein Modal?

fierce dove
last depot
fierce dove
#

Bitte

last depot
#

@digital crypt warum ist das rot bei mir und ctx wird nicht angezeigt ?

urban glen
# last depot
  1. self-parameter vergessen in der function
  2. Du hast falsch eingerückt
odd kiteBOT
#

Rückgängig machen könnt ihr eine Einrückung übrigens mit Shift + Tab :)

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

▶ Play video
last depot
urban glen
last depot
urban glen
#

Schau das Video an

#

Helfe bei discord bot problemen, aber nicht bei basic problems

last depot
#

hm schade trz danke

last depot
urban glen
#

@last depot mehr sag ich jetzt nicht

last depot
#

so nh?

#

das else hab ich noch zurück gemacht

urban glen
#

Und wo ist jetzt die if abfrage?

last depot
#

ja habs gesehen geht jetzt dankeschön wirklich

#

Wie heißt das wenn man ein user anzeigen will der den command ausgeführt hat so: {interaction.user} weil wird geld unterstrichen?

urban glen
#

Zeig deinen Code

last depot
#
from enum import member
import discord
from discord.ext import commands
from discord.commands import slash_command, Option


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

    @slash_command(description="Mache ein Support eintrag")
    async def support_eintragen(self, ctx: discord.ApplicationContext, user: discord.User, *, grund):
        embed = discord.Embed(title="Support-Eingetragen", color=0x00ff00)
        
        embed.add_field(name="Support eintrag von:", value=f"{interaction.user.mention}", inline=False)
        embed.add_field(name="Benutzer", value=user.mention, inline=False)
        embed.add_field(name="Grund", value=grund, inline=False)
        embed.set_footer(text=self.bot.user, icon_url=self.bot.user.display_avatar.url)
        embed.set_author(name=self.bot.user, icon_url=self.bot.user.display_avatar.url)

        support_channel = ctx.guild.get_channel(1151545968483909682)


       
        
        if support_channel:
            await support_channel.send(embed=embed)
            await ctx.send("Deine Support wurde erfolgreich eingereicht.")
            
        else:
            await ctx.send("Der Support-Kanal wurde nicht gefunden. Bitte kontaktiere den Server-Administrator.")
        
        
def setup(bot):
    bot.add_cog(Support(bot))       
    
fierce dove
#

{interaction.user.mention} Glaube ich

urban glen
urban glen
fierce dove
urban glen
#

Du hast es als ctx, also ctx.user

novel ore
#

Oder user

#

Ka welchen der 2 er will

urban glen
urban glen
novel ore
#

Ah sorry hab ich falsch verstanden

last depot
novel ore
last depot
urban glen
#

Welche datenbank?
Da wird nix eingetragen in dem command

last depot
#

na ich meine wie viele einträge er ingesammt gemacht hat so das so angezeigt wird

urban glen
#

Klar geht das

#

Datenbank erstellen und immer beim user +1 rechnen

last depot
#
HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In components.0.components.0.options.0.emoji.name: Invalid emoji
In components.0.components.0.options.1.emoji.name: Invalid emoji
urban glen
#

Invalid emoji

last depot
#
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
import json
import os
import asyncio

def get_config(name):
    with open("config.json", "r") as f:
        json_file = json.load(f)
        return json_file[name]

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


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





    @slash_command(description="ticket menü")
    @discord.default_permissions(administrator=True)
    @discord.guild_only()
    async def ticket_menu(self, ctx, channel: Option(discord.TextChannel, description="In which channel should the embed be send?", required=False)):
        

            embed = discord.Embed(
                title="**Ticket System**",
                description="Wähle deine Ticket Kategorie und trete mit unserem Team in Kontakt!",
                color=0x1067a3
            )
           
            embed.set_footer(text=self.bot.user, icon_url=self.bot.user.display_avatar.url)
            embed.set_author(name=self.bot.user, icon_url=self.bot.user.display_avatar.url)

            erfolg = discord.Embed(
                title="Ticket System erfolgreich erstellt!"
            )

            await ctx.channel.send(embed=embed, view=SelectMenu(self.bot))
            await ctx.respond(embed=erfolg, ephemeral=True)

       


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

class SelectMenu(discord.ui.View):
     def __init__(self, bot) -> None:
        self.bot = bot
        super().__init__(timeout=None)



     options = [
          discord.SelectOption(label="🎫 |Support", description="Öffne ein Support Ticket", emoji="", value="1"),
          discord.SelectOption(label="🔴 |User report", description="Öffne ein Userreport Ticket", emoji="", value="2")
     ]
     
     
     @discord.ui.select(
          min_values=1,
          max_values=1,
          placeholder="Wähle eine Kategorie",
          options=options,
          custom_id="drop"
     )
     async def select_callback(self, select, interaction):
        if "1" in select.values:
            category = self.bot.get_channel(int(get_config("Support_Categorie")))
            
#

wo denn

urban glen
#

Beim emoji

#

Leg eins fest oder lass es weg

#

Also nicht emoji=""

last depot
#

okay okay ich probiere es

#

ah nice danke

graceful fiber
#

Wie kann ich beide Data Types als Choice einer Option haben. Ich hatte bisher nur die ersten 3 Values im Command als int festgelegt. Allerdings brauche ich relativ zwingend, dass man auch diesen 4. Value None dort übergibt und der als String erkannt wird.
Complex habe ich schon als Data Type probiert, wird aber nicht angenommen. Wie kann ich das fixen, hat jemand eine Idee?

solid ingot
#

meinst du bei clock_limit oder chess challenge? du könntest es als string übergeben

solid ingot
#

versuchs mit value="None"

graceful fiber
#

will es ja aber eigentlich als int haben 😅. Deswegen bin ich etwas ratlos, weil ich bei dem Command anscheinend nur int oder str angeben darf...

native plume
graceful fiber
#

Wie kann man checken ob jemand eine Interaktion gesendet hat? Also, dass nur jemand den Button drücken kann, der auch den Slash Command genutzt hat? Habe es so probiert, aber klappt iwie nicht.

solid ingot
#

@graceful fiber dafür müsstest du den user an die view klasse übergeben, im folgenden video zeige ich das

safe tendon
#

Weiß einer wie ich die Performance von meinen bot steigern kann?

graceful fiber
solid ingot
#

interaction.followup kannst du nur nutzen, nachdem du eine normale interaction response gesendet hast

graceful fiber
#

Hm okay ergibt Sinn

solid ingot
#

wenn du den pycord master branch hast, kannst du auch einfach interaction.edit und interaction.respond nutzen

odd kiteBOT
#

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

Links aus diesem Video
Installation ► pip install git+https://github.com/Pycord-Development/pycord
Git ► https://git-scm.com/downloads

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

PYCORD
Docs ► https://docs.pycord.de...

▶ Play video
solid ingot
solid ingot
#

du könntest ihn installieren, die neuste version bekommst du auch wenn du pycord deinstallierst und dann pip install py-cord-dev eingibst

graceful fiber
#

Ok probiere ich, danke

#

Klappt mit der Dev-Version, danke dir! ❤️

solid ingot
solid ingot
#

speed

safe tendon
#

Und kann ich das mit dev Version downloaden

graceful fiber
solid ingot
safe tendon
#

Ok

#

Würde caching mit bspw redis was bringen

solid ingot
solid ingot
solid ingot
graceful fiber
ruby sparrow
#

es ist egal was ich da an mache @solid ingot

solid ingot
#

naja halt das was du haben willst

ruby sparrow
#

ich weiss nicht was ist gut

burnt prairieBOT
#
Level Up!

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

Du hast insgesamt 3,904 Nachrichten geschrieben.

solid ingot
#

ich denke die 400 GB sind gut

ruby sparrow
#

oder ist das egal

solid ingot
#

wie viel leistung du brauchst musst du wissen

ruby sparrow
#

was heiste ssd ?

solid ingot
#

speicher

ruby sparrow
#

oder ssd ist das bessere ?

solid ingot
#

nvme ist schneller, aber ssd reicht auch

safe tendon
strange juniper
ruby sparrow
strange juniper
#

Was immer das geheime Geheimprojekt am Ende ist, die Leistung sieht nice aus.

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @last depot, du bist jetzt Level 8 🎉

Du hast insgesamt 291 Nachrichten geschrieben.

strange juniper
# last depot Er will Discord bots Hosten

Für den Preis? Oo
Ich meine.. nach ein bisschen rumgefrage und vergleichen habe ich mir vor wenigen Tagen erst selbst ein ordentliches update gegönnt.
2 von 4 CPU Kernen werden dabei eigentlich gar nicht gebraucht, die anderen beiden teilen sich OS und Bot. Dabei laufen die Dinger auf 4 GHz und haben mit monitoring von ~850 Server| 400_000 Membern eine durchschnittliche Auslastung von weit unter 5 %.
another Edit: müssen aber für seltene Fälle wie Riesen-Server mit 100k+ Membern die arbeitsintensive Befehle geben etwas mehr können. 100% spikes sind auch kurzfristig scheiße

Es liegen bestimmt 15 GB SSD Speicher brach, die wohl nie angetastet werden (etwa 30 gesamt).
Beim RAM sind 2 GB, DDR 4 (glaub 3200er taktung) drinne, was auch die einzige komponente ist, bei der ich nicht niedriger gehen würde.. selbst wenn im Normalbetrieb nur ~51 % verwendet werden. Auf keinen Fall auf SWAP fallen halt duckgun

Das ganze Paket, mit stellenweise sehr genauen Konfigurationsmöglichkeiten, kostet im Monat nicht einmal 3€!
Edit: 2.83€ /mntl. um genau zu sein. Selbst die nur, weil ich zu faul bin unnötige GB von der SSD runter zu schrauben.

Will man nun Bots hosten muss man den einzelnen Projekten ja auch Kerne zur verfügung stellen und für den Enduser irgendwie bezahlbar bleiben. Stelle ich mir schwierig vor.

strange juniper
#

So sieht das ganze im laufenden Betrieb aus. Screenshot ist eben random gemacht, kein cherry picking. Höchste Last eines einzelnen Kerns in den letzten 5 Minuten lag bei 3,3 %.

graceful fiber
#

Wie kann ich mehrere Embeds in einer Nachricht senden?

solid ingot
graceful fiber
solid ingot
#

was war der error?

graceful fiber
#

Am Code kanns aber nicht liegen, weil ich meine 2 Embeds einzeln senden darf.

graceful fiber
restive herald
#

schick mal wie du’s bisher hast

old ore
#

Weiß wer wie das nochmal mit so ner command Klasse ging also wo man mehr als einen command mit nem namen oder wie das war hatte

odd kiteBOT
#

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

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

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

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

▶ Play video
restive herald
#

erstmal, du kannst nd 2x mit ctx.respond antworten

#

zweitens schick mal bitte wirklich nen screen was passiert wenn du ctx.respond(embeds=[embed,embed2]) hast und dann den code

solid ingot
#

2x ctx.respond sollte gehen, das followup wird automatisch von pycord gehandelt

solid ingot
graceful fiber
graceful fiber
graceful fiber
#

Ich kann wenn es hilft nachher nochmal in den Call kommen oder so Shrugdge, bin halt wirklich ratlos SweatBlob

restive herald
fierce dove
#

Der bot hat keine rechte

solid ingot
#

du hast wahrscheinlich bei debug_guilds eine server ID für einen server angegeben, auf dem der bot nicht ist

fierce dove
#

Aber Admin perms sind nicht alle rechte oder doch

fierce dove
#

Eo

#

Wo

fierce dove
#

Kp

#

Code

#

Oke

restive herald
#
async with aiosqlite.connect(self.db) as db:
    asnyc with db.execute(“SELECT lvl, xp FROM levels WHERE user_id = ?“,(user.id)) as cursor:
         lvl, xp = cursor.fetchone()
#

so kannstes aus der db nehmen

#

je nach variablen und tabellennamen noch bissl ändern

novel ore
#

kann man irgendwie die Type Hints aus denn Docs ablesen. Also was man nach discord. braucht

fierce dove
solid ingot
novel ore
solid ingot
novel ore
#

ach das heißt ich muss thread: discord.Thread hinschrieben

solid ingot
#

in dem fall ja

novel ore
#

ok danke

hardy river
#

wieso funktioniert das jetzt nichtmehr
hat bis vor 5 min noch funktioniert

#

das "b" ist falsch der rest aber ok

fierce dove
#

Ganzer code

#

@hardy river

hardy river
#

ja 1 sek

fierce dove
#

Oke

urban glen
#

Kriegst sogar 2 sek

fierce dove
#

🙂

limber crow
#

Was muss ich hier noch hinzufügen, damit ein Channel erstellt wird, wenn der User dem Channel Create Channel gejoint ist ? (Soll über ID passieren und wird gespeichert in der Datenbank)

hardy river
urban glen
# hardy river

Weil du eine offne function hast, wo du nix machst

Also dieses async def info(...):

Nach dem doppelpunkt, kannst du nicht einfach leer lassen

fierce dove
limber crow
#

Fehlercode


Ignoring exception in view <SetupSelectMenu timeout=900.0 children=1> for item <Select type=<ComponentType.string_select: 3> placeholder='Select a Setup Option' min_values=1 max_values=1 options=[<SelectOption label='Create TempVoice' value='Create TempVoice' description='Here you can Create the TempVoice System' emoji=<PartialEmoji animated=False name='Create' id=1150032426656079922> default=False>] channel_types=[] disabled=False>:
Traceback (most recent call last):
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 421, in _scheduled_task
    await item.callback(interaction)
  File "c:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\TestBot\cogs\Setups\setup-tempvoice.py", line 135, in callback
    voicechannel_id = await get_voice_info()
                      ^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Users\YT197\Desktop\Allgemein\Dev\Discord\Pycord\TestBot\cogs\Setups\setup-tempvoice.py", line 129, in get_voice_info
    await cursor.execute(
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\cursor.py", line 48, in execute
    await self._execute(self._cursor.execute, sql, parameters)
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\cursor.py", line 40, in _execute
    return await self._conn._execute(fn, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 133, in _execute
    return await future
           ^^^^^^^^^^^^
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 106, in run
    result = function()
             ^^^^^^^^^^
sqlite3.OperationalError: no such column: voicechannel_id

Code


async def get_tempvoice_info():
                async with aiosqlite.connect("database/tempvoice.db") as db:
                    async with db.cursor() as cursor:
                        await cursor.execute(
                            """SELECT category_id FROM tempvoice WHERE category_id=?""", (category.id,)
                        )
                        return await cursor.fetchone()
            
            async def get_voice_info():
                async with aiosqlite.connect("database/tempvoice.db") as db:
                    async with db.cursor() as cursor:
                        await cursor.execute(
                            """SELECT voicechannel_id FROM tempvoice WHERE voicechannel_id =?""", (voicechannel.id,)
                        )
                        return await cursor.fetchone()

            category_id = await get_tempvoice_info()
            voicechannel_id = await get_voice_info()
            voicechannel = interaction.guild.get_channel(voicechannel_id)
            
            async def on_voice_state_update():     
                if voicechannel_id:
                    user_name = interaction.user.display_name
                    new_voice_channel = await category.create_voice_channel(f"{user_name}'s Channel")
                    await interaction.user.move_to(new_voice_channel)
#

Warum tritt der Fehler auf ?

fierce dove
#

Weil du kein voicechannel_id definiert hast oder bin ich blind

urban glen
#

Lernt errors zu lesen & zu verstehen

fierce dove
#

Database muss ich noch lernrn

limber crow
urban glen
#

mhm

old ore
#

gibts n on_button_click event oder so und wenn ja funktoniert des auch mit button nach nem bot restart

limber crow
tawdry leaf
old ore
tawdry leaf
#

musst halt persisten machen

urban glen
urban glen
old ore
#

alles gut danke.

old ore
#

muss noch schauen wie ich des am dümmsten bei meinem ticket system mache

limber crow
#

Das ist für neustart, damit es geht. Einfach das für dich auf dein button anwenden. In meinem falle ist es ganz oben

#

Warum erstellt sich kein Voice Channel hier ?


 async def get_tempvoice_info():
                async with aiosqlite.connect("database/tempvoice.db") as db:
                    async with db.cursor() as cursor:
                        await cursor.execute(
                            """SELECT category_id FROM tempvoice WHERE category_id=?""", (category.id,)
                        )
                        return await cursor.fetchone()
            
            async def get_voice_info():
                async with aiosqlite.connect("database/tempvoice.db") as db:
                    async with db.cursor() as cursor:
                        await cursor.execute(
                            """SELECT creator_channel_id FROM tempvoice WHERE creator_channel_id =?""", (voicechannel.id,)
                        )
                        return await cursor.fetchone()

            async def on_voice_state_update(member, before, after):     
                category_id = await get_tempvoice_info()
                voicechannel_id = await get_voice_info()
                voicechannel = member.guild.get_channel(voicechannel_id)

                if voicechannel and voicechannel.category_id == category_id:
                    user_name = member.display_name
                    new_voice_channel = await voicechannel.category.create_voice_channel(f"{user_name}'s Channel")
                    await member.move_to(new_voice_channel)
tawdry leaf
#

wozu voicechannel getten?

limber crow
tawdry leaf
#

ja das schon klar

tawdry leaf
limber crow
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @limber crow, du bist jetzt Level 17 🎉

Du hast insgesamt 1,195 Nachrichten geschrieben.

tawdry leaf
#

dann frag doch die auch ab

limber crow
tawdry leaf
limber crow
tawdry leaf
#

aber du kriegst doch bei den get_channel desselbe wie bei voicechannel_id raus

wind finch
#

Code:
    node: wavelink.Node = wavelink.Node(host='lavalink2.oryzen.xyz', port='2248',password='disco/6xpF6YqVDd')
    await wavelink.NodePool.connect(client=bot, nodes=[node])

    node = wavelink.NodePool.get_node()
    print(node.players)

@bot.slash_command()
async def play(ctx: commands.Context, *, search: str) -> None:
    """Musik Command"""

    if not ctx.voice_client:
        vc: wavelink.Player = await ctx.author.voice.channel.connect(cls=wavelink.Player)
    else:
        vc: wavelink.Player = ctx.voice_client

    if not self.nodes: 
        await ctx.respond("Es gibt keine Nodes")
        return


    tracks: list[wavelink.YouTubeTrack] = await wavelink.YouTubeTrack.search(search)
    if not tracks:
        await ctx.respond(f'Sorry ich habe diese Suche: `{search} nicht  gefunden!`')
        return

    track: wavelink.YouTubeTrack = tracks[0]
    await vc.play(track)
#


ERROR:



Ignoring exception in command play:
Traceback (most recent call last):
  File "", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "", line 982, in _invoke
    await self.callback(ctx, **kwargs)
  File "", line 188, in play
    vc: wavelink.Player = await ctx.author.voice.channel.connect(cls=wavelink.Player)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "", line 1934, in connect
    voice = cls(client, self)
            ^^^^^^^^^^^^^^^^^
  File "", line 124, in __init__
    self.current_node = self.nodes[0]
                        ~~~~~~~~~~^^^
IndexError: list index out of range

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

Traceback (most recent call last):
  File "", line 1114, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "", line 375, in invoke
    await injected(ctx)
  File "", line 132, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: IndexError: list index out of range```
tawdry leaf
wind finch
tawdry leaf
wind finch
# tawdry leaf File "", line 188, in play vc: wavelink.Player = await ctx.author.voice.chan...



Ignoring exception in command play:
Traceback (most recent call last):
  File "", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "", line 982, in _invoke
    await self.callback(ctx, **kwargs)
  File "", line 188, in play
    vc = await ctx.author.voice.channel.connect(cls=wavelink.Player, node=wavelink.NodePool.nodes[0])
                                                                          ~~~~~~~~~~~~~~~~~~~~~~~^^^
KeyError: 0

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

Traceback (most recent call last):
  File "", line 1114, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "", line 375, in invoke
    await injected(ctx)
  File "", line 132, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: KeyError: 0```
limber crow
#

Was ist hier falsch ?


async def get_tempvoice_info(category):
        async with aiosqlite.connect("database/tempvoice.db") as db:
            async with db.cursor() as cursor:
                await cursor.execute(
                    """SELECT category_id FROM tempvoice WHERE category_id=?""", (category.id,)
                )
                return await cursor.fetchone()
                
    async def get_voice_info(voicechannel):
        async with aiosqlite.connect("database/tempvoice.db") as db:
            async with db.cursor() as cursor:
                await cursor.execute(
                    """SELECT creator_channel_id FROM tempvoice WHERE creator_channel_id =?""", (voicechannel.id,)
                )
                return await cursor.fetchone()
            
    @commands.Cog.listener()
    async def on_voice_state_update(member, before, after):     
        category_id = await get_tempvoice_info()
        voicechannel_id = await get_voice_info()

        if voicechannel_id and voicechannel_id.category_id == category_id:
            user_name = member.display_name
            new_voice_channel = await voicechannel_id.category.create_voice_channel(f"{user_name}'s Channel")
            await member.move_to(new_voice_channel)
safe tendon
#

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/discord/cog.py", line 789, in _load_from_module_spec
setup(self)
File "/Volumes/coding/merl/src/modules/mod/moderation.py", line 1291, in setup
bot.add_cog(Mod(bot))
File "/Volumes/coding/merl/src/modules/mod/moderation.py", line 66, in init
self.no = Merl(Merl, "no")
File "/Volumes/coding/merl/src/lib/Client.py", line 29, in init
super().init(
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/discord/bot.py", line 1151, in init
super().init(*args, **options)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/discord/bot.py", line 85, in init
super().init(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/discord/cog.py", line 614, in init
super().init(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/discord/shard.py", line 349, in init
super().init(*args, loop=loop, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/discord/client.py", line 245, in init
self._connection: ConnectionState = self._get_state(**options)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/discord/shard.py", line 375, in _get_state
return AutoShardedConnectionState(
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/discord/state.py", line 1849, in init
super().init(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/discord/state.py", line 215, in init
raise TypeError(f"intents parameter must be Intent not {type(intents)!r}")
TypeError: intents parameter must be Intent not <class 'str'>

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

Traceback (most recent call last):
File "/Volumes/coding/merl/main.py", line 6, in <module>
client.loadCommands("src/modules", sub=True)
File "/Volumes/coding/merl/src/lib/Client.py", line 167, in loadCommands
self._load_Commands(f"{dir}/{sub}")
File "/Volumes/coding/merl/src/lib/Client.py", line 176, in _load_Commands
self.load_extension(full_path)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/discord/cog.py", line 913, in load_extension
self._load_from_module_spec(spec, name)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/discord/cog.py", line 794, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'src.modules.mod.moderation' raised an error: TypeError: intents parameter must be Intent not <class 'str'>

was heißt das?

urban glen
#

Code?

safe tendon
#
class Merl(discord.AutoShardedBot):
    def __init__(
        self,
        token: str = os.getenv("TOKEN"),
        intents: discord.Intents = discord.Intents.all(),
        *args,
        **kwargs,
    ) -> None:
        super().__init__(
            description=kwargs.get("description", "A Discord bot made with PyCord"),
            intents=intents,
            *args,
            **kwargs,
        )

        self._token = token
        self.logger = Logger()
        self.app = web.Application()
        self._error_color = int(os.getenv("ERROR_COLOR"), 16)
        self._color = int(os.getenv("COLOR"), 16)
        self.client = pymongo.MongoClient(os.getenv("MONGO"))

        self.add_listener(self.ready, "on_ready")
        self.add_listener(self._error, "on_application_command_error")
        self.add_listener(self.bot_inviter, "on_guild_join")

        self.no_emoji = self.msg_emojis("no")

        Merl.db = self.client["Merl"]
tawdry leaf
#

Ich wollte grade meinen Button persistent machen und habe dann festgestellt das ich einen error habe der eig gar nd kommen könnte weil man mit ezcord die

self.bot = bot nicht übergeben muss weil des doch automatisch da geht

Error:

[ERROR] Error in event on_ready 
Traceback (most recent call last):
  File "D:\py\lib\site-packages\discord\client.py", line 399, in _run_event
    await coro(*args, **kwargs)
  File "D:\test\pycord\cogs\fun.py", line 12, in on_ready
    self.bot.add_view(Fact)
  File "D:\py\lib\site-packages\discord\client.py", line 1942, in add_view
    raise TypeError(f"expected an instance of View not {view.__class__!r}")
TypeError: expected an instance of View not <class 'type'>```


Code:

```py
class Fun(ezcord.Cog, emoji=":fun~1:"):

    @ezcord.Cog.listener()
    async def on_ready(self):
        self.bot.add_view(Fact)```
novel ore
#

Fact()

tawdry leaf
novel ore
#

imm on_ready?

urban glen
novel ore
urban glen
#

musst du abspeichern, und er meint das Fact() in dem setup

tawdry leaf
urban glen
#

abspeichern :o

tawdry leaf
#

datenschutz 🤔

novel ore
#

Einfach in einer Datenbank

#

Musst die db ja nicht öffentlich machen

tawdry leaf
#

hmm einf guten host haben und nd neustarten 🙂

novel ore
#

Warum net neu starten?

tawdry leaf
wind finch
wind finch
urban glen
#

Worum gehts
kein bock hoch zu scrollen xDD

wind finch
# urban glen Worum gehts kein bock hoch zu scrollen xDD


async def setup_hook(self) -> None:
     
        node: wavelink.Node = wavelink.NodePool(host="lavalink2.oryzen.xyz", port="1317", password="Zensiert")
        await wavelink.NodePool.connect(client=self, nodes=[node])






@bot.slash_command()
async def play(ctx: commands.Context, *, search: str) -> None:
    """Musik Command"""

    if not ctx.voice_client:
        vc = await ctx.author.voice.channel.connect(cls=wavelink.Player, node=wavelink.NodePool.nodes[0])
    else:
        vc = ctx.voice_client

    tracks = await wavelink.YouTubeTrack.search(search)

    if not tracks:
        await ctx.respond(f'Sorry, ich habe diese Suche: `{search}` nicht gefunden!')
        return

    track = tracks[0]
    await vc.play(track)```
#

Kriege diesen Error:

urban glen
urban glen
#
async def setup_hook(self) -> None:
    node: wavelink.Node = wavelink.NodePool(uri="lavalink2.oryzen.xyz:1317", password="Zensiert")
    await wavelink.NodePool.connect(client=self, nodes=[node])


@bot.slash_command()
async def play(ctx: discord.ApplicationContext, *, search: str) -> None:
    """Musik Command"""

    if not ctx.voice_client:
        vc = await ctx.author.voice.channel.connect(cls=wavelink.Player)
    else:
        vc = ctx.voice_client

    tracks = await wavelink.YouTubeTrack.search(search)

    if not tracks:
        await ctx.respond(f'Sorry, ich habe diese Suche: `{search}` nicht gefunden!')
        return

    track = tracks[0]
    await vc.play(track)

Versuchs so

wind finch
#

Also wavelink halt

limber crow
vivid sky
limber crow
vivid sky
#
    @commands.Cog.listener()
    async def on_voice_state_update(self, member, before, after):
#

self fehlt

limber crow
#

Ah

vivid sky
#

Also versuch es so

async def get_tempvoice_info(category):
        async with aiosqlite.connect("database/tempvoice.db") as db:
            async with db.cursor() as cursor:
                await cursor.execute(
                    """SELECT category_id FROM tempvoice WHERE category_id=?""", (category.id,)
                )
                return await cursor.fetchone()
                
    async def get_voice_info(voicechannel):
        async with aiosqlite.connect("database/tempvoice.db") as db:
            async with db.cursor() as cursor:
                await cursor.execute(
                    """SELECT creator_channel_id FROM tempvoice WHERE creator_channel_id =?""", (voicechannel.id,)
                )
                return await cursor.fetchone()
            
    @commands.Cog.listener()
    async def on_voice_state_update(self, member, before, after):     
        category_id = await self.get_tempvoice_info()
        voicechannel_id = await self.get_voice_info()

        if voicechannel_id and voicechannel_id.category_id == category_id:
            user_name = member.display_name
            new_voice_channel = await voicechannel_id.category.create_voice_channel(f"{user_name}'s Channel")
            await member.move_to(new_voice_channel)
limber crow
vivid sky
#

error?

limber crow
vivid sky
#

dann lass dir das mal printen

#

was du speicherst

#

und guck ob was in der datenbank eingetragen wurde

limber crow
vivid sky
#

Dann schick mal dein code

#

ich gucke was da falsch ist

limber crow
#

Bruh. Warum da geürintet xD

ivory orchid
#
        time=time(9, 51, tzinfo=timezone.utc)
    )
    async def time_task(self):
        day = datetime.now().strftime("%A")
        if day == "Friday":```

Ich kommt mit dem datetime Zeug noch nicht so richtig klar. Ist das richtig so? Der Code nach dem "if day == "Friday":" wird auf jeden fall nicht ausgeführt.

Im Endeffekt soll 1x in der Woche zu einer bestimmten Uhrzeit was ausgeführt werden. Geht das einfacher?
solid ingot
#

@ivory orchid das ist schon ein guter weg um das problem zu lösen. lass dir doch mal day ausgeben, damit du siehst, wieso Friday nicht stimmt. denk auch dran, dass es in UTC gerade 8:03 ist, also musst du die zeit um 2 stunden zurückstellen, wenn du etwas testen magst

ivory orchid
#

Also wenn ich mir "day" ausgeben lasse kommt "Friday" raus. Das sollte doch stimmen? Ich denke mal, dass es an den 2h zum testen liegt. Habe vorher mit einer gerechnet ^^

fierce dove
#

wie kann ich poetry instalieren

#

in vsc

indigo sapphire
#

Kann mir jemand helfen so ein Layout zu bekommen mit VS?

Mein VS Sieht komplett anders aus. So zu sagen in pro Modus

limber crow
fierce dove
#

Wie heißt das theme

indigo sapphire
solid ingot
fierce dove
#

Danke

indigo sapphire
solid ingot
#

am layout habe ich nichts geändert

indigo sapphire
fierce dove
#

Zeig

indigo sapphire
#

Komm gerade

#

Starte erst mal Laptop

#

In join to create

#

@fierce dove
Bin da

fierce dove
#

Ok

urban glen
indigo sapphire
urban glen
#

wenn man einen Button Callback macht
und damit nur einen Edit an einer nachricht vornimmt, kommt der fehler [bei der nachricht] 'This Interaction Failed'
kann man das irgendwie umgehen oder muss man einen response machen?

#

try:

burnt prairieBOT
#
Level Up!

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

Du hast insgesamt 2,494 Nachrichten geschrieben.

urban glen
#

oder await interaction.message.edit()

#

hab schon

urban glen
#

nur in discord sagt er das.

#

hm

#

es funktioniert vom ding her aber in discord kriege ich diesen fehler

#

hast du schon await interaction.edit probiert?

solid ingot
#

im master branch kannst du interaction.edit machen, sonst kannst du auch interaction.response.edit_message machen

fierce dove
#

Warum kann ich kein better discord installieren

fierce dove
#

Hilfeeeee

fierce dove
solid ingot
#

bitte hier nichts fragen was gegen die TOS verstößt

fierce dove
#

Oh

urban glen
fierce dove
#

Kannst du mir helfen asuna

hard pivot
#

Hallo weiß wer wie ich mit Python ein Bild mit einer url bekomme und die dann in eine mysql db bekomme?

urban glen
#

kommt drauf an wie du das bild eingibst

#

per command, per msg event, per programm

dusk hollow
#
import discord
from discord.ext import commands

BADGE_DICT = {
    discord.UserFlags.bug_hunter: ('<:1073650673847124018>', 'Bug Hunter'),
    discord.UserFlags.bug_hunter_level_2: ('<:1073650701412093952>', 'Bug Hunter Level 2'),
    discord.UserFlags.early_supporter: ('<:1073650766302171236>', 'Early Supporter'),
    discord.UserFlags.verified_bot_developer: ('<:1073650929951309914>', 'Verifizierter Bot Entwickler'),
    discord.UserFlags.active_developer: ('<:1073752640871206962>', 'Aktiver Entwickler'),
    discord.UserFlags.partner: ('<:1073651009311756289>', 'Discord Partner'),
    discord.UserFlags.staff: ('<:1073651341634850997>', 'Discord Staff'),
    discord.UserFlags.hypesquad_balance: ('<:1073651559180808286>', 'Hypesquad Balance'),
    discord.UserFlags.hypesquad_bravery: ('<:1073651574699737128>', 'Hypesquad Bravery'),
    discord.UserFlags.hypesquad_brilliance: ('<:1073651581347692634>', 'Hypesquad Brilliance')
}

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

    @commands.command()
    async def count_badges(self, ctx):
        badge_counts = {badge[1]: 0 for badge in BADGE_DICT.values()}

        for member in ctx.guild.members:
            for flag in member.public_flags.all():
                if flag in BADGE_DICT:
                    badge_emoji, badge_name = BADGE_DICT[flag]
                    badge_counts[badge_name] += 1

        # Erstellen des Embeds
        embed = discord.Embed(title="Abzeichen auf diesem Server", color=discord.Color.blue())

        for badge_name, badge_count in badge_counts.items():
            embed.add_field(name=badge_name, value=f"Anzahl: {badge_count}", inline=False)

        await ctx.send(embed=embed)

def setup(bot):
    bot.add_cog(buget(bot))
fierce dove
#

Error

dusk hollow
#

Emjios werden nicht angezeigt und CHATGTP ist zu dumm dafür

dusk hollow
fierce dove
#

Ok

#
import discord
from discord.ext import commands

BADGE_DICT = {
    discord.UserFlags.bug_hunter.value: ('<:1073650673847124018>', 'Bug Hunter'),
    discord.UserFlags.bug_hunter_level_2.value: ('<:1073650701412093952>', 'Bug Hunter Level 2'),
    discord.UserFlags.early_supporter.value: ('<:1073650766302171236>', 'Early Supporter'),
    discord.UserFlags.verified_bot_developer.value: ('<:1073650929951309914>', 'Verifizierter Bot Entwickler'),
    discord.UserFlags.active_developer.value: ('<:1073752640871206962>', 'Aktiver Entwickler'),
    discord.UserFlags.partner.value: ('<:1073651009311756289>', 'Discord Partner'),
    discord.UserFlags.staff.value: ('<:1073651341634850997>', 'Discord Staff'),
    discord.UserFlags.hypesquad_balance.value: ('<:1073651559180808286>', 'Hypesquad Balance'),
    discord.UserFlags.hypesquad_bravery.value: ('<:1073651574699737128>', 'Hypesquad Bravery'),
    discord.UserFlags.hypesquad_brilliance.value: ('<:1073651581347692634>', 'Hypesquad Brilliance')
}

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

    @commands.command()
    async def count_badges(self, ctx):
        badge_counts = {badge[1]: 0 for badge in BADGE_DICT.values()}

        for member in ctx.guild.members:
            for flag in member.public_flags.all():
                if flag.value in BADGE_DICT:
                    badge_emoji, badge_name = BADGE_DICT[flag.value]
                    badge_counts[badge_name] += 1

        # Erstellen des Embeds
        embed = discord.Embed(title="Abzeichen auf diesem Server", color=discord.Color.blue())

        for badge_name, badge_count in badge_counts.items():
            embed.add_field(name=badge_name, value=f"Anzahl: {badge_count}", inline=False)

        await ctx.send(embed=embed)

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

@dusk hollow

dusk hollow
#

äh was hast du da geändert ?, weil alles ist gleich geblieben

fierce dove
#

Geht's

dusk hollow
#

warte ich komme mal voice

fierce dove
#

Ok

#

Bei mir geht der Code @dusk hollow

dusk hollow
#

dogesmile bei mir doch auch aber das war ja nicht das Problem sondern wieso die emjios nicht angezeigt werden

fierce dove
#

Hmmm

#

Du hast die falsche Definiert

#

Ich mache es schnell

#

Soll discord_bughunterlv1_xenority Bighunter soll das so sein @dusk hollow

dusk hollow
#

ja

fierce dove
#

Ok

#

Mache es schnell

#
import discord
from discord.ext import commands

BADGE_DICT = {
    discord.UserFlags.bug_hunter.value: ('<bugHunter:1073650673847124018> Bug Hunter'),
    discord.UserFlags.bug_hunter_level_2.value: ('<buhhunter2:1073650701412093952> Bug Hunter Level 2'),
    discord.UserFlags.early_supporter.value: ('<earlysupporter:1073650766302171236> Early Supporter'),
    discord.UserFlags.verified_bot_developer.value: ('<botdev:1073650929951309914> Verifizierter Bot Entwickler'),
    discord.UserFlags.active_developer.value: ('<active_dev:1073752640871206962> Aktiver Entwickler'),
    discord.UserFlags.partner.value: ('<Partner:1073651009311756289> Discord Partner'),
    discord.UserFlags.staff.value: ('<DiscordStaff:1073651341634850997> Discord Staff'),
    discord.UserFlags.hypesquad_balance.value: ('<hype_balance:1073651559180808286> Hypesquad Balance'),
    discord.UserFlags.hypesquad_bravery.value: ('<hype_bravery:1073651574699737128> Hypesquad Bravery'),
    discord.UserFlags.hypesquad_brilliance.value: ('<hype_brilliance:1073651581347692634> Hypesquad Brilliance')
}

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

    @commands.command()
    async def count_badges(self, ctx):
        badge_counts = {badge[1]: 0 for badge in BADGE_DICT.values()}

        for member in ctx.guild.members:
            for flag in member.public_flags.all():
                if flag.value in BADGE_DICT:
                    badge_emoji, badge_name = BADGE_DICT[flag.value]
                    badge_counts[badge_name] += 1

        # Erstellen des Embeds
        embed = discord.Embed(title="Abzeichen auf diesem Server", color=discord.Color.blue())

        for badge_name, badge_count in badge_counts.items():
            embed.add_field(name=badge_name, value=f"Anzahl: {badge_count}", inline=False)

        await ctx.send(embed=embed)

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

@dusk hollow

dusk hollow
#

jetzt kommen errors

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @dusk hollow, du bist jetzt Level 4 🎉

Du hast insgesamt 56 Nachrichten geschrieben.

fierce dove
#

Ok

fierce dove
#
[ERROR] Error while executing /count_badges
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 131, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/commands/core.py", line 1000, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "/storage/emulated/0/Timo/Dev/Discord/Bot/Falci/cogs/Fun/badge.py", line 36, in count_badges
    badge_emoji, badge_name = BADGE_DICT[badge_name][1]
                              ~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'BugHunter'
#
import discord
from discord.ext import commands
from discord.commands import slash_command

BADGE_DICT = {
    discord.UserFlags.bug_hunter: ('<bugHunter:1073650673847124018>', 'BugHunter'),
    discord.UserFlags.bug_hunter_level_2: ('<buhhunter2:1073650701412093952>', 'Bug Hunter Level 2'),
    discord.UserFlags.early_supporter: ('<earlysupporter:1073650766302171236>', 'Early Supporter'),
    discord.UserFlags.verified_bot_developer: ('<botdev:1073650929951309914>', 'Verifizierter Bot Entwickler'),
    discord.UserFlags.active_developer: ('<active_dev:1073752640871206962>', 'Aktiver Entwickler'),
    discord.UserFlags.partner: ('<Partner:1073651009311756289>', 'Discord Partner'),
    discord.UserFlags.staff: ('<DiscordStaff:1073651341634850997>', 'Discord Staff'),
    discord.UserFlags.hypesquad_balance: ('<hype_balance:1073651559180808286>', 'Hypesquad Balance'),
    discord.UserFlags.hypesquad_bravery: ('<hype_bravery:1073651574699737128>', 'Hypesquad Bravery'),
    discord.UserFlags.hypesquad_brilliance:('<hype_brilliance:1073651581347692634>', 'Hypesquad Brilliance')
}

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

    @slash_command()
    async def count_badges(self, ctx):
        badge_counts = {badge[1]: 0 for badge in BADGE_DICT.values()}

        for member in ctx.guild.members:
            for flag in member.public_flags.all():
                if flag in BADGE_DICT:
                    badge_emoji, badge_name = BADGE_DICT[flag]
                    badge_counts[badge_name] += 1

        # Erstellen des Embeds
        embed = discord.Embed(title="Abzeichen auf diesem Server", color=discord.Color.blue())

        for badge_name, badge_count in badge_counts.items():
            badge_emoji d= BADGE_DICT[badge_name][1]
            embed.add_field(name=f"{badge_emoji} {badge_name}", value=f"Anzahl: {badge_count}", inline=False)

        await ctx.respond(embed=embed)

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

Helppppp

fierce dove
#

Keine Ahnung wie

#

Bitte helfe

#

Bitte papapapapaüaaüüa

#

Keine Ahnung was das ist 🙂

#

Muss bald ins Bett glaube ich

#

Er findet es immer noch nicht

wind finch
#

Code:

    async def setup_hook(self) -> None:
        node: wavelink.Node = wavelink.NodePool(uri="lavalink2.oryzen.xyz:1317", password="zeigichnicht")
        await wavelink.NodePool.connect(client=self, nodes=[node])

@bot.slash_command()
async def play(ctx: commands.Context, *, search: str) -> None:
        """Musik Command"""

        if not ctx.voice_client:
            vc = await ctx.author.voice.channel.connect(cls=wavelink.Player)
        else:
            vc = ctx.voice_client

        tracks = await wavelink.YouTubeTrack.search(search)

        if not tracks:
            await ctx.respond(f'Sorry, ich habe diese Suche: `{search}` nicht gefunden!')
            return

        track = tracks[0]
        await vc.play(track)```
#

Error:

Ignoring exception in command play:
Traceback (most recent call last):
  File "", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "", line 982, in _invoke
    await self.callback(ctx, **kwargs)
  File "", line 178, in play
    vc = await ctx.author.voice.channel.connect(cls=wavelink.Player)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "", line 1934, in connect
    voice = cls(client, self)
            ^^^^^^^^^^^^^^^^^
  File "", line 124, in __init__
    self.current_node = self.nodes[0]
                        ~~~~~~~~~~^^^
IndexError: list index out of range

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

Traceback (most recent call last):
  File "", line 1114, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "", line 375, in invoke
    await injected(ctx)
  File "", line 132, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc

discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: IndexError: list index out of range```
fierce dove
#

Code

wind finch
novel ore
#

Du willst ein Element aus einer Liste abfragen also das erste aber diese Liste hat keinen Werte

fierce dove
#

Chat gpt kann mir auch net helfeb

urban glen
#

Ist auch nh schlechte Idee chatgpt zu fragen

fierce dove
#

Ok

#

Kommt aber immer der gleiche error

fierce dove
urban glen
#

Grad nicht

urban glen
#

Junge einmal reicht

fierce dove
#

Ok

urban glen
#

Wenn dir jemand helfen kann / helfen will, dann wird er/sie es tun

fierce dove
#

Ok

urban glen
#

L Take

fierce dove
#

Ich erstelle ein thread

burnt prairieBOT
#
Ghost Ping

@fierce dove hat @solid ingot gepingt.

urban glen
urban glen
#

Hast ja nicht mal rechte dafür ._.

urban glen
fierce dove
#

Hab mich verschrieben

urban glen
#

ah

fierce dove
#

Beine Forum

hard pivot
#

Hallo weiß wer wie ich eine bild mit der url in eine mysql db machen kann

#

Also das ich eine url habe und das bild dann in die db insertet wird und ich es dann weider rausholen kann

solid ingot
#

wieso speicherst du nicht einfach nur den link in der datenbank?

hard pivot
solid ingot
#

das stimmt

tawdry leaf
#

Kannst doch des Bild als png Datei speichern 🤨

hard pivot
#

Daher ist das bisschen schwer im voraus die alle zu speichern

tawdry leaf
#

Dann mach es eben so das er bot des Bild in einen extra Kanal schickt dann geht es nd weg

solid ingot
hard pivot
#

kann man die nicht als blob oder so rein machen?

#

Oder kostet das dann zuviel speicher

solid ingot
#

kann man schon

#

andere wege sind denke ich einfacher

graceful fiber
urban glen
#

Ist es möglich bei so einem Slash Command es zu machen, das dannach man immernoch die View benutzen kann? Da ich eine discord.ui.Select verwende in meiner class und ich nun nicht mehr weiß ob man es auch so nach einem restart immernoch benutzen kann

solid ingot
#

ja, musst dir im on ready event dann wieder ein view erzeugen

urban glen
#

also im onready mach ich dann view=discord.ui.View(timeout=None) und dann self.bot.add_view(view)

#

richtig?

solid ingot
#

naja da muss dann schon noch das select rein

urban glen
#

a wdadwadsw

opal basin
#
 RuntimeWarning: coroutine 'Item.callback' was never awaited
  await self.coro(*args, **kwargs)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

was wurde nicht awaited verstehe es nicht

fierce dove
#

Code

opal basin
#
            @button.callback
            async def show_level(interaction: discord.Interaction):
                xp = await self.get_xp(interaction.user.id)
                lvl = await self.get_level(xp)
                await interaction.response.send_message(f"Du bist Level {lvl}!", ephemeral=True)

Das ist der button

fierce dove
#

Alles ist richtig

#

Meiner seids

solid ingot
#

welche library nutzt du?

opal basin
#

ja ik

opal basin
urban glen
solid ingot
#

das sieht nicht aus wie pycord code, schau am besten nochmal den beispiel code an für buttons

odd kiteBOT
urban glen
# odd kite

Das sieht nach einem coolen button aus (°v°)

wind finch
#

Code:

    async def setup_hook(self) -> None:
        node: wavelink.Node = wavelink.NodePool(uri="lavalink2.oryzen.xyz:1317", password="zeigichnicht")
        await wavelink.NodePool.connect(client=self, nodes=[node])

@bot.slash_command()
async def play(ctx: commands.Context, *, search: str) -> None:
        """Musik Command"""

        if not ctx.voice_client:
            vc = await ctx.author.voice.channel.connect(cls=wavelink.Player)
        else:
            vc = ctx.voice_client

        tracks = await wavelink.YouTubeTrack.search(search)

        if not tracks:
            await ctx.respond(f'Sorry, ich habe diese Suche: `{search}` nicht gefunden!')
            return

        track = tracks[0]
        await vc.play(track)```
#

Error:

Ignoring exception in command play:
Traceback (most recent call last):
  File "", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "", line 982, in _invoke
    await self.callback(ctx, **kwargs)
  File "", line 178, in play
    vc = await ctx.author.voice.channel.connect(cls=wavelink.Player)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "", line 1934, in connect
    voice = cls(client, self)
            ^^^^^^^^^^^^^^^^^
  File "", line 124, in __init__
    self.current_node = self.nodes[0]
                        ~~~~~~~~~~^^^
IndexError: list index out of range

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

Traceback (most recent call last):
  File "", line 1114, in invoke_application_command
    await ctx.command.invoke(ctx)
  File "", line 375, in invoke
    await injected(ctx)
  File "", line 132, in wrapped
    raise ApplicationCommandInvokeError(exc) from exc

discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: IndexError: list index out of range```
urban glen
#

Nutzt du "pycord-wavelink" oder "wavelink"

wind finch
urban glen
#

hm, naja das ding is halt, "wavelink" ist extra für discord.py

Kann sein, dass dann noch andere errors auftreten
Aber egal, ich schau mal wo der fehler liegt

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

    async def connect_node():
        node: wavelink.Node = wavelink.Node(
            uri="lavalink2.oryzen.xyz:1317",
            password="zeigichnicht",
        )
        await wavelink.NodePool.connect(client=self.bot, nodes=[node])
        print("Connected to node")
    

    @commands.Cog.listener()
    async def on_wavelink_node_ready(self, node: wavelink.Node):
        print(f"Wavelink node '{node.id}' ready.")

    @commands.Cog.listener()
    async def on_ready(self):
        await self.connect_node()

Versuchs so zu laden

Habs halt so in nem Cog grad

#

@wind finch

wind finch
#

Ok Danke

wind finch
#

was hat das zu bedeuten xd :

Wavelink 2.0 was unable to connect, retrying connection in: "0.5764563976181991" seconds.```
safe tendon
#

wie kann ich bei discord.VoiceChannel gucken ob der channel public oder private ist?

fierce dove
#
import discord

# Annahme: 'channel' ist der Voice Channel, den du überprüfen möchtest

if channel.type == discord.ChannelType.public:
    print("Der Voice Channel ist öffentlich.")
elif channel.type == discord.ChannelType.private:
    print("Der Voice Channel ist privat.")
else:
    print("Der Voice Channel hat einen unbekannten Typ.")
safe tendon
#

ah danke

fierce dove
#

Bitte

safe tendon
fierce dove
#

Hmmm

novel ore
fierce dove
#

Hier

solid ingot
fierce dove
vivid sky
fierce dove
vivid sky
fierce dove
#
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/client.py", line 399, in _run_event
    await coro(*args, **kwargs)
  File "/storage/emulated/0/Timo/Dev/Discord/Bot/AquaSay/addons/Bot.py", line 48, in on_ready
    await self.sync_commands()
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/bot.py", line 757, in sync_commands
    app_cmds = await self.register_commands(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/bot.py", line 534, in register_commands
    prefetched_commands = await self._bot.http.get_guild_commands(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/http.py", line 365, in request
    raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access
#

Ok

fresh otter
#

kann mir da wer helfen? Habe die Module eigentlich installiert

fresh otter
#

ja

urban glen
#

dann keine ahnung :o

solid ingot
#

@fresh otter für discord.py benötigst du discord_slash nicht, am besten deinstallierst du das package

fresh otter
solid ingot
# fresh otter wie dann? Bin relativ neu in Python

am besten arbeitest du immer nur mit einem package, also zb discord.py oder py-cord. diese packages haben schon alles was du brauchst. wenn du zusätzlich noch andere packages hast, wie discord_slash, funktionieren die packages eventuell nicht mehr richtig

safe tendon
strange juniper
# fresh otter kann mir da wer helfen? Habe die Module eigentlich installiert

sagt hier zwar gerade keiner.. aber wenn dus mit timos videos lernen magst, was eine sehr gute einführung ist, nim pycord.
achte nur beim installieren darauf, den anderen kram vorher richtig zu entfernen. beides installiert haben fürt zu problemen.

also erstmal

pip uninstall discord.py

falls du noch weitere packete in der richtung hast, erstmal weg damit. einfach die zeile anpassen.

Danach gehts entweder mit der aktuellen fast stable:

pip install py-cord-dev==2.5.0rc5

oder der stabilen aber etwas älteren version weiter:
https://docs.pycord.dev/en/stable/installing.html

Wenns dazu noch Fragen oder Probleme gibt, immer hier rein. da findet sich immer jemand der hilft

#

PS: Pycharm und Pycord sind bekannt dafür Fehler zu verursachen, wenn beide Packages vorhanden sind.

fierce dove
#
from datetime import datetime

import discord
from discord.commands import slash_command
from discord.ext import commands
from discord.ui import Button, View, Modal, InputText

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

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

    @slash_command(description="Setze Rules")
    async def rules(self, ctx, channel: discord.TextChannel):
        await ctx.defer()
        rules = [
            " **Um das discord Regelwerk zu apzeptiren drückst du unten auf den butten um es zu lesen auf den link https://site.sunrise-roleplay.de/regelwerk/discord-regelwerk**",
            #hier kannst mehr regel machen !


        ]

        rules_message = "\n".join(rules)

        embed = discord.Embed(title="Verifiziere dich hier REGELN AUF Sunrise RP | Hosted By Tubehosting", description=rules_message, color=discord.Color.yellow())
        embed.set_thumbnail(url=f"{ctx.guild.icon}")
        embed.set_image(url="https://media.discordapp.net/attachments/1150850034724786276/1150969506102001694/BCc2s6G.gif")

        link = Button(label="Discord Regln", style=discord.enums.ButtonStyle.url, url="https://site.sunrise-roleplay.de/regelwerk/discord-regelwerk")
        view = View()
        view.add_item(link)
        view.add_item(VerifyButton())

        await channel.send(embed=embed, view=view)
        await ctx.respond(f"Die Rules wurden in {channel.mention} geschickt")
        

class VerifyButton(discord.ui.Button):
    def __init__(self):
        super().__init__(
            label="Akzeptieren",
            style=discord.enums.ButtonStyle.red,
            custom_id="verify:btn",
            emoji=":emoji_97:"
        )

    async def callback(self, interaction: discord.Interaction):
        role = interaction.guild.get_role(1150855270864535634)
        role2 = interaction.guild.get_role(1151028458848268378)
        role3 = interaction.guild.get_role(1151028628692410489)
        role4 = interaction.guild.get_role(1151028628692410489)

        await interaction.user.add_roles(role, role2, role3, role4)
        await interaction.response.send_message(f"Deine Anmeldung wurde dem Team Erfolgreich zugesendet und du hast die "
                                                f"Rolle {role.mention} erhalten", ephemeral=True)




def setup(bot):
    bot.add_cog(RpRules(bot))```
#
[ERROR] Error in event on_ready 
Traceback (most recent call last):
  File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 378, in _run_event
    await coro(*args, **kwargs)
  File "/home/container/cogs/RpRules.py", line 14, in on_ready
    self.bot.add_view(VerifyButton())
  File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 1769, in add_view
    raise TypeError(f"expected an instance of View not {view.__class__!r}")
TypeError: expected an instance of View not <class 'cogs.RpRules.VerifyButton'>
Ignoring exception in view <View timeout=180.0 children=2> for item <VerifyButton style=<ButtonStyle.danger: 4> url=None disabled=False label='Akzeptieren' emoji=<PartialEmoji animated=True name='emoji_97' id=1119227513894350919> row=None>:
Traceback (most recent call last):
  File "/home/container/.local/lib/python3.11/site-packages/discord/ui/view.py", line 414, in _scheduled_task
    await item.callback(interaction)
  File "/home/container/cogs/RpRules.py", line 57, in callback
    await interaction.response.send_message(f"Deine Anmeldung wurde dem Team Erfolgreich zugesendet und du hast die "
  File "/home/container/.local/lib/python3.11/site-packages/discord/interactions.py", line 825, in send_message
    await self._locked_response(
  File "/home/container/.local/lib/python3.11/site-packages/discord/interactions.py", line 1090, in _locked_response
    await coro
  File "/home/container/.local/lib/python3.11/site-packages/discord/webhook/async_.py", line 219, in request
    raise NotFound(response, data)
discord.errors.NotFound: 404 Not Found (error code: 10062): Unknown interaction
urban glen
#
class VerifyButton(discord.ui.Button):
    def __init__(self):
        super().__init__(
            label="Akzeptieren",
            style=discord.enums.ButtonStyle.red,
            custom_id="verify:btn",
            emoji=":emoji_97:"
        )

    async def callback(self, interaction: discord.Interaction):
        await interaction.defer()
        role = interaction.guild.get_role(1150855270864535634)
        role2 = interaction.guild.get_role(1151028458848268378)
        role3 = interaction.guild.get_role(1151028628692410489)
        role4 = interaction.guild.get_role(1151028628692410489)

        await interaction.user.add_roles(role, role2, role3, role4)
        await interaction.followup.send(f"Deine Anmeldung wurde dem Team Erfolgreich zugesendet und du hast die "
                                                f"Rolle {role.mention} erhalten", ephemeral=True)

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

Versuchs so

fierce dove
#

Ok

#
  File "/home/container/cogs/RpRules.py", line 51, in callback
    await interaction.defer()
          ^^^^^^^^^^^^^^^^^
AttributeError: 'Interaction' object has no attribute 'defer'
Ignoring exception in view <View timeout=180.0 children=2> for item <VerifyButton style=<ButtonStyle.danger: 4> url=None disabled=False label='Akzeptieren' emoji=<PartialEmoji animated=True name='emoji_97' id=1119227513894350919> row=None>:
Traceback (most recent call last):
  File "/home/container/.local/lib/python3.11/site-packages/discord/ui/view.py", line 414, in _scheduled_task
    await item.callback(interaction)
  File "/home/container/cogs/RpRules.py", line 51, in callback
    await interaction.defer()
          ^^^^^^^^^^^^^^^^^
AttributeError: 'Interaction' object has no attribute 'defer'
urban glen
# fierce dove ```py File "/home/container/cogs/RpRules.py", line 51, in callback await i...
class VerifyButton(discord.ui.Button):
    def __init__(self):
        super().__init__(
            label="Akzeptieren",
            style=discord.enums.ButtonStyle.red,
            custom_id="verify:btn",
            emoji=":emoji_97:"
        )

    async def callback(self, interaction: discord.Interaction):
        await interaction.response.defer()
        role = interaction.guild.get_role(1150855270864535634)
        role2 = interaction.guild.get_role(1151028458848268378)
        role3 = interaction.guild.get_role(1151028628692410489)
        role4 = interaction.guild.get_role(1151028628692410489)

        await interaction.user.add_roles(role, role2, role3, role4)
        await interaction.followup.send(f"Deine Anmeldung wurde dem Team Erfolgreich zugesendet und du hast die "
                                                f"Rolle {role.mention} erhalten", ephemeral=True)

def setup(bot):
    bot.add_cog(RpRules(bot))
urban glen
urban glen
urban glen
mental hamlet
urban glen
urban glen
#

Brauche hilfe bei meiner PS3

#

die ist einfach kapput gegangen

fierce dove
#

Hier werden nur coding fragen gestellt

urban glen
fierce dove
#

Nur fürs programmieren

#

Bitte wo anders Hilfe suchen

urban glen
urban glen
fierce dove
#

OK wusste ich nicht

urban glen
fierce dove
# urban glen Brauche hilfe bei meiner PS3

Wenn die Playstation 3defekt ist, kann man die PS3 reparieren in dem man den Recovery Modus aufruft. Wie das geht seht ihr in diesem PS3 reparieren Video.
Eine Problem Lösungs Anleitung, schnell und einfach zum selber reparieren. Viel Spaß mit den hiflreichen Tipps und Tricks, Sport, Spiele, Basteln, Hobby und Freizeit Hilfen by ratgeberTVision...

▶ Play video
urban glen
fierce dove
#

Asi

#

Aso

#

Bin schon alt👴

urban glen
#

und ich habe kappeln kapput gemacht

urban glen
#

jz gehts nimma

fierce dove
urban glen
fierce dove
urban glen
#

na

fierce dove
#

Wie kann man Kappeln kapput machen wenn Mann den Speicherplatz ausbauen möchte

#

😯

fierce dove
#
[ERROR] Error in event on_connect
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/client.py", line 399, in _run_event
    await coro(*args, **kwargs)
  File "/storage/emulated/0/Timo/Dev/Discord/Bot/AquaSay/addons/Bot.py", line 61, in on_connect
    self._heartbeat.start()
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/ext/tasks/__init__.py", line 327, in start
    raise RuntimeError("Task is already launched and is not completed.")
RuntimeError: Task is already launched and is not completed.
17/09/2023 18:35:38 BOT ::  Info || Logged in as AquaSay#7204 (1152602160807293058)
17/09/2023 18:43:56 BOT ::  Info || Logout detected
Unhandled exception in internal background task '_heartbeat'.
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/ext/tasks/__init__.py", line 169, in _loop
    await self.coro(*args, **kwargs)
  File "/storage/emulated/0/Timo/Dev/Discord/Bot/AquaSay/addons/Bot.py", line 88, in _heartbeat
    self.log(f"Heartbeat - {round(self.latency * 1000)}ms")
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
OverflowError: cannot convert float infinity to integer
urban glen
#

Der Fehler: Du nutzt Code von asuna

fierce dove
#

Oh

urban glen
urban glen
#

kannst das hearbeat auch raus machen

fierce dove
#
[ERROR] Error in event on_message_edit
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/discord/client.py", line 399, in _run_event
    await coro(*args, **kwargs)
  File "/storage/emulated/0/Timo/Dev/Discord/Bot/AquaSay/Events/serverLog.py", line 49, in on_message_edit
    await channel.send(embed=em)
          ^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'send'
urban glen
#

"channel" ist None

fierce dove
#

#

Er findet den Channel nicht

urban glen
#

Ja, du hast es erfasst

fierce dove
#

🙂

odd kiteBOT
#

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

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

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

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

▶ Play video
fierce dove
#

Oke timo

dusk hollow
#
from discord_components import Button, ButtonStyle, InteractionType

hat wer gerade die neue version wie es anderns heißt ^^

solid ingot
#

die library discord_components brauchst du nicht, alle Features davon sind schon in Discord.py oder Pycord drin

urban glen
fierce dove
#

Ok

urban glen
#

hab vergessen ein try / except einzubauen

#

komm im nächsten update

fierce dove
#

Ok

#

Fehler können Passieren

restive herald
#

@barren garden du meinst den abstand zwischen der navigationsbar und dem hellblauen dings nh

barren garden
#

Es soll ja auf die komplette Breite sein

limber crow
#

Gibt es nen event, wo ich abfragen kann, wenn ein Channel erstellt worden ist, Gelöscht oder etwas geändert worden ist ?

odd kiteBOT
snow hatch
#

wie kann ich einstellen das bei einem slash command eine id eingegeben werden kannda sonst immer kommt das man einen gültigen integer angeben muss

solid ingot
#

das müsstest du als string machen. tipp: wenn du als option type einen channel nimmst, kannst du dort auch eine channel-ID eingeben

snow hatch
#

jo danke, das mit channel weiß ich, will halt eine msg id für ein giveawa system zum rerollen nutzen

solid ingot
#

du könntest einen message command machen, oder halt die ID als string

snow hatch
#

ja danke! Hat geklappt mit str

barren garden
raven lotus
#

der Command will nicht angezeigt werden:

@bot.slash_command()
async def help(ctx):

    embed = discord.Embed(
        title=f"Help Menü",
        description=f"Test",
        color=discord.Color.blue()
    )
    await ctx.repond(embed=embed)
urban glen
#

Sag dem Command "Pfuii"

raven lotus
#

es wollen viele COmmands bei mir nicht angezeigt werden

urban glen
#

Dann musst du mal mit denen Schimpfen

raven lotus
urban glen
#

Hast du "guild_ids" beim bot angegeben?

raven lotus
#

wait

raven lotus
#

kann mir jemand helfen? also mir fehlen commands obwohl die eig gehen sollten

#

ich habe einen cogs ordner erstellt

raven lotus
#

aber da geht es auch nicht

#

nein

urban glen
#

Zeig mal deinen Kompletten Code

raven lotus
#
import discord
from discord.ext import commands


@bot.slash_command()
async def help(ctx):

    embed = discord.Embed(
        title=f"Help Menü",
        description=f"Test",
        color=discord.Color.blue()
    )
    await ctx.repond(embed=embed)

viscid lake
urban glen
#

Hm?

viscid lake
#

Das ist mein cog

urban glen
#

Wo hast du "bot" definiert?

Wo startest du den Bot?

urban glen
viscid lake
#

Kein

viscid lake
urban glen
#

Pack in in die main

raven lotus
#

verbessert:

import discord
from discord.ext import commands

bot = commands.Bot

@bot.slash_command()
async def help(ctx):

    embed = discord.Embed(
        title=f"Help Menü",
        description=f"Test",
        color=discord.Color.blue()
    )
    await ctx.repond(embed=embed)

viscid lake
urban glen
#

Schick doch mal deinen ganzen Code einfach

raven lotus
raven lotus
#

und es ist eig meiner

viscid lake
#

Dann kann man nickt helfen

#

Arbeite am besten mit cogs

viscid lake
urban glen
raven lotus
#

alles gut

#

hab halt da rumgespielt usw.

viscid lake
raven lotus
#

jetzt geht's wenn ich in Main mache und ein paar sachen entferne

tall gorge
#

kann mir jemand sagen warum dieser fehler auftritt, weil es gibt timezone:

  File "C:\Users\Kevin\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 777, in _load_from_module_spec
    spec.loader.exec_module(lib)  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\Users\Kevin\PycharmProjects\NightPro - Test\Cogs\stats.py", line 13, in <module>
    class Stats(commands.Cog):
  File "C:\Users\Kevin\PycharmProjects\NightPro - Test\Cogs\stats.py", line 43, in Stats
    tzinfo=datetime.timezone(datetime.timedelta(hours=2)),
           ^^^^^^^^^^^^^^^^^
AttributeError: type object 'datetime.datetime' has no attribute 'timezone'. Did you mean: 'astimezone'?

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

Traceback (most recent call last):
  File "C:\Users\Kevin\PycharmProjects\NightPro - Test\main.py", line 39, in <module>
    bot.load_extension(f"Cogs.{filename[:-3]}")
  File "C:\Users\Kevin\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 913, in load_extension
    self._load_from_module_spec(spec, name)
  File "C:\Users\Kevin\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 780, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'Cogs.stats' raised an error: AttributeError: type object 'datetime.datetime' has no attribute 'timezone'```
viscid lake
raven lotus
#

cogs

#

habs gecheckt jetzt

viscid lake
#

Aber so sieht mein cog aus

#

Kein*

raven lotus
#
import discord
from discord.ext import commands

bot = commands.Bot

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

@bot.slash_command()
async def a(self, ctx):

    embed = discord.Embed(
        title=f"Help Menü",
        description=f"Test",
        color=discord.Color.blue()
    )
    await ctx.repond(embed=embed)

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

der will nicht laden

#

bot.load_extension("cogs.test3")

#

ist in main

solid ingot
#

der slash command ist zu weit links und ist deshalb außerhalb der cog-klasse

#

schau dir nochmal genau die einrückung an

odd kiteBOT
raven lotus
#

geht immernoch nicht

solid ingot
#

du musst mir schon zeigen was du geändert hast

raven lotus
#
import discord
from discord.ext import commands

bot = commands.Bot

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

    @bot.slash_command()
    async def a(self, ctx):

        embed = discord.Embed(
            title=f"Help Menü",
            description=f"Test",
            color=discord.Color.blue()
        )
        await ctx.repond(embed=embed)

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

ich würde dir empfehlen, das cog video nochmal komplett zu schauen, damit du verstehst wie ein cog aufgebaut wird.
das bot = commands.Bot solltest du zum beispiel entfernen und andere sachen müssen auch noch angepasst werden

raven lotus
#

der sagt dann fehler

#

Traceback (most recent call last):
File "C:\Users\PycharmProjects\spideybot\venv\Lib\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 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "C:\Users\PycharmProjects\spideybot\cogs\test3.py", line 4, in <module>
class Test3(commands.Cog):
File "C:\Users\PycharmProjects\spideybot\cogs\test3.py", line 8, in Test3
@bot.slash_command()
^^^
NameError: name 'bot' is not defined

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

Traceback (most recent call last):
File "C:\Users\PycharmProjects\spideybot\main.py", line 79, in <module>
bot.load_extension("cogs.test3")
File "C:\Users\PycharmProjects\spideybot\venv\Lib\site-packages\discord\cog.py", line 910, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\PycharmProjects\spideybot\venv\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.test3' raised an error: NameError: name 'bot' is not defined

raven lotus
#

die fehler sind weg, aber der Command wird nicht angezeigt, ich schaue mal weiter

#

ES GEHT!

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @raven lotus, du bist jetzt Level 5 🎉

Du hast insgesamt 111 Nachrichten geschrieben.

Du hast <@&1024276691205496872> erhalten!

raven lotus
#

DANKE!

#

ich habe versucht eine Blacklist für commands zu machen, aber die ist nicht cogs übergreifend

#

wait

#

irgendwie geht es mit cogs, aber ich brauche eine extra datei

#

wie mach ich das?

#

kann mir jemand helfen?

#

@solid ingot ?

#

Sry4ping

#

Ich glaube ich habe eine Lösung

restive herald
# barren garden

für das blaue element was weiter nach rechts soll musste das margin weiter eindämmen also margin-left: 0; z.B.

tall gorge
#

kann mir jemand sagen warum dieser fehler auftritt, weil es gibt timezone:

  File "C:\Users\Kevin\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 777, in _load_from_module_spec
    spec.loader.exec_module(lib)  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\Users\Kevin\PycharmProjects\NightPro - Test\Cogs\stats.py", line 13, in <module>
    class Stats(commands.Cog):
  File "C:\Users\Kevin\PycharmProjects\NightPro - Test\Cogs\stats.py", line 43, in Stats
    tzinfo=datetime.timezone(datetime.timedelta(hours=2)),
           ^^^^^^^^^^^^^^^^^
AttributeError: type object 'datetime.datetime' has no attribute 'timezone'. Did you mean: 'astimezone'?

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

Traceback (most recent call last):
  File "C:\Users\Kevin\PycharmProjects\NightPro - Test\main.py", line 39, in <module>
    bot.load_extension(f"Cogs.{filename[:-3]}")
  File "C:\Users\Kevin\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 913, in load_extension
    self._load_from_module_spec(spec, name)
  File "C:\Users\Kevin\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\cog.py", line 780, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'Cogs.stats' raised an error: AttributeError: type object 'datetime.datetime' has no attribute 'timezone'```
solid ingot
#

was hast du importiert?

tall gorge
solid ingot
#

dann kannst du direkt timezone schreiben, ohne datetime davor

tall gorge
#

brauche aber datetime für eine andere funktion noch

graceful fiber
graceful fiber
tall gorge
#

muss man timezone nicht extra importieren?

graceful fiber
#

wenn du datetime importierst nicht

#

ist ja ne funktion von datetime eigentlich

tall gorge
#

ok, dann danke

solid ingot
#

du kannst den import auch ändern, das würde dann so gehen

tall gorge
#

ja so habe ich es, also das 2. bild

raven lotus
#

ich glaube meine Blacklist ist fertig

#

danke aber nochmal für die hilfe vorhin

tall gorge
#

die umwandlung in eine andere schreibweise ist doch eigentlich korrekt oder?

joint_server = discord.utils.format_dt(user.joined_at, "F")```
aber mir werden nur komische Zeichen angezeigt xd
solid ingot
#

wo lässt du den wert denn anzeigen

tall gorge
solid ingot
#

das geht nicht, so ein timestamp wird nur in discord chats von discord in eine lesbare zeit umgewandelt

tall gorge
#

kann man dass dann auch irgendwie in einem bild machen?

solid ingot
#

dann musst du es erst in einen text umwandeln und den dann auf das bild schreiben

#

wenn du sowas wie vor 10 Tagen anzeigen willst, könntest du ezcord nutzen

tall gorge
#

ok, will aber eine genaues datum, aber werde auch bald mal ezcord ausprobieren woollte ich eh mal machen und deinen 1. vorschlag teste ich mal

solid ingot
#

versuchs mal mit strftime

tall gorge
#

ok danke dir

#

danke hat geklappt 🙂

raven lotus
#

mein afk system geht nicht: ```py
import discord
from discord.ext import commands
from discord.commands import slash_command

intents = discord.Intents.default()

bot = commands.Bot(intents = intents)
bot = discord.Bot(intents=intents)

afk_users = {}

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

@slash_command()
async def afk(self, ctx, reason: str):
    afk_users[ctx.author] = reason
    await ctx.respond(f'{ctx.author.mention} ist jetzt AFK. Grund: {reason}')
    await ctx.author.edit(nick=f'[AFK] {ctx.author.name}')

@bot.event
async def on_message(self, message):
    if not message.author.bot:
        if message.author in afk_users:
            del afk_users[message.author]
            await message.channel.send(f'{message.author.mention} ist nicht mehr AFK.')
            await message.author.edit(nick=message.author.name)
        else:
            for user, reason in afk_users.items():
                if message.author in message.mentions:
                    await message.channel.send(f'{message.author.mention}, {user.name} ist AFK. Grund: {reason}')

    await bot.process_commands(message)

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

urban glen
raven lotus
#

ok

urban glen
urban glen
raven lotus
#

warte mal

#

es geht jetzt

#

DANKE!

urban glen
#
import discord
from discord.ext import commands
from discord.commands import slash_command


afk_users = {}

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

    @slash_command()
    async def afk(self, ctx, reason: str):
        afk_users[ctx.author] = reason
        await ctx.respond(f'{ctx.author.mention} ist jetzt AFK. Grund: {reason}')
        await ctx.author.edit(nick=f'[AFK] {ctx.author.name}')

    @commands.Cog.listener()
    async def on_message(self, message):
        if not message.author.bot:
            if message.author in afk_users:
                del afk_users[message.author]
                await message.channel.send(f'{message.author.mention} ist nicht mehr AFK.')
                await message.author.edit(nick=message.author.name)
            else:
                for user, reason in afk_users.items():
                    if message.author in message.mentions:
                        await message.channel.send(f'{message.author.mention}, {user.name} ist AFK. Grund: {reason}')

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

So is richtig

raven lotus
#

kurze frage, wie heißt der Code oder so für das Displayname

#

also ich halt mit dem Namen Quark

#

und nicht quarkii_

burnt prairieBOT
#
Ghost Ping

@raven lotus hat @solid ingot gepingt.

raven lotus
#

wait

#

ctx.message.author.display_name

odd kiteBOT
#

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

Links aus diesem Video
Git ► https://git-scm.com/downloads

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
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://d...

▶ Play video
raven lotus
#

Was ist das beste Datenbank System?

urban glen
#

Ansichtssache

raven lotus
#

MySQL?

urban glen
#

Ansichtssache

raven lotus
#

Ist MySQL gut?

#

Sag mal

urban glen
#

Ansichtssache.

Ist halt nh Datenbanksprache.
Aber ob das gut ist, musst du für dich selber herausfinden

raven lotus
#

Wie wechselt ein Bot dauernd die Aktivität und den Status?

urban glen
raven lotus
#

Danke

tall gorge
#

Habe bis jetzt den Code und will eine bestenliste machen, aber so klappt das nicht: async with aiosqlite.connect(self.db) as db:
async with db.cursor() as cursor:
await cursor.execute("SELECT msg_count FROM messages WHERE guild_id = ? AND user_id = ?",
(ctx.guild.id, user.id))
data = await cursor.fetchone()

            await cursor.execute(
                "SELECT msg_count FROM messages WHERE guild_id = ? AND user_id = ? ORDER BY msg_count DESC",
                (ctx.guild.id, user.id))
            results = await cursor.fetchall()

    if data:

        leaderboard = ""
        for index, (results[0]) in enumerate(results):
            leaderboard += f"{index + 1}"
limpid wolf
#

was klappt denn daran nicht?

#

und am besten codeblocks verwenden

tawdry leaf
lofty rock
#

Und ich erstelle immer posts

#

Obwohl es das gibt

tawdry leaf
raven lotus
#

Traceback (most recent call last):
File "C:\Users\user\PycharmProjects\spideybot\venv\Lib\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 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "C:\Users\user\PycharmProjects\spideybot\cogs\pingreaction.py", line 26, in <module>
user_id = ctx.author.id # Hier wird die user_id zugewiesen
^^^
NameError: name 'ctx' is not defined

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

Traceback (most recent call last):
File "C:\Users\user\PycharmProjects\spideybot\main.py", line 43, in <module>
bot.load_extension("cogs.pingreaction")
File "C:\Users\user\PycharmProjects\spideybot\venv\Lib\site-packages\discord\cog.py", line 910, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\user\PycharmProjects\spideybot\venv\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.pingreaction' raised an error: NameError: name 'ctx' is not defined

Process finished with exit code 1

#

was muss ich machen?

#

jemand da?

urban glen
#

Junge

#

Ping doch nicht random

raven lotus
#

sry

urban glen
#

Wenn dir jemand helfen will, dann wird dir geholfen

raven lotus
#

ok

urban glen
#

Aber so wirst du keine Hilfe bekommen

raven lotus
#

sry

burnt prairieBOT
#
Ghost Ping

@raven lotus hat @solid ingot gepingt.

#
Ghost Ping

@raven lotus hat @past temple gepingt.

urban glen
raven lotus
#

sry

#

mach ich nicht nochmal

urban glen
raven lotus
#

ja

#

aber ich weiß nicht wie ich das fixe

urban glen
raven lotus
#

naja

#

weiß nicht

urban glen
#

Doch doch

#

"ctx" ist nicht definiert

raven lotus
#

ja

urban glen
#

Schick deinen Code aus der pingreaction.py

raven lotus
#

ohne datenbank natürlich

urban glen
#

Das hat nix mit datenbank zutun

#

Du hast einfach "ctx" nicht definiert

#

Schick deinen Code aus der pingreaction.py

raven lotus
#

ich weiß

raven lotus
urban glen
#

Schick das wichtigste

raven lotus
#
   @slash_command()
    async def pingreaction(self, ctx, emoji):
        user_id = ctx.author.id
        add_ping_reaction(user_id, emoji)
        await ctx.send(f"{ctx.author.mention}, du erhältst jetzt eine Reaktion mit {emoji}!")
#

also das ist der command

urban glen
raven lotus
#
cursor.execute("CREATE TABLE IF NOT EXISTS ping_reactions (user_id BIGINT PRIMARY KEY, emoji VARCHAR(255))")
intents = discord.Intents.default()
user_id = ctx.author.id  # Hier wird die user_id zugewiesen
sql = "INSERT INTO ping_reactions (user_id, emoji) VALUES (%s, %s) ON DUPLICATE KEY UPDATE emoji = VALUES(emoji)"
values = (user_id, emoji)
cursor.execute(sql, values)
``` das das andere
#

ne hier

raven lotus
#

26 bei user_id

urban glen
urban glen
raven lotus
urban glen
#

hm?

urban glen
raven lotus
#

was genau

urban glen
#

...

#

Jemand anders hilft dir

Ich schreibe jetzt weiter an meinen Karteikarten

raven lotus
#

    @slash_command()
    async def pingreaction_deactive(self, ctx):
        user_id = ctx.author.id
        remove_ping_reaction(user_id)
        await ctx.send(f"{ctx.author.mention}, deine Ping-Reaktion wurde deaktiviert!")
urban glen
#

Ich gib dir einen Tipp: Lern die Python-Grundlagen

raven lotus
#

ok

urban glen
#

Ohne mehr Code, kann dir keiner helfen

raven lotus
#

code ist drinnen

#

wie mach ich weiter?

#

so

urban glen
#

Klar kannst du außerhalb eines commands nicht ctx verwenden

#

ctx ist der context des commands

#

Probiers so

Die zeilen waren unnötig

raven lotus
#

Ignoring exception in command pingreaction:
Traceback (most recent call last):
File "C:\Users\user\PycharmProjects\spideybot\venv\Lib\site-packages\mysql\connector\cursor_cext.py", line 300, in execute
raise ProgrammingError
mysql.connector.errors.ProgrammingError: Unknown error

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

Traceback (most recent call last):
File "C:\Users\user\PycharmProjects\spideybot\venv\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\user\PycharmProjects\spideybot\venv\Lib\site-packages\discord\commands\core.py", line 978, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Users\user\PycharmProjects\spideybot\cogs\pingreaction.py", line 71, in pingreaction
add_ping_reaction(user_id, emoji)
File "C:\Users\user\PycharmProjects\spideybot\cogs\pingreaction.py", line 37, in add_ping_reaction
cursor.execute(sql, values)
File "C:\Users\user\PycharmProjects\spideybot\venv\Lib\site-packages\mysql\connector\cursor_cext.py", line 302, in execute
raise ProgrammingError("Cursor is not connected", 2055) from err
mysql.connector.errors.ProgrammingError: 2055: Cursor is not connected

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

Traceback (most recent call last):
File "C:\Users\user\PycharmProjects\spideybot\venv\Lib\site-packages\discord\bot.py", line 1114, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Users\user\PycharmProjects\spideybot\venv\Lib\site-packages\discord\commands\core.py", line 375, in invoke
await injected(ctx)
File "C:\Users\user\PycharmProjects\spideybot\venv\Lib\site-packages\discord\commands\core.py", line 132, in wrapped
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: ProgrammingError: 2055: Cursor is not connected

#

Cursor ist nicht verbunden

#

aber ich weiß nicht genau was ich machen muss

blissful vale
urban glen
raven lotus
#

Kann man in #1136979657305116764 Leute suchen, die an meinen Bot mitmachen wollen?

solid ingot
#

nein, das ist nur um vorhandene projekte vorzustellen

native plume
#

Abgesehen davon würde ich dir auf jeden Fall einen mysql - Pool & asynchrone Connections empfehlen. Falls du Hilfe brauchst hab ich alle dafür da

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @native plume, du bist jetzt Level 9 🎉

Du hast insgesamt 317 Nachrichten geschrieben.

raven lotus
native plume
raven lotus
#

Jajaja

raven lotus
#

Was ist MySQL - Pool?

raven lotus
tall gorge
#

Code: ```py
report = SlashCommandGroup(name="report", description="🤖 | Verwalte das Report-System.", guild_only=True)

@report.command(description="📄 | Setze den Logchannel für das Report-System.")
@discord.default_permissions(administrator=True)```

irgendwie kann trz jeder den command nutzen

raven lotus
#

Mmmh

fierce dove
#

Imports

tall gorge
#

import discord
from discord.ext import commands
from discord import default_permissions, Option, SlashCommandGroup
import requests
import asyncio

import traceback

import aiosqlite
import datetime

fierce dove
#

Probiere Mal

@commands.has_permissions(administrator=True)

raven lotus
#

Unter dem Command

fierce dove
#
from discord.ext import commands
from discord.commands import default_permissions, Option, SlashCommandGroup
import requests
import asyncio

Und das als import 

import traceback

import aiosqlite
import datetime
raven lotus
#

Also
@bot.command()
@commands.has_premissions(administrator=True)

fierce dove
#

Warum

raven lotus
#

Ist es kein Command?

fierce dove
#

@commands.has_permissions(administrator=True)
Das ist kein command

raven lotus
#

XD, man bin ich doof

#

Sry, Nehm alles zurück

fierce dove
#

Code: ```py
report = SlashCommandGroup(name="report", description="🤖 | Verwalte das Report-System.", guild_only=True)

@report.command(description="📄 | Setze den Logchannel für das Report-System.")
@commands.has_permissions(administrator=True)```
fierce dove
raven lotus
#

Muss doch drüber oder nicht?

fierce dove
#

Soweit ich weiß nicht

dreamy bobcat
#

@comands.has_permissions muss unter @slash_command

raven lotus
#

Stimmt lol

raven lotus
dreamy bobcat
#

Zumindest bei PyCord

raven lotus
#

Ja

#

Ich glaube es ist kein Python

#

Oder doch

#

Weiß ich net

fierce dove
#

Pycord wurde in Python entwickelt

#

darum musst du auch python installieren

vivid sky
dreamy bobcat
#

Es geht gerade um deine Code . In welcher Sprache dein Code ist

raven lotus
#

Nein, ich meine der code

fierce dove
dreamy bobcat
#

Von wem denn dann?

fierce dove
#

Das ist von @tall gorge der coee

raven lotus
#

Ist das jetzt Python oder nicht?

dreamy bobcat
#

Weißt du in welcher Sprache der ist?

fierce dove
#

Pycord

raven lotus
#

Es gibt also kein Command im Code da, oder wie

fierce dove
#

Jeder kann den command ausführen ist der fehler

raven lotus
#

Ja

#

Also ist das ein Command

fierce dove
#

🙁

raven lotus
#

XD

dreamy bobcat
#

Mit commands group kann ich leider nichts anfangen. Xd

raven lotus
#

Was ist das

raven lotus
#

discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: ProgrammingError: 2055: Cursor is not connected

#

wie connecte ich den Cursor?

urban glen
#

Google nach

#

"how to Connect Cursor MySQL Python"

urban glen
lofty rock
#
import discord
from discord.ext import commands
from discord.commands import slash_command


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

    @slash_command()
    async def greet(self, ctx):
     await ctx.respond(f"Hey {ctx.author.mention}")


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

            channel = await self.bot.fetch_channel(channelid)

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

was hab ich falsch gemacht?
blissful vale
urban glen
#

Du hast beim Embed kommas vergessen

lofty rock
# urban glen Inwiefern?

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

irgendwas klappt da nicht

lofty rock
urban glen
lofty rock
#

danke

urban glen
#
import discord
from discord.ext import commands
from discord.commands import slash_command


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

    @slash_command()
    async def greet(self, ctx):
        await ctx.respond(f"Hey {ctx.author.mention}")


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

        channel = await self.bot.fetch_channel(channelid)

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

ich wechsle zu sqlite

urban glen
#

MySql und Sqlite ist sogut wie das selbe
...:..:...

lofty rock
#

wofür braucht man das

blissful vale
#

@raven lotus

import mysql.connector

mydb = mysql.connector.connect(
    host="hostname",
    user="username",
    password="password",
    database="database"
)

mycursor = mydb.cursor()
raven lotus
#

bro

#

das war auch so drinnen

raven lotus
blissful vale
#

check deinen connector string

#

schick ihn doch einfach mal. Wenn er localhost ist können wir eh nichts damit anfangen.

#

Wenn nicht machst du es einfach wie ich!

raven lotus
#

ich habe mysql deistalliert...

blissful vale
#

Und es wäre immer sehr Hilfreich

  1. den Code dazu zu schicken und
  2. Mal das zu probieren, was andere dir Vorschlagen
lofty rock
#

brauch ich from discord.commands import Option in der main file oder reicht es wenn import discord from discord.ext import commands from discord.commands import slash_command bei cogs sind?

raven lotus
#

...

#

was brauchst du?

lofty rock
raven lotus
#

also im code

blissful vale
#

Du musst es nur da Importieren, wo du es auch brauchst!

lofty rock
raven lotus
#

also z.B. in einer cog datei

lofty rock
# tawdry leaf

hää im video ist auch kein from discord.commands import Option mehr drinne

tawdry leaf
#

Wenn du ezcord da nutzt musst du es dort auch schreiben

blissful vale
raven lotus
#

wait ich brauche hilfe in meinem code

lofty rock
blissful vale
raven lotus
lofty rock
#

ich brauch nur import discord

#

hab es getestet

raven lotus
#

kann mir wer helfen?

lofty rock
raven lotus
#

ok

lofty rock
#

kann nicht mal py-cord

blissful vale
#

Fehler bitte einmal beschreiben...

raven lotus
#

er erkennt add_ping_reaction net

blissful vale
raven lotus
#

ne wait

tawdry leaf
urban glen
raven lotus
#

warte ich hab mich vertan

blissful vale
#

Sicher?

raven lotus
#

get_ping_reaction

urban glen
tawdry leaf
urban glen
#

Junge lernt die Grundlagen von Python (bzw. von Klassen)

blissful vale
#

Okay, dann mybad 🙂

tawdry leaf
urban glen
raven lotus
#

gibt keinen

tawdry leaf
raven lotus
#

er will das nicht ausführen

blissful vale
raven lotus
#

also den befehl

urban glen
raven lotus
#

Ungültiger Befehl für Interaktions-Anwendung

#

steht dann bei der Bot antwort

urban glen
blissful vale
raven lotus
#

broooooooo

#

hilft mir bitte jemand

#

der will nicht den befehl ausführen und ich kann die datei nicht öffne, weil ich dafür ein anderes programm brauche

tawdry leaf
#

Ja einf Code und error senden 😂

blissful vale
#

Und Tipp. Timo macht meines Wissens nach auch Super Duper Python Grundlagen Videos, oder liege ich da Falsch? 🤔

raven lotus
tawdry leaf
#

Schaue dazu in #📙・einführung

urban glen
#

Deer code sah ja komplett gef*ckt aus

raven lotus
#

nope

#

geht net

urban glen
#

Wow, was soll man mit der info anfangen?

raven lotus
#

also code schon, aber er führt den befehl net aus

urban glen
#

Error?

lofty rock
#

from dotenv import load_dotenv

hab die library trotzdem ist es noch grau

raven lotus
#

gibt keinen der sagt nur: Ungültiger Befehl für Interaktions-Anwendung

lofty rock
#

woran liegt es?

urban glen