#Allgemeine Hilfe

1 messages · Page 69 of 1

fierce dove
#

Ok

fierce dove
#
Traceback (most recent call last):
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Users\Schüler\Documents\Bots\FALCON\module\commands\Economy.py", line 21, in daily
    current_kekse = random.randint(1, 10)
                    ^^^^^^^^^^^^^^
AttributeError: 'Colour' object has no attribute 'randint'
#
@slash_command(name="daily", description="")
    async def daily(self, ctx):
        user_id = ctx.author.id

        current_streak = await db.get_streak(user_id)
        current_kekse = random.randint(1, 10)
cloud cedar
#

warum klappt dit ned mehr? hab ich irgendwas falsch eingerückt

fierce dove
#

Ne alles ist richtig eingerückt

native inlet
cloud cedar
native inlet
cloud cedar
#

call expression not allowed in type expression

raven lotus
#

Meine Frage wurde einfach nicht beantwortet haha

#

.

ruby sparrow
#

Ich verstehe deine Frage nicht

ruby sparrow
ruby sparrow
ruby sparrow
#

Zeig da eine Lampe an oder

misty narwhal
#

Hey Leute mein Bot zeigt Keine Commands mehr in VSC an

[ARSONA] Loaded 4 cogs
2024-02-12 18:13:48 INFO     discord.client logging in using static token
2024-02-12 18:13:54 INFO     discord.gateway Shard ID None has connected to Gateway (Session ID: e1e74df275d424498e4970e0d916948b).
[INFO] Bot is online with EzCord 0.5.1
╔══════════╦═════════════════════╗    
║ Bot      ║ Arsona#3350         ║    
║══════════╬═════════════════════║    
║ ID       ║ 1206572117387386890 ║    
║══════════╬═════════════════════║    
║ Discord  ║ 2.3.2               ║    
║══════════╬═════════════════════║    
║ Commands ║ 0                   ║    
║══════════╬═════════════════════║    
║ Guilds   ║ 1                   ║    
║══════════╬═════════════════════║    
║ Latency  ║ 124ms               ║    
╚══════════╩═════════════════════╝    ```
urban glen
#

also ist nur das ezcord ready event falsch oder nicht

misty narwhal
#

wait

urban glen
#

Halloo, man hört auch mal wieder was von mir.
Auf jedenfall ich benutze seit neustem wieder PyCharm und mein Problem ist, wenn ich py-cord in einer .venv 3.12 installieren will krieg ich einen Error:

Der Error ist unten im Anhang ist zu groß gigapeepo

native inlet
#

Nur Python 3.8 - 3.11

urban glen
#

huch

#

Wie stell ich das auf 3.11 um ahhaha

#

oder wie stell ich venv aus

tawdry leaf
#

kracht es dolle

limpid wolf
urban glen
#

ja die master branch xd

tawdry leaf
#

aber natürlich

#

ezcord auch

odd kiteBOT
#
Pycord Master-Branch

Führe den folgenden Befehl aus, um den Pycord Master-Branch zu installieren.

pip install git+https://github.com/Pycord-Development/pycord```
**Hinweis:** [Git](https://git-scm.com/downloads) muss bei dir installiert sein.
urban glen
#

Ah danke Nikos :D

#

Aber weißt du wie ich die version runter stellen kann, da easy-pil ja auch nd mit 3.12 geht

native inlet
limpid wolf
urban glen
#

aber ist halt die .venv

#

habe kein 3.12 installiert

limpid wolf
#

aso ja nutze ich nt

#

also ich nutze noch py 3.9 oder so

urban glen
#

wie stell ich ein das es nd die .venv ist

tawdry leaf
raven lotus
#

Ich brauche hier Hilfe:

def blacklist_check():
    async def predicate(ctx):
        if is_user_blacklisted(ctx.author.id):
            await ctx.respond("Du stehst auf der Blacklist und kannst diesen Befehl nicht verwenden.", ephemeral=True)
            return False
        return True
    return commands.check(predicate)

An sich geht das System, aber er antwortet nochmal mit dem hier (siehe Bild) und ich will das nicht

urban glen
#

Der Fehler hat aber nix mit dem Code zu tun den du geschickt hast

tawdry leaf
#

@raven lotus tolle Feature mit Blacklist gibt es bei so einem Package namens ezcord

fierce dove
#

Seid wann

tawdry leaf
fierce dove
#

Ne

raven lotus
#

ik, aber ich weiß nicht wie das geht

tawdry leaf
tawdry leaf
raven lotus
odd kiteBOT
fierce dove
tawdry leaf
raven lotus
#

das hilft mir nicht, ich habe es mir angeschaut und ich checke es nicht 😦

fierce dove
#

Lucky rastet aus

tawdry leaf
raven lotus
#

Ja aber

tawdry leaf
#

fertig 🙂

fierce dove
#

😮

raven lotus
#

Bruder

fierce dove
#

Ja

tawdry leaf
#

dann hast du admin blacklist

#

bekomme ich kekse 😐

fierce dove
#

raven lotus
#

Ich will wissen wie man das bei Commands macht

raven lotus
#

@ was

tawdry leaf
#

sorry aber ich verstehe nicht ganz was du nicht verstehst 😅

raven lotus
#

sag nicht es sind alle Commands

tawdry leaf
#

darf ich ein beispiel machen 😄

fierce dove
tawdry leaf
raven lotus
#

bitte 🙏

tawdry leaf
fierce dove
#

Ich darf das

raven lotus
#

Nein, ich will z.B. jemanden auch hinzufügen

fierce dove
#

Geht damit

#

Glaube ich

raven lotus
tawdry leaf
#

was meinst du mit hinzufügen blacklisten?

raven lotus
#

ja

#

und unblacklisten

tawdry leaf
#

/admin blacklist ban

#

/admin blacklist unban

fierce dove
#

/Admin Blacklist @tawdry leaf Grund: ist böse

raven lotus
#

😑

tawdry leaf
raven lotus
raven lotus
#

thx Lucky

tawdry leaf
#

no problem

raven lotus
#

Kann man bei der Ezcord Blacklist auch einstellen, wer nur die Commands benutzen darf?

fierce dove
#
[ERROR] Error while executing /daily 
Traceback (most recent call last):
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Users\Schüler\Documents\Bots\FALCON\module\commands\Economy.py", line 24, in daily
    current_keks = random.randint(1, 10)
                   ^^^^^^^^^^^^^^
AttributeError: 'Colour' object has no attribute 'randint'
fierce dove
urban glen
#

Also import?

fierce dove
#

habe import random

#

muss das random weg

empty plaza
#

wie kann ich checken ob der user die rolle hat?

tawdry leaf
empty plaza
#

dingling war härter bin dir ehrlich

#

danke

empty plaza
#

wie kann ich was in eine liste hinzufügen wenn ich self.list = [] nutze

urban glen
#

self.list.append(was du reinmachen willst)

candid viper
#

Mahlzeit zusammen,
Gestern ging noch alles heute nicht mehr ,... Sobald ich den Bot starte kommt diese Fehlermeldung. Jemand eine idee ?


 RuntimeWarning: coroutine 'BotBase.load_extension' was never awaited
  bot.load_extension(f"cogs.{filename[:-3]}")
RuntimeWarning: Enable tracemalloc to get the object allocation traceback```

Der Bot startet aber es gehen keine Commands
fierce dove
#

ich möchte die aktuelle zeit im status vom bot haben aber der updated nich die zeit

time = datetime.now().strftime("%d-%m-%Y %H:%M:%S")

fierce dove
placid trellis
fierce dove
#

Ok

placid trellis
fierce dove
dreamy bobcat
#

Kleine Frage: ezcord.Blacklist. Ist das Serverübergreifend oder für jeden Server individuell

native inlet
fierce dove
#

k

dreamy bobcat
#

Wie funktioniert eigentlich dieses ezcord Blacklist mit so konfigurations Sachen, man muss da ja irgendwas konfigurieren. Finde dazu in der ezcord Dokumentation aber nichts

tawdry leaf
cloud cedar
#

Hatte ja gestern auch schon ein "problem" mit option, beim hosting sehe ich das:

#

auf meinem pc funktionierts btw, hab pip freeze kopiert

hard pivot
#

Hallo weiß wer warum VSC aufeinmal mir alle command wo ich Options benutzte unterstreicht obwohl ich nichts geändert hab?
Aber der code geht er unterstreicht mir aber das es falsch ist

hard pivot
cloud cedar
#

ja

tawdry leaf
#

@cloud cedar @hard pivot das ist meines Wissens ein pylance fehler und deswegen kommt der error

tawdry leaf
#

hm bei panel weiß ich es grad nd habe es sonst nur bei pycharm hier gesehen

urban glen
hard pivot
#

Weil wie ich grade rausgefunden hab bringt ausschalten nicht so viel (seh nicht mehr wenn wirklich was falsch sein sollte)

tawdry leaf
#

bei der pycharm kann man des ausmachen aber des ist eig eher das es als warning bei problems ist

#

also als error hat es meines Wissens keiner so wie du oder ihr

hard pivot
tawdry leaf
hard pivot
tawdry leaf
#

ich weiß nur das es geht idk wie

#

nutze pycharm nd

cloud cedar
silk gulch
cloud cedar
#

ich probiers nochmal

cloud cedar
silk gulch
urban glen
#

@cloud cedar REQUIREMENTS.TXT

#

bitte

cloud cedar
urban glen
#

ja

#

ganze requirements.txt

cloud cedar
#

sind 283 sachen

urban glen
#

warum kopierst du ganze pip freeze

cloud cedar
#

hab einfach die von meinem computer kopiert, brauch wahrscheinlich nur die 10 von discord

urban glen
#

dann ist deine ganze datei falschmach da nur sachen rein die du brauchst

cloud cedar
#

hab kein bock die rauszusuchen

urban glen
#

bro

cloud cedar
#

mach ich jetzt aber

urban glen
#

das ist meistens nur 4 sachen

cloud cedar
urban glen
#
py-cord
aiosqlite
ezcord
#

das war es meistens

dreamy bobcat
# tawdry leaf

Oh, sorry. Scheine wohl extrem blind zu sein. Leider gibt es nur kein Example. Noch ne andere Frage zu ezcord Blacklist, dass kann dann nur ich und eine andere Person ausführen die commands dazu, wenn man die config entsprechend einstellt richtig?

cloud cedar
urban glen
#

#

das macht kein sinn was du schreibst

#

alles du importierst in die requirements.txt datei

#

und anstatt bei import discord, schreibst du py-cord so einfach ist das

cloud cedar
#

ja
ich hab
py-cord
aiosqlite
easy-pil

tawdry leaf
tawdry leaf
dreamy bobcat
tawdry leaf
dreamy bobcat
#

ernsthaft?

#

Er hat mir genau das Gegenteil von dem gesagt, was du gesagt hast. Xd

hard pivot
tawdry leaf
#

maybe dm nachrichten nicht hier senden xD kannst dm für mehr info

hard pivot
tawdry leaf
#

habe halt nd des problem

tawdry leaf
dreamy bobcat
#

Aber stimmst du mir da zu bei dem was sich da schrieb

hard pivot
tawdry leaf
#

ne weil es nd geht xD

hard pivot
#

Ist es eigentlich sinnvoller immer eine neue Button class zu machen oder eine class die Buttons generriert und dann nur noch das callback hinzuzufügen?

#

weil ich hab so um die 100 button jetzt schon

urban glen
hard pivot
urban glen
hard pivot
urban glen
#

Du kannst nicht als View ein Modal angeben sondern musst extra mit send_modal antworten

hard pivot
#

ah ok verstehe

urban glen
hard pivot
urban glen
#

Selbst wenn, sie stellst du dir das vor?

#

Die View gibst du ja dann beim senden einer Nachricht an

#

Und dann soll beim senden das Modal aufpoppen?

#

Das macht ja kein Sinn

#

Das kann nur als Antwort auf eine interaction, z.B. Button drücken oder so passieren

empty plaza
#

Wie kann ich so ein drehend avatar machen also wie beim server icon

fierce dove
#
[ERROR] Error while executing /memory 
Traceback (most recent call last):
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Users\Schüler\Documents\Bots\FALCON\module\commands\memory.py", line 214, in memory
    message = await interaction.original_response()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'EzContext' object has no attribute 'original_response'
#
message = await interaction.original_response()
shadow wigeon
#

Jo, wie kann ich Buttons persistent machen? Ich habe den timeout auf None gesetzt, jedem Button eine custom ID gegeben und auch der on_ready die View Klasse übergeben. Was fehlt da noch?

fierce dove
solid ingot
fierce dove
#

oha

shadow wigeon
#

Ich sehe grade die Stelle in der on_ready ist markiert. Scheinbar soll ich noch die ganzen Parameter wie bot etc. übergeben. Aber ich soll sie alle mit "bot= ..." übergeben. Wie definiere ich die ohne das der Wert weg ist frage ich mich

urban glen
#

die parameter, die du im konstruktor haben willst müssen natürlich auch im on_ready gegeben werden

#

wenn du add_view benutzt

shadow wigeon
urban glen
#

aber da ctx zu übergeben wird wohl nicht funktionieren und macht auch nicht wirklich Sinn

shadow wigeon
#

Hab das in meinem Command übergeben weil ich den ctx.author brauchte

twin slate
#

Wenn der ct.author und der user der den Button clickt der gleiche ist kannst du auch interaction.user nehmen. Ich weiß jetzt nicht was du in deinem view machst deswegen kann ich dir leider nicht sehr weiterhelfen

shadow wigeon
#

Das mit dem ctx hat inzwischen geklappt. 👍 Aber das Ursprungsproblemchen mit dem Konstruktor besteht immer noch. 😅

class MoneyLending(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.betrag = None
        self.spieler = None
        self.pfand = None
        self.db_lock = asyncio.Lock()


    @commands.Cog.listener()
    async def on_ready(self):
        self.bot.add_view(ButtonView(self.bot, self.betrag, self.spieler, self.pfand))
        async with self.db_lock:
            self.db = await aiosqlite.connect("DGS.db")
            await self.db.execute(
                """
                CREATE TABLE IF NOT EXISTS Lending (
                user_id INTEGER PRIMARY KEY,
                user_name TEXT,
                provided_money REAL DEFAULT 0
                )
                """
            )
            await self.db.commit()

Ich hab die Werte die ich brauche im Konstruktor erstmal als None definiert. Jetzt kann ich die Buttons auch nach dem Bot Neustart benutzen. Aber wie kann ich die so definieren, dass sie den selben Werten entsprechen, wie sie sie auch vor dem Neustart hatten? Geht das überhaupt einfach so? Muss ich doch bestimmt erstmal in der Datenbank zwischenspeichern oder

silk gulch
shadow wigeon
#

Alles klar

urban glen
shadow wigeon
#

jup

urban glen
#

weiß jmd wieso bei mir seit neuestem folgendes unterstrichen wird aber einwandfrei funktioniert?

wenn ich '[]' nutze ist's nicht mehr unterstrichen, aber nix funktioniert mehr 💀

slow cosmos
#

HTML und CSS kann man doch auch in Pycharm Professionall programmieren oder?

cloud cedar
urban glen
#

wtf

urban glen
#

Würde dir aber webstorm empfehlen

slow cosmos
fierce dove
vivid sky
odd kiteBOT
#

Hier findest du das Main-Datei Template 🗿

slow cosmos
#

Wenn ich pycord über masterbranch installiere klappt alles, wenn ich das dann aber importieren möchte steht da das das package nicht gefunden wurde

#

was soll ich jz machen?

#

Hab nachgeguckt es wird nur der ordner .dist runtergeladen

#

nicht wie bei anderen ordnern der main ordner

odd kiteBOT
#
Pycord Master-Branch

Führe den folgenden Befehl aus, um den Pycord Master-Branch zu installieren.

pip install git+https://github.com/Pycord-Development/pycord```
**Hinweis:** [Git](https://git-scm.com/downloads) muss bei dir installiert sein.
slow cosmos
#

das hier hab ich ausgeführt

#

habs gefixt

viscid lake
#

Weis jemand wie man fixen kann hatte das noch nie

old ore
#

weiß wer warum er unten die nachricht nicht bearbeitet

#
view = discord.ui.View()

                view.add_item(discord.ui.Button(label="+1 Day",
                    style=discord.ButtonStyle.green,
                    custom_id="add_day",
                    emoji=":heavy_plus_sign:",
                    row=0
                ))

                view.add_item(discord.ui.Button(
                    label="+1 Week",
                    style=discord.ButtonStyle.green,
                    custom_id="add_week",
                    emoji=":heavy_plus_sign:",
                    row=0
                ))

                view.add_item(discord.ui.Button(
                    label="+1 Month",
                    style=discord.ButtonStyle.green,
                    custom_id="add_month",
                    emoji=":heavy_plus_sign:",
                    row=0
                ))

                view.add_item(discord.ui.Button(
                    label="+1 Year",
                    style=discord.ButtonStyle.green,
                    custom_id="add_year",
                    emoji=":heavy_plus_sign:",
                    row=0
                ))

                view.add_item(discord.ui.Button(
                    label="-1 Day",
                    style=discord.ButtonStyle.red,
                    custom_id="remove_day",
                    emoji=":heavy_minus_sign:",
                    row=1
                ))

                view.add_item(discord.ui.Button(
                    label="-1 Week",
                    style=discord.ButtonStyle.red,
                    custom_id="remove_week",
                    emoji=":heavy_minus_sign:",
                    row=1
                ))

                view.add_item(discord.ui.Button(
                    label="-1 Month",
                    style=discord.ButtonStyle.red,
                    custom_id="remove_month",
                    emoji=":heavy_minus_sign:",
                    row=1
                ))

                view.add_item(discord.ui.Button(
                    label="-1 Year",
                    style=discord.ButtonStyle.red,
                    custom_id="remove_year",
                    emoji=":heavy_minus_sign:",
                    row=1
                ))

                view.add_item(discord.ui.Button(
                    label="Order",
                    style=discord.ButtonStyle.green,
                    custom_id="order",
                    emoji=":white_check_mark:",
                    row=1
                ))

                view.add_item(discord.ui.Button(
                    label=f"Max ({time_str})",
                    style=discord.ButtonStyle.grey,
                    custom_id="max",
                    emoji=":chart_with_upwards_trend:",
                    row=1
                ))


                await msg.edit(embed=em, view=view)```
tawdry leaf
#

wo hast du denn die variable vergeben

silk gulch
#

Wieso gibts du die discord.ui.View() an?

old ore
#

bei einem ctx.respond. das geht habe ich auch schon ausprobiert wenn ich dieses msg.edit oberhalb von der view variable anbringe dann wird das geschickt

old ore
silk gulch
old ore
#

so das ist die gesamte datei

tawdry leaf
old ore
tawdry leaf
viscid lake
#

Wie kann ich das fixen und was bedeutet es überhaupt

ruby sparrow
#

Der findet eine Datei nicht

viscid lake
empty plaza
#

Wie kann ich beim modal überprüfen ob diese value überhaupt angeben wurde?

silk gulch
empty plaza
#

dankeschön

silk gulch
empty plaza
#

ja habs halt nur bisschen anders gemacht

silk gulch
opal basin
#

hey jungs wichtige frage bekomms gerade nicht gebacken
wenn ich ein thread in einem forum post erstelle will ich das der bot ein tag auswählt wie geht das?

#
        thread = await abmeldung_channel.create_thread(name=f"┃⏰-{interaction.user.name}", embeds=[embed1], tags="𑁉 ABMELDUNG")

check es trotz docs nicht idk

novel ore
#

So hab ich es gemacht

twin slate
#

Du brauchst auf jeden fall ein tag object um den tag hinzuzufügen

novel ore
twin slate
#

Ja

#

Du kannst alle ForumTags kriegen mit channel.available_tags

slow cosmos
#

Ausgehend vom Discord Bot Dashboard tutorial - Wie kann ich ein select menu machen, welches als auswahlmöglichkeiten alle rollen eines servers hat?

#

Und wie kann man machen das sich die Seite nicht neu lädt wenn man auf einen link klickt wie beim CookieBot Dashboard?

twin slate
slow cosmos
twin slate
#

ih dann keine ahnung sorry

native helm
#
[COGS] Loaded 1 cog
[ERROR] Error in event on_connect 
Traceback (most recent call last):
  File "C:\Users\vison\Desktop\Arsona-Network.de\.venv\Lib\site-packages\discord\client.py", line 378, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\vison\Desktop\Arsona-Network.de\.venv\Lib\site-packages\discord\bot.py", line 1164, in on_connect
    await self.sync_commands()
  File "C:\Users\vison\Desktop\Arsona-Network.de\.venv\Lib\site-packages\discord\bot.py", line 709, in sync_commands
    check_guilds = list(set((check_guilds or []) + (self._bot.debug_guilds or [])))
                            ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TypeError: can only concatenate list (not "str") to list
Signed in as A - System
[INFO] Bot is online with EzCord 0.5.3
╭─────────────────┬─────────────────────┬────────┬──────────┬────────┬─────────╮
│ Bot             │ ID                  │ Pycord │ Commands │ Guilds │ Latency │
│─────────────────┼─────────────────────┼────────┼──────────┼────────┼─────────│
│ A - System#1568 │ 1207379710275878962 │ 2.4.1  │ 0        │ 1      │ 118ms   │
╰─────────────────┴─────────────────────┴────────┴──────────┴────────┴─────────╯``` Fehler Code
#

ich weiß nicht Ganz was das bedeutet ich kann aber mal sagen was der code machen soll

#

Also der bot ist für einen mc server und da ist erstmal nur der /help command drin

thick haven
#

Hi, kann mir jmd sagen wie ich ddas event anstuern kann wenn ich bei einem Pageinator die seite wechsel

silk gulch
#

Timo sollte meines Wissens dazu nen Video gemacht haben.

thick haven
#

Wenn ich die Seite wechsel ob es dafür ein event gibt

twin slate
#

warum brauchst d denn ein event dafür? müsste man nicht mit dem button callback was machen können? kennne mich mit oaginatoren aber nicht aus

thick haven
#

Ich ebend auch nicht XD

placid trellis
thick haven
#

Okay, aber wei soll ich das machen, wenn ich eine seite wechsel will ich mein dropdwon updaten

placid trellis
#

du nutzt nh liste für die embeds / context

#

Dann musst du dir nur die logik ausdenken

silk gulch
#

Kannst ja dein eigenes Event dazu packen. 😄

placid trellis
#

sprich

if index == 5:
      await interaction.response.edit_message(embed=embeds[5], view=....) ```
#

oder du greifst einfach auf das object zu und änderst so alles

thick haven
placid trellis
#

ja kannst du

#
  1. liste erstellen
  2. embeds / context hinzufügen
if embeds > 0:
    paginator = pages.Paginator(liste)
    await paginator.respond(ctx.interaction)
else:
    await ctx.respond(embed=liste[0])```
thick haven
# placid trellis 1. liste erstellen 2. embeds / context hinzufügen ```py if embeds > 0: pagin...

Naja das hier ist mein code```py
#print(data["data"])

    pages = []
    i = 1
    embed_strings = []
    options = []

    for order in data['data']:
        order_str = f"**{i}.** Order ID: {order['id']} | Package: {order['name']} | Status: {order['status']}"
        i += 1
        embed_strings.append(order_str)

    chunks = [embed_strings[i:i + 10] for i in range(0, len(embed_strings), 10)]

    for index, chunk in enumerate(chunks):
        embed = discord.Embed(title="Your Orders", color=int(get_config("colors")["green"], 16), description='\n'.join(chunk))
        pages.append(Page(embeds=[embed]))

    for option in chunks[0]:
        print(option)
        order_id_match = re.search(r'Order ID: (\d+)', option)
        package_match = re.search(r'Package: (\w+)', option)
        options.append(discord.SelectOption(label=f"{order_id_match.group(1)} | {package_match.group(1)}", value=f"{order_id_match.group(1)}"))

    select = Select(placeholder='Select an order', options=options)

    view = View()
    view.add_item(select)

    paginator = Paginator(pages=pages, custom_view=view)
    await paginator.respond(interaction, ephemeral=True)```
thick haven
#

Naja also das was ich schickt hat funktionieren die seiten und auf seite 1 auch das dropdown aber wnen ich die seite wechsel soll der inhalt also die auswhl punkte von dem dropdown geändert werden

placid trellis
thick haven
#

dasd ding ist ich muss ja irgenwie das triggern

placid trellis
#

musst du dir die events anschauen

#

die die Klasse bereitstellt

lofty rock
#

wo kann man nochmal hintergründe und so zu bildern hinzufügen (also auf welcher website)?

thick haven
placid trellis
#

def update_custom_view

thick haven
#

Ja das weiss ich aber der paginator muss ja wissen, ah der hat ne seite gewechselt

placid trellis
#

current_page

#

gibt dir den index zurück

#

Musst du halt nur bisschen überlegen

#

wie du das löst

cloud cedar
#

hey, keine ahnung wass ich nicht importiert habe aber mein hosting geht nicht.

Traceback (most recent call last):
File "/home/container/main.py", line 2, in <module>
from discord.commands import Option
File "/home/container/.local/lib/python3.10/site-packages/discord/commands/init.py", line 27, in <module>
from .core import *
File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 49, in <module>
from ..enums import MessageType, SlashCommandOptionType, try_enum
ImportError: cannot import name 'SlashCommandOptionType' from 'discord.enums' (/home/container/.local/lib/python3.10/site-packages/discord/enums.py)
container

requirements:
py-cord==2.4.1
easy-pil==0.1.9
aiosqlite

cloud cedar
placid trellis
placid trellis
cloud cedar
placid trellis
#

2.4 ist noch zu frisch

cloud cedar
#

Welche soll ich nehmen

placid trellis
cloud cedar
placid trellis
#

deinstallier aber vorher 2.4

cloud cedar
placid trellis
#

Liegt am WorkingDirectory vom Hoster

#

meld dich da lieber an den Support von denen

placid trellis
#

wir probieren mal was

#

mach das mal so

upper adder
#

Hi, ich bin dabei mir für meinen Modmail Bot ne eigene Klasse mit allem Möglichem in meiner main.py zu bauen.
Hätte später jemand, der davon Ahnung hat, mal Zeit, da mit mir drüber zu schauen?
Weil ich hab sowas noch nicht gemacht und will wissen, ob das so geht, was ich da geschrieben hab 😅

limpid wolf
upper adder
#

Wird nicht vor 21:30 😅

limpid wolf
#

Ja okay dann klappts bei mir leider nicht

#

Muss was früher schlafen heute und morgen

upper adder
#

Ja kein Ding, verständlich ^^

void creek
#

Wie kann man ein Animeten Profilbild bei Bots machen

odd kiteBOT
old ore
tawdry leaf
old ore
#

alles gutt habe es gerade gefixxt row reihe war zu lang

upper adder
#

@limpid wolf doch noch da? nikos

limpid wolf
limpid wolf
#

Hm ja aber jetzt haha

fierce dove
tawdry leaf
limpid wolf
fierce dove
#

@solid ingot kan ich beim ezcord status changer auch discord.watching nehmen

limpid wolf
#

Tolles sprichwort weißte

fierce dove
fierce dove
limpid wolf
fierce dove
limpid wolf
tawdry leaf
#

steht doch bei den docs angrycat

fierce dove
tawdry leaf
#

doch

tawdry leaf
#

kekse aber zackig

fierce dove
#

Ne

#

Erst wenn du es mir zeigst

tawdry leaf
#

ok

fierce dove
tawdry leaf
#

🙂

fierce dove
#

ja und

#

zeig mir ein besipiel

tawdry leaf
#

hm kekse

fierce dove
#

so

bot.add_status_changer(
    [
        discord.Activity(
            type=discord.ActivityType.watching,
            name="YouTube"
        ),
    ]
)
fierce dove
fierce dove
tawdry leaf
fierce dove
#

Doch

odd kiteBOT
#

Hier findest du das Dashboard Template 🗿

thick haven
#

Hi, ich habe mal eine frage ich nutze ein AutoCompletion für meinen /-Command und ich bekome die lsite für das AutoC
['Paper (1)', 'PurPur (2)', 'Fabric (3)', 'Forge (4)', 'Bungeecord (5)', 'Wordpress (6)', 'Basic (7)', 'THE ISLE (8)', 'Euro Truck Sim 2 (9)', 'American Truck Sim (10)', 'Satisfactory (11)', 'Python (12)', 'CurseForge Modpacks (13)', 'ARK (17)', 'Terraria (18)', 'tModLoader (19)', 'Next Cloud (20)', 'TVS - Temp Voice System (21)', 'TS - Ticket System (22)', 'ECS - Embed Creator System (23)', 'BCS - Button Creator System (24)', 'MH - MySQL Handler (25)', 'Python Lifetime (27)', 'Palworld (29)', 'Webhook Test (31)', 'Test V1 (32)']
aber wenn ich den Command eingebe fehlt die 32 und auch wenn ich danach suche wird da nix gefunden

tawdry leaf
#

Hm und wenn du dahinter ein Komma machst 🫣

#

Also hinter den letzten

thick haven
#

Ne eght auch ned

tawdry leaf
#

Komisch der hat meines Wissens ja kein Discord Limit der autocomplete

thick haven
#

Hm okay

urban glen
#

Soweit ich mich erinnere

urban glen
tawdry leaf
thick haven
urban glen
#

Und in der Option?

thick haven
# urban glen Und in der Option?

async def addpackage(self, ctx: discord.ApplicationContext, package: Option(str, "Select a WemX category", autocomplete=get_packages) ,role: Option(discord.Role, "Select a role")):

urban glen
#

Du heißt da kein autocomplete handler Von ezcord oder so

#

Wenn du was eingibst dann wird ja sicher nicht danach gesucht oder?

thick haven
#

Genau und nein Ezcord nutze ich nicht

maiden hamlet
#

Kann mir jemand erklären warum diese Options eigentlich diese Warnung im VSCode ausgeben? Ist der Code aus dem YT Video. Funktioniert auch, nur diese Warnungen versuche ich zu deuten...

maiden hamlet
silk gulch
maiden hamlet
silk gulch
#

Aber geht jetzt alles?

maiden hamlet
#

Jip, passt soweit alles.

silk gulch
#

Super. 🙂

cloud cedar
#

Wenn ich mit Madplotlib ein Diagramm der Serveranzahl machen will, muss ich das einfach mit Datum in einer Datenbank speichern, oder geht das einfacher?

silk gulch
maiden hamlet
cloud cedar
#

Meint ihr ich soll immer on ready oder fest jeden tag um 12 Uhr oder so speichern?

silk gulch
#

Mach doch nen Task, der um 00:00 Uhr triggert. 😄

empty plaza
#

wie gib ich den bot auch bei einer modal class an auch gleich?

silk gulch
empty plaza
#

hab schon

upper adder
#

Musst du limitieren auf 25 mit [:25]

Mach auch der Einfachheit zuliebe einfach nur ne Liste mit den Option-Names und iteriere dann mit enumerate da durch und lass die zahl automatisch einsetzen.

#

@thick haven

limber crow
#

Wieso bekomme ich diesen Fehler ?

[ERROR] Error while executing /clear 
Traceback (most recent call last):
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 978, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "c:\Users\YT197\Desktop\Allgemein\Dev\Python\NØVΛCØRD\cogs\mod\clear.py", line 41, in clear
    await ctx.respond("Messages Deleted", ephemeral=True)
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\context.py", line 282, in respond
    return await self.interaction.response.send_message(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\interactions.py", line 825, in send_message
    await self._locked_response(
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\interactions.py", line 1090, in _locked_response
    await coro
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\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
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
from datetime import datetime
from utils.config import *

class ClearCommand(commands.Cog):
    def __init__(self, bot: discord.Bot):
        self.bot = bot

    @slash_command(description="clears messages in a channel")
    @commands.has_guild_permissions(manage_messages=True)
    async def clear(
        self,
        ctx,
        msgs: Option(int, "The number of messages to delete"),
        reason: Option(str, "The reason for the deletion"),
    ):
        await ctx.defer()
        channel = ctx.channel
        async for message in channel.history(limit=msgs):
            await message.delete()

        em0 = discord.Embed(color=MainColor)
        file0 = discord.File("img/Delete.png", filename="Delete.png")
        em0.set_image(url="attachment://Delete.png")

        em1 = discord.Embed(
            title="Messages Deleted",
            color=MainColor,
            timestamp=datetime.now(),
        )
        em1.add_field(name="Moderator", value=ctx.author.mention, inline=False)
        em1.add_field(name="Reason", value=reason, inline=False)
        em1.add_field(name="Messages Deleted", value=msgs, inline=False)
        file1 = discord.File("img/Imageline.png", filename="Imageline.png")
        em1.set_image(url="attachment://Imageline.png")
        em1.set_footer(text=self.bot.user.name, icon_url=self.bot.user.avatar.url)
        em1.set_thumbnail(url=self.bot.user.avatar.url)

        await ctx.respond("Messages Deleted", ephemeral=True)
        await ctx.send(embeds=[em0, em1], files=[file0, file1])

def setup(bot: discord.Bot):
    bot.add_cog(ClearCommand(bot))
silk gulch
#
await self.interaction.response.send_message(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^```

Das ist dein Fehler.
limber crow
silk gulch
limber crow
#

Habe keine Buttons definiert

silk gulch
#

Ach nvm, die Interaction ist einfach nur fehlgeschlagen.

limber crow
silk gulch
#

Deleted er die Nachrichten? Hat er die Permissions dazu? Und den richtigen Intent?

slow cosmos
#

Ich hab mal irgendwo gesehen das wer eine database.db in seinem projekt hat, was eine Art Datenbank ist die wie eine Tabelle angezeigt wird. Wie kann ich das in PyCharm (Pro) machen?

fierce dove
#

warum wird die datenbank nicht erstellt

class Booster(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.db_path = "booster.db"

    async def open_db(self):
        db_exists = os.path.exists("booster.db")
        if not db_exists:
            db = await aiosqlite.connect("booster.db")
            await db.execute('''
                CREATE TABLE IF NOT EXISTS boosters (
                    user_id INTEGER PRIMARY KEY,
                    boost_count INTEGER DEFAULT 0
                )
            ''')
            await db.commit()
            await db.close()
        return await aiosqlite.connect("booster.db")

    async def create_tables(self):
        db = await self.open_db()
        await db.execute('''CREATE TABLE IF NOT EXISTS boosters (user_id INTEGER PRIMARY KEY, boost_count INTEGER DEFAULT 0)''')
        await db.commit()
        await db.close()

    async def on_ready(self):
        await self.create_tables()
maiden hamlet
lofty rock
#

wie kann man eine db sich anschauen?

maiden hamlet
cloud cedar
cloud cedar
graceful fiber
#

Natürlich nur Ansichtssache

cloud cedar
#

oh, ich meinte vsc

fierce dove
graceful fiber
#

Vs gibt's aber auch

lofty rock
fierce dove
#

habs irgendiwe geschaft

#

das kannst du auch benutzen

lofty rock
graceful fiber
#

Gibt's in pycharm aber auch als schon integrierte Funktion

#

Database Tools heißt das meine ich

fierce dove
lofty rock
#

@solid ingot welches plugin nutzt du um DBs zu sehen?

fierce dove
limber crow
#

Wie kann ich von allen Discord Servern auf die mein Bot ist die Member anzeigen lassen (Ohne Bots)

lofty rock
limber crow
limber crow
native helm
thick haven
#

Kann mir jmd helfen

Traceback (most recent call last):
  File "C:\Users\jurek\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\ui\view.py", line 414, in _scheduled_task
    await item.callback(interaction)
  File "c:\Users\jurek\Documents\Development\Python\DC Bots\Xenority\Xenority-Main-Pycord-V2-WemX\cogs\wemx.py", line 342, in next_button
    await interaction.message.edit(embed=self.create_embed(self.get_current_page_data()), view=self)      
AttributeError: 'Button' object has no attribute 'message'```
native inlet
thick haven
# native inlet Musst button und interaction tauschen

Okay jetzt kommt derfer() nicht gefunden

Traceback (most recent call last):
  File "C:\Users\jurek\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\ui\view.py", line 414, in _scheduled_task
    await item.callback(interaction)
  File "c:\Users\jurek\Documents\Development\Python\DC Bots\Xenority\Xenority-Main-Pycord-V2-WemX\cogs\wemx.py", line 341, in next_button
    await interaction.defer()
AttributeError: 'Interaction' object has no attribute 'defer'```
native inlet
#

Interaction.response.defer()

thick haven
#

danke

thick haven
#

Hi, weiss jmd warum er das dropwdown nie entfernt aber dafür einfach ein zweitest hinzufügt obwolh ichd as alte doch lösche?

        self.remove_item(orders_dropwdown(f"{self.current_page}"))
        self.update_buttons()
        self.add_item(orders_dropwdown(f"{self.current_page}"))
        await self.message.edit_original_response(embed=self.create_embed(data), view=self)```
urban glen
#

du musst nach dem remove_item auch die message editen

#

das mit update_buttons geht glaube nd so xd

thick haven
# urban glen du musst nach dem remove_item auch die message editen

Hm eght auch ned dupliziert das einfach nur

        self.remove_item(orders_dropwdown(f"{self.current_page}"))
        await self.message.edit_original_response(view=self)
        self.update_buttons()
        self.add_item(orders_dropwdown(f"{self.current_page}"))
        await self.message.edit_original_response(embed=self.create_embed(data), view=self)```
viscid lake
#

ich komme nicht weiter wenn man was ins ticket schreib soll der user eine dm bekommen mit der nachricht die da rein geschrieben wurde aber ich bekomme das nicht ganz hin kann mir wer helfen

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

    if isinstance(message.channel, discord.DMChannel):
        if await modmail().one("SELECT user_id FROM blacklist WHERE user_id = ?", message.author.id):
            return

        ticket_channel_id = await modmail().one("SELECT channel_id FROM tickets WHERE user_id = ?", message.author.id)
        if ticket_channel_id is not None:
            channel = bot.get_channel(ticket_channel_id)
            if channel is not None:
                await channel.send(message.content)
                return

        welcome_embed = discord.Embed(
            title="Willkommen im Modmail!",
            description="Bitte beschreibe dein Anliegen möglichst genau, damit wir dir schnellstmöglich helfen können!\n"
                        "Dein Ticket wird für dich erstellt",
            color=discord.Color.green()
        )

        ticket_embed = discord.Embed(
            title=f"Neues Ticket von {message.author.name}",
            description="Benutze `/ticket_text` für eine vorgefertigte Nachricht zu senden\n",
            color=discord.Color.blue()
        )

        guild = bot.get_guild(GUILD_ID)
        if guild is None:
            print(f"Could not find a guild with the ID {GUILD_ID}. Please check the ID and the bot's permissions.")
        else:
            ticket_category = guild.get_channel(TICKET_CATEGORY_ID)
            if ticket_category is None:
                print(
                    f"Could not find a category with the ID {TICKET_CATEGORY_ID}. Please check the ID and the bot's permissions.")
            else:
                new_ticket_channel = await ticket_category.create_text_channel(f'ticket-{message.author.name}')
                await new_ticket_channel.send(embed=ticket_embed)
                await modmail().execute("INSERT INTO tickets(user_id, channel_id) VALUES(?, ?)", message.author.id, new_ticket_channel.id)
        await message.author.send(embed=welcome_embed)
    else:
        ticket_user_id = await modmail().one("SELECT user_id FROM tickets WHERE channel_id = ?", message.channel.id)
        if ticket_user_id is not None:
            user = bot.get_user(ticket_user_id)
            if user is not None:
                await user.send(f"{message.author.name} hat in deinem Ticket geschrieben: {message.content}")
#

es sollte so aussehen nur halt in der dm nicht im ticket

native plume
silk gulch
viscid lake
native plume
silk gulch
viscid lake
viscid lake
native plume
viscid lake
native plume
#

;)

viscid lake
#

Erik komm mal Chat muss dir was steigen

#

Zeigen

native plume
#

Bin im Zug oder meinst du Pn?

silk gulch
# viscid lake Hahaha mein ist aus für heute

Geht aber nicht anders außer über die DB. Speicherst die Ticket-Channel-ID mit dem Owner ab und musst immer überprüfen, ob in einem Ticket geantwortet wird um den User eine DM zu senden.

#

Eigentlich genauso wie es Erik geschrieben hat. Mensch bin ich lost. xD
Sorry Erik. Credits gehen raus an dich.

viscid lake
thick haven
#

Hi, weiss jmd warum er nicht das alte entfernt aber dafür ein neues hinzufügt ?

        self.remove_item(orders_dropwdown(self.get_current_page_data()))
        embed = discord.Embed(title="page change...")
        await self.message.edit_original_response(embed=embed, view=self)
        self.add_item(orders_dropwdown(self.get_current_page_data()))
        self.update_buttons()
        await self.message.edit_original_response(embed=self.create_embed(data), view=self)```
tawdry leaf
slow cosmos
#

Wenn ich eine aiosqlite database habe, wie kann ich dann nachträglich eine neue spalte hinzufügen aber dabei die daten in den anderen spalten beibehalten

urban glen
#

Andere Zeilen werden nicht überschrieben wenn du was insertest

slow cosmos
#

Ist aiosqlite auch eine gute option wenn der bot auf vielen server ist und dann viele daten in der datenbank sind=

urban glen
#

und kommt drauf an ob du auch Cache logging machst, etc...

slow cosmos
urban glen
#

aktive server?

slow cosmos
urban glen
#

gibt bessere möglichkeiten, ist aber auch ok

slow cosmos
#

sollte ich lieber so mysql nehmen?

urban glen
#

boah keine ahnung um ehrlich zu sein

#

@burnt prairie benutzt ja soweit ich weiß auch aiosqlite

#

und der bot ist auf ca 300+ Servern, also müsste aufjedenfall reichen

slow cosmos
#

okay

#

dann mache ich das so

#

und notfalls kann ich später immer noch auf mysql umprogrammieren

viscid lake
#

wie wo was

viscid lake
#

ist das ein bug von ezcord oder hab ich was verkackt

solid ingot
#

du hast python 3.8

viscid lake
solid ingot
#

am einfachsten geht es meist direkt über den anbieter mit einer neuinstallation

viscid lake
solid ingot
#

geh einfach auf neuinstallation und wähle ubuntu 22.04 aus da ist die python version automatisch höher

#

denk aber dran dass dadurch ale daten auf dem server gelöscht werden

viscid lake
slow cosmos
#

Wie wurde das gemacht im Keksbot panel das wenn man in den settings ein bisschen rumklickt das sich die Seite nie neu lädt

#

weil ich habe das Dashboard tutorial gemacht und bei mir laden sich die Seiten immer neu

outer ibex
ruby sparrow
#

@outer ibex hier kann nur sehr viel Python

vivid sky
outer ibex
native inlet
native inlet
outer ibex
native inlet
#

Zeig doch mal deinen Code

#

Aber woher kommt das "src"?
Weil danach wird ja nicht gesucht im Code

outer ibex
#

Hat auch vorher funktoniert

#

code stehen in sourceb link

old ore
#

was zeigt die cpu hier an wenn ich pm2 monit mache

urban glen
#

Cpu usage

slow cosmos
#

In prozent

lofty rock
#

@solid ingot temuo

solid ingot
lofty rock
#

Also richtigen timeout nicht mit rolle

jade mantle
#

willst du code?

#

eig ist es einfach discord.Member.timeout()

tawdry leaf
lofty rock
jade mantle
#

idk aber irgwie sind ein bisschen überkompliziert imo

limber crow
#

Kann ich hier denn Bot status auch ohne discord.Game anzeigen lassen, also nur denn Texte ?

import discord
import asyncio

from discord.ext import commands, tasks


class Status(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
    
    @commands.Cog.listener()
    async def on_ready(self):
        self.change_status.start() 

    @tasks.loop(seconds=10)
    async def change_status(self):
      while True:
        guild_count = len(self.bot.guilds)
        if guild_count:
            await self.bot.change_presence(activity=discord.Game(f"auf {guild_count} Servern"), status=discord.Status.online)
            await asyncio.sleep(10)
            await self.bot.change_presence(activity=discord.Game('Python Programmierung'), status=discord.Status.online)
            await asyncio.sleep(10)


def setup(bot):
    bot.add_cog(Status(bot))
urban glen
odd kiteBOT
#
Pycord Master-Branch

Führe den folgenden Befehl aus, um den Pycord Master-Branch zu installieren.

pip install git+https://github.com/Pycord-Development/pycord```
**Hinweis:** [Git](https://git-scm.com/downloads) muss bei dir installiert sein.
urban glen
limber crow
urban glen
#

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

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

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

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

▶ Play video
urban glen
#

dafür ist der tasks.loop ja da...

limber crow
#

@urban glen

Wieso wird hier der erste Status nicht angezeigt ?

import discord
import asyncio

from discord.ext import commands, tasks


class Status(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
    
    @commands.Cog.listener()
    async def on_ready(self):
        self.change_status.start() 

    @tasks.loop(seconds=10)
    async def change_status(self):
        guild = self.bot.get_guild(1162553851187040326)
        sup_role = guild.get_role(1162556186462261248)
        ol_sup = [member for member in guild.members if member.status == discord.Status.online and sup_role in member.roles]
        sups = len(ol_sup)


        await self.bot.change_presence(activity=discord.CustomActivity(name=f"Hilft {sups} Supportern"), status=discord.Status.online)
        await self.bot.change_presence(activity=discord.CustomActivity(name='Beiarbeitet Supportanfragen'), status=discord.Status.online)
        await self.bot.change_presence(activity=discord.CustomActivity(name=f"Verwaltet 0 Tickets"), status=discord.Status.online)
        


def setup(bot):
    bot.add_cog(Status(bot))
urban glen
#

weil das alles instant passiert

limber crow
urban glen
#

hä naja wie du willst

#

du kannst ja die activities in einer liste speicher und dann jedes mal eine neue nehmen

urban glen
#
import discord
from discord.ext import commands, tasks


class Status(commands.Cog):
    def __init__(self, bot: discord.Bot):
        self.bot = bot
        self.texts = [
            'Hilft {sups} Supportern',
            'Beiarbeitet Supportanfragen',
            'Verwaltet 0 Tickets'
        ]
        self.current_text = 0
    
    @commands.Cog.listener()
    async def on_ready(self):
        self.change_status.start()

    @tasks.loop(seconds=10)
    async def change_status(self):
        guild = self.bot.get_guild(1162553851187040326)
        sup_role = guild.get_role(1162556186462261248)
        ol_sup = [member for member in guild.members if member.status == discord.Status.online and sup_role in member.roles]
        sups = len(ol_sup)

        name = self.texts[self.current_text].format(sups=sups)
        self.current_text += 1
        self.current_text %= len(self.texts)

        await self.bot.change_presence(activity=discord.CustomActivity(name=name), status=discord.Status.online)


def setup(bot: discord.Bot):
    bot.add_cog(Status(bot))
#

das müsste zum beispiel erstmal gehen

#

dann nimmt er alle 10 sekunden den nächsten text

limber crow
last depot
#

Weiß wie Mann das am besten macht das der bot checkt ob die Nachricht ein Bild ist und wenn es ein Text ist löscht er sie

jade mantle
urban glen
empty plaza
#

Wieso sagt er mir das er es nicht kennt aber beim anderen modal schon?

#

hab schon quick fix

native inlet
#

Du verwendest *args und **kwargs wahrscheinlich nirgendwo

limber crow
#

Wie kann hier das hier so machen, dass in meinem Ticket Log Channel ich auch einen Button habe mit dem direkten Link

if select_option == "1":
            await ctx.response.send_message("Ticket wird geschlossen...")

            transcipt = await chat_exporter.export(ctx.channel, limit=None, bot=self.bot, tz_info="Europe/Berlin")

            em = discord.Embed(
            title="📨 | Chat export",
            description=f"Das Ticket von {ctx.user.mention} wurde geschlossen.",
            color=discord.Color.orange()
            )
            em.add_field(name="🎫 | Ticket ID", value=f"{ctx.channel.name}")
            em.set_footer(text=f"{ctx.guild.name}", icon_url=self.bot.user.avatar.url)
            em.timestamp = datetime.now()

            file = discord.File(
                io.BytesIO(transcipt.encode()),
                filename=f"{ctx.channel.name}.html",
            )

            channel = ctx.guild.get_channel(1208196342028042240)
            message = await channel.send(embed=em, file=file)
            link = await chat_exporter.link(message)

            button1 = discord.ui.Button(
                label="Transcript",
                style=discord.ButtonStyle.primary,
                url=link
            )

            view = discord.ui.View()
            view.add_item(button1)

            try:
                embed = discord.Embed(
                    title="Dein Ticket wurde geschlossen",
                    color=discord.Color.orange()
                )
                embed.add_field(name=":ticket: | Ticket ID", value=f"{ctx.channel.name}", inline=False)
                embed.add_field(name=":bookmark_tabs: | Transcript", value=f"[Klicke Hier]({link})")
                embed.set_footer(text=f"{ctx.guild.name}", icon_url=self.bot.user.avatar.url)
                embed.timestamp = datetime.now()

                await ctx.user.send(embed=embed, view=view)

            except:
                pass
limber crow
native plume
#

Dann setz das doch davor

limber crow
#

Weiß nicht wie ich sonst nen link erzeigen soll

native plume
#

Aber du machst es doch ins embed

limber crow
native plume
#

Und da willst du nen Button haben?

limber crow
native plume
#

Ich bin am Mobile ich gucke später :)

limber crow
quasi eagle
#
ping = round(self.bot.latency * 1000)

Error: ValueError: cannot convert float NaN to integer

Ich weiß nicht warum, aber self.bot.latency ergibt nan. Warum?

#

Haben die etwas wieder geändert?

#
from discord.ext import commands, tasks
import requests
import json

with open('config.json') as f:
    config = json.load(f)

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

    @tasks.loop(seconds=299)
    async def uptime(self):
        print(self.bot.latency)
        ping = round(self.bot.latency * 1000)
        requests.get(f'http://status.******.****/api/push/{config["uptime_id"]}?status=up&ping={ping}')

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

Das ist der gesamte code

tawdry leaf
#

Also ich mache es nicht so 😅 aber idk ob die da was geändert haben

quasi eagle
#

Wie machst du es?

#

mit time library?

lucid furnace
quasi eagle
#

Daran liegt ja auch das Problem

lucid furnace
quasi eagle
#

TypeError: object of type 'float' has no len()

#

Ou

#

Die haben es gefixxt

#

Das war nen bug von Pycord

#

Aber ein Problem habe ich noch. Und zwar funktioniert das Script nicht auf meinem Linux Server

#

Die ganzen Buttons und Commands funktionieren nicht mehr, also wenn ich genau das gleiche uploade

jade mantle
quasi eagle
#

Joa, also es kommt auch der on_ready befehl

#

Okay. Er hängt im Loop fest. Aber in dem Requests get befehl. Ich weiß aber nicht warum es nicht geht, also dort kommt auch kein Error

jade mantle
#

Kannst du kurz den coden schicken?

quasi eagle
#

Jo klar warte

#
@commands.Cog.listener()
    async def on_ready(self):
        self.uptime.start()

    @tasks.loop(seconds=299)
    async def uptime(self):
        ping = self.bot.latency * 1000
        requests.get(f'http://status.denflash.store:3001/api/push/{config["uptime_id"]}?status=up&ping={round(ping)}')
        print(1)
jade mantle
#

kannst du mal versuchen einfach den link zu printen?

jade mantle
#

hm hast du irgendeinen status code?

req = requests.get(link)
print(req.status_code)
quasi eagle
#

Ne dort kommt nichts :/

#

sehr komisch

jade mantle
#

d.h. eig das die request gar nicht raus gehen

#

mal nachschauen was das für ursachen haben kann

slow cosmos
#

Warum werde ich beim /logout nicht zurück zur homepage weitergeleitet:

jade mantle
slow cosmos
storm seal
#

was muss ich genau coden damit der Custom status funktioniert
bekomme es nicht wirklich hinpepecry

auch nicht mit ```py
activity=discord.CustomActivity(name="[Ready] Your daily reward is ready!"), status=discord.Status.online)

stoic stratus
#

1sek

#

import discord 
from discord.ext import commands
import asyncio
from discord.ext import tasks

class activity(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.update_activity.start()

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

    @tasks.loop(seconds=10)
    async def update_activity(self):
        if self.bot.is_ready():
            server_count = len(self.bot.guilds)
            total_member_count = sum(guild.member_count for guild in self.bot.guilds)

            activity1 = discord.CustomActivity(name="🦊 × ByteBuddy")
            activity2 = discord.CustomActivity(name="⚙ × Beta Phase")
            activity3 = discord.CustomActivity(name=f"🌳 × Bereits auf {server_count} Servern")
            activity4 = discord.CustomActivity(name=f"🐱‍🐉 × Wacht über {total_member_count} Member")
            await self.bot.change_presence(activity=activity1)
            await asyncio.sleep(2)
            await self.bot.change_presence(activity=activity2)
            await asyncio.sleep(2)
            await self.bot.change_presence(activity=activity3)
            await asyncio.sleep(2)
            await self.bot.change_presence(activity=activity4)

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

probier das mal aus

#

bei mir klappt der

#

kannst du anpassen wie du willst

lucid furnace
storm seal
lucid furnace
#

hmmm

#

warte ich probier

quasi eagle
outer ibex
#

Versteht jemand den Error?

<rejected> Error: getaddrinfo EAI_AGAIN discord.com
      at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26) {
    errno: -3001,
    code: 'EAI_AGAIN',
    syscall: 'getaddrinfo',
    hostname: 'discord.com'
urban glen
#

Deren api war kurz down oder so

outer ibex
wicked echo
#

bei meinem tikcet siystem kommt dieser error kann mir wer helfen und das ticket system ging mal

Traceback (most recent call last):
  File "/home/container/.local/lib/python3.10/site-packages/discord/cog.py", line 774, in _load_from_module_spec
    spec.loader.exec_module(lib)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/container/cogs/Ticket12.py", line 14, in <module>
    import chat_exporter
ModuleNotFoundError: No module named 'chat_exporter'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/home/container/main.py", line 56, in <module>
    bot.load_extension(f"cogs.{filename[:-3]}")
  File "/home/container/.local/lib/python3.10/site-packages/discord/cog.py", line 910, in load_extension
    self._load_from_module_spec(spec, name)
  File "/home/container/.local/lib/python3.10/site-packages/discord/cog.py", line 777, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.Ticket12' raised an error: ModuleNotFoundError: No module named 'chat_exporter' ```
lucid furnace
#

und zeig mir den output

wicked echo
lucid furnace
wicked echo
lucid furnace
#

welche python version hast du

wicked echo
#

3.11

lucid furnace
#

wurde chat-exporter auch richtig installiert

wicked echo
#

ja habe das so chat_exporter in der requirements.txt

jade mantle
wicked echo
#

ja geht nd bei mir beim keks hsoting panel

stoic stratus
#

das musst du in die requirements.txt datei rein machen

jade mantle
#

tbh benutz ich das hosting panel nicht müsste kurz nachschauen

stoic stratus
#

wenn du was auf dem panel installieren willst

jade mantle
#

nicht mit unterstrich, sondern mit minus

wicked echo
wicked echo
#

jetzt kommt das

SyntaxError: invalid syntax
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/home/container/main.py", line 56, in <module>
    bot.load_extension(f"cogs.{filename[:-3]}")
  File "/home/container/.local/lib/python3.10/site-packages/discord/cog.py", line 910, in load_extension
    self._load_from_module_spec(spec, name)
  File "/home/container/.local/lib/python3.10/site-packages/discord/cog.py", line 777, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.Ticket12' raised an error: SyntaxError: invalid syntax (Ticket12.py, line 15) ```
stoic stratus
#

schick mir mal den code

#

ticket line 15

wicked echo
#

ja warte

#
import chat-exporter
stoic stratus
#

was hast du in der requirements.txt

jade mantle
stoic stratus
#

Perfekt

jade mantle
#

das pip install ist zwar mit dem minus aber import mit unterstrich

stoic stratus
#

klappt es ?

jade mantle
#

zum glück gibt es pycharm kekw

wicked echo
#

ja jetzt kommt aber

ModuleNotFoundError: No module named 'requests'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/home/container/main.py", line 56, in <module>
    bot.load_extension(f"cogs.{filename[:-3]}")
  File "/home/container/.local/lib/python3.10/site-packages/discord/cog.py", line 910, in load_extension
    self._load_from_module_spec(spec, name)
  File "/home/container/.local/lib/python3.10/site-packages/discord/cog.py", line 777, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.Ticket12' raised an error: ModuleNotFoundError: No module named 'requests'
stoic stratus
#

pip install requests

jade mantle
#

du musst das auch in das .txt hineinschreiben

#

einfach requests

stoic stratus
#

in die requirements.txt requests

wicked echo
#

habe ich

stoic stratus
#

hmm

#

schick mir mal ein Bild

wicked echo
stoic stratus
#

komisch

solid ingot
ruby sparrow
#

weiss einer warum zeig das rot an ? gigapeepo

#

hab schon

stoic stratus
#

okay 🙂

jade mantle
stoic stratus
#

er hat es schon fixed

#

hat er geschrieben

jade mantle
#

aso

#

hab die nachricht nicht gesehen mb

stoic stratus
#

passiert nur den besten

jade mantle
#

kekw

lucid furnace
ruby sparrow
#

wie kann ich machen wenn man ein button Klick denn soll ein Select kommen wie geht das ?

native inlet
upper adder
#

Kleine Frage zu classmethods...
Will mit einer Funktion eine Alternative init haben, aber ich hab keine Ahnung, was ich returnen soll 😅

#

Habe nun folgenden Codeabschnitt. Würde der so gehen?

@classmethod
async def from_db(cls, db: aiosqlite.Connection, sID: int) -> 'JoinAction':
    cursor = await db.execute(
        """
        SELECT join_actions.action, join_actions.duration
        FROM join_actions
        WHERE join_actions.id = (SELECT antiraid.join_action FROM antiraid WHERE antiraid.sID = ?)
        """, (sID,)
    )
    row = await cursor.fetchone()
    if not row:
        cls.guild_id, cls._type, cls._duration = sID, 0, 0
        return cls
'''
Kontext:
antiraid.join_action ist ein FOREIGN KEY mit Verweis auf join_actions.id (was ein PRIMARY KEY ist)
Da antiraid.join_action auch 0 sein kann dachte ich, es sei schleuer kein INNER JOIN zu nutzen.
'''

Wenn nein, wie kann ichs besser machen und was ist falsch?

solid ingot
#

beispiele und genauere erklärungen findest du im video

odd kiteBOT
#

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

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Inhalt 📚
Nachdem wir uns in der letzen Folge Klassen und Instanzen angeschaut haben, schauen wir uns diesmal die besonderen Methoden classmethod und staticmethod an. Außerdem schauen wir uns an, wie wir mit classmethods mehrere Konstruktoren (init-Methoden) für unsere Kl...

▶ Play video
upper adder
#

Jo, hab ich schon angeschaut

limber crow
#

Wieso bekomme ich hier bei teamler ein nonetype zurück, obwohl diese inder Datenbank ist ?

lucid furnace
limber crow
# lucid furnace du musst da senden wo es auftritt
async with aiosqlite.connect("data/tickets.db") as db:
                cursor = await db.execute("SELECT * FROM tickets WHERE user_id = ?", (ctx.user.id,))
                result = await cursor.fetchone()

            teamler = ctx.guild.get_member(result[2])
            user = ctx.guild.get_member(result[0])
ruby sparrow
#
Ignoring exception in on_ready
Traceback (most recent call last):
  File "C:\Users\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\client.py", line 400, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\Sonne\Desktop\Flexii\./cogs/admin\ticketv2.py", line 61, in on_ready
    self.bot.add_view(CreateTicket())
  File "C:\Users\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\client.py", line 1948, in add_view
    raise ValueError(
ValueError: View is not persistent. Items need to have a custom_id set and View must have no timeout```
jade mantle
twin slate
#

Kannst du mal einen Screenshot von deiner View class schicken?

jade mantle
#

add einfach timeout=None und custom_id="wasauchimmer"

ruby sparrow
#

@twin slate

twin slate
#

Timeout ist aber zu None gesetzt?

#

Kann sein das ich irgendwas übersehe

jade mantle
#

@discord.ui.button(label="Create ticket", style=discord.ButtonStyle.blurple, emoji=":tickets:", custom_id="create-ticket-1")

#

die custom id ist da, dass man auf die buttons zugreifen kann nach bot neustart

ruby sparrow
twin slate
jade mantle
#

ach so ja mb

twin slate
#

Du musst bei allen items in deinem view eine custom id festlegen

ruby sparrow
#

jerzt geht immer error von mir

twin slate
#

Außerdem kann ich bei deinem select menu kein callback sehen? Soweit ich weiß braucht man da was

ruby sparrow
#

ist doch nicht ready

twin slate
#

Was meinst du?

ruby sparrow
#

ich muss doch mein button mit select machen aber ka wie es geht

twin slate
#

Wie meinst du Button mit select machen?

ruby sparrow
#

wie kann ich machen wenn man ein button Klick denn soll ein Select kommen wie geht das ?

twin slate
#

Ah

#

Dann brauchst du ein neues view in welchem du dann dein select menu hast. Um das dann nach dem button kommen zu lassen sendest du einfach beim button eine nachricht wo du das view welches das select menu hat als view angibst

#

Ich kann leider nicht so gut erklären ich kann dir ein beispiel senden wenn dunwillst

ruby sparrow
#

ja bitte

limber crow
#

Wieso kommt hier der Error ?

[ERROR] Error while executing /checkcodes 
Traceback (most recent call last):
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 131, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 1008, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "c:\Users\YT197\Desktop\Allgemein\Dev\Python\Discord\PixelP\pixel support\cogs\code.py", line 61, in checkcodes
    await paginator.send(ctx.interaction)
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ext\pages\pagination.py", line 975, in send
    raise TypeError(f"expected Context not {ctx.__class__!r}")
TypeError: expected Context not <class 'discord.interactions.Interaction'>
@slash_command(description="Checke die Codes")
    async def checkcodes(self, ctx):
        pages = []
        description = ""

        async with aiosqlite.connect("data/codes.db", detect_types=1) as db:
            async with db.execute("SELECT * FROM codes WHERE user_id = ?", (ctx.author.id,)) as cursor:
                rows = await cursor.fetchall()

                for row in rows:
                    timestamp = discord.utils.format_dt(row[2], "R")
                    user = ctx.guild.get_member(row[0])
                    if user is not None:
                        description += f"Benutzer: {user.mention} | ID: `{user.id}`\nCode: {row[1]} | Zeitstempel: {timestamp}\n\n"

            if description:
                embed = discord.Embed(
                    title="Teamler Codes",
                    description=description,
                    color=discord.Color.random(),
                    timestamp=datetime.now()
                )
                embed.set_footer(text=f"Seite {len(pages) + 1}")
                pages.append(embed)

        if pages:
            paginator = Paginator(pages=pages)
            await paginator.send(ctx.interaction)
        else:
            await ctx.send("Keine Codes gefunden.")
ruby sparrow
# limber crow Wieso kommt hier der Error ? ```py [ERROR] Error while executing /checkcodes Tr...
@slash_command(description="Checke die Codes")
async def checkcodes(self, ctx):
    pages = []
    description = ""

    async with aiosqlite.connect("data/codes.db", detect_types=1) as db:
        async with db.execute("SELECT * FROM codes WHERE user_id = ?", (ctx.author.id,)) as cursor:
            rows = await cursor.fetchall()

            for row in rows:
                timestamp = discord.utils.format_dt(row[2], "R")
                user = ctx.guild.get_member(row[0])
                if user is not None:
                    description += f"Benutzer: {user.mention} | ID: `{user.id}`\nCode: {row[1]} | Zeitstempel: {timestamp}\n\n"

        if description:
            embed = discord.Embed(
                title="Teamler Codes",
                description=description,
                color=discord.Color.random(),
                timestamp=datetime.now()
            )
            embed.set_footer(text=f"Seite {len(pages) + 1}")
            pages.append(embed)

    if pages:
        paginator = Paginator(pages=pages)
        message = await ctx.send(embed=pages[0])
        await paginator.start(message)
    else:
        await ctx.send("Keine Codes gefunden.")``` test mal so
limber crow
# ruby sparrow ```py @slash_command(description="Checke die Codes") async def checkcodes(self, ...

Das Embed wird gesendet, aber für panigator bekomme ich diesen error

[ERROR] Error while executing /checkcodes 
Traceback (most recent call last):
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 131, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\YT197\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 1008, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "c:\Users\YT197\Desktop\Allgemein\Dev\Python\Discord\PixelP\pixel support\cogs\code.py", line 62, in checkcodes
    await paginator.start(message)
          ^^^^^^^^^^^^^^^
AttributeError: 'Paginator' object has no attribute 'start'
ruby sparrow
#

hm

#

hast du mein code getest =

#

?

limber crow
ruby sparrow
limber crow
#

Und es werden nicht alle user aus der Datenbank geladen

ruby sparrow
#

ohje wir kenn die ab nicht

limber crow
ruby sparrow
#

send mal dein ganze code auf dm

twin slate
#
class CreateTicketButton(discord.ui.View):
     def __init__(self):
         super().__init__(timeout=None) 

     @discord.ui.button(label=“Create Ticket”, style=discord.ButtonStyle.primary, emoji=“📨”, custom_id=“create_ticket”)
     async def button_callback1(self, button, interaction):
         await interaction.response.send_message(“Such dein Ticket aus”, view=CreateTicketSelect(), ephemeral=True)      


class CreateTicketSelect(discord.ui.View):
    def __init__(self):
        super().__init__()

    @discord.ui.select(placeholder=“Test”, custom_id=“test”)
    async def ticket_select_callback(self, select, interaction):
        # Dein ticket erstell code
#

@ruby sparrow

urban glen
#

Ist das @discord auf der gleichen Höhe wie der callback?

#

Beim select?

#

Das muss gleich eingerückt sein

twin slate
#

Keine ahnung

#

Am ipad ist das schwierig zu sehen

#

Muss aber so sein

#

Sieht aber richtig aus keine ahnung

#

Und Nico, du musst die “” bei meinem code anpassen weil ich die “ vom ipad genommen habe das sind nicht die richtigen

ruby sparrow
twin slate
#

Nein das ist ein select menu keine eigene view class

#

Das select menu muss in eine eigene view class

ruby sparrow
#
AttributeError: 'Bot' object has no attribute 'get_cmd'``` ```py
f"Deaktiviere es wieder mit {self.bot.get_cmd('welcome stop')}",```
jade mantle
#

Was versucht du dort zurück zu bekommen?

ruby sparrow
#

dem commad name

#

aber es geht nicht aber ka warum

jade mantle
#

na ja der discord.Bot hat keine funktion "get_cmd"

ruby sparrow
#

aber warum

jade mantle
#

es gibt "get_command"

ruby sparrow
#

es gibt auch ein get_cmd

#

@jade mantle

jade mantle
#

du benutzt pycord oder?

ruby sparrow
#

ja und ezcord

jade mantle
#

na ja discord.Bot hat nur get_command

ruby sparrow
#

bei ezcord gibt es ein get_cmd

jade mantle
#

ah ja true, kannst du mal kurz der typ des bots printen?

ruby sparrow
#

ja warte

limber crow
#

Wie kann ich hier die Differenzt die noch übrig bleibt in der Datenbank speichern ?

@tasks.loop(seconds=10)
    async def delete_temp_codes(self):
        if self.delete_temp_codes.current_loop == 0:
            return

        async with aiosqlite.connect("data/codes.db") as db:
            async with db.execute("SELECT * FROM codes WHERE code_type = ?", ("Temp",)) as cursor:
                rows = await cursor.fetchall()

            if not rows:
                return
            channel = self.bot.get_channel(1184624589159006302)

            current_time = datetime.now()

            for row in rows:
                creation_time = datetime.fromisoformat(row[2])
                user_id = row[0]
                user = self.bot.get_user(user_id)
                code = row[1]

                time_difference = current_time - creation_time
                reaming_time = timedelta(days=7) - time_difference

                async with aiosqlite.connect("data/codes.db") as db:
                    await db.execute("UPDATE codes SET temp_time = ? WHERE user_id = ?", (reaming_time.total_seconds, user_id))
                    await db.commit()

                if reaming_time >= timedelta(days=7):
                    await db.execute("DELETE FROM codes WHERE code = ?", (row[1],))
                    await db.commit()
                    await channel.send(f"Der Temporäre Code `{code}` für {user.mention} wurde gelöscht!")
#

Möchte das dann so wie hier haben, nur das es nicht hoch sonder runter zählt

limber crow
#
async with aiosqlite.connect("data/codes.db") as db:
            await db.execute(
                """CREATE TABLE IF NOT EXISTS codes (
                    user_id INTEGER, 
                    code TEXT, 
                    timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
                    code_type TEXT DEFAULT "None",
                    temp_time TIMESTAMP
                    )""")
            await db.commit()

DB Tables

ruby sparrow
#

kann wer helfen mit ezcord db ?

ruby sparrow
#
[ERROR] Error while executing /ticketv2 
Traceback (most recent call last):
  File "C:\Users\nico\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 131, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 1009, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "c:\Users\nico\Desktop\Flexii\cogs\admin\ticketv2.py", line 72, in ticketv2
    await db.create_ticket(guild_id, staffrole_id, category_id,  0)
  File "c:\Users\nico\Desktop\Flexii\cogs\admin\ticketv2.py", line 31, in create_ticket
    await self.execute(
  File "C:\Users\nico\AppData\Local\Programs\Python\Python311\Lib\site-packages\ezcord\sql.py", line 330, in execute
    return await self.exec(sql, *args, end=end, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\nico\AppData\Local\Programs\Python\Python311\Lib\site-packages\ezcord\sql.py", line 324, in exec
    raise e
  File "C:\Users\nico\AppData\Local\Programs\Python\Python311\Lib\site-packages\ezcord\sql.py", line 321, in exec
    cursor = await db.execute(sql, args)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\nico\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 193, in execute
    cursor = await self._execute(self._conn.execute, sql, parameters)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\nico\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 132, in _execute
    return await future
           ^^^^^^^^^^^^
  File "C:\Users\nico\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 115, in run
    result = function()
             ^^^^^^^^^^
sqlite3.OperationalError: no such table: tickets``` ```py
class ticketDB(ezcord.DBHandler):
    def __init__(self):
        super().__init__("db/ticketv2.db")


    async def setup(self):
        await self.execute(
            """CREATE TABLE IF NOT EXISTS users(
            guild_id INTEGER PRIMARY KEY,
            staffrole_id INTEGER DEFAULT 0,
            category_id INTEGER DEFAULT 0,
            transcriptchannel INTEGER DEFAULT 0,
            channel_id INTEGER DEFAULT 0
            )"""
        )



    async def create_ticket(self, guild_id, user_id, category_id, channel_id):
        created_at = datetime.utcnow().isoformat()
        await self.execute(
            "INSERT INTO tickets (guild_id, user_id, category_id, channel_id, created_at) VALUES (?, ?, ?, ?, ?)",
            (guild_id, user_id, category_id, channel_id, created_at)
        )

    def close_ticket(self, channel_id):
        self.cursor.execute("UPDATE tickets SET closed = 1 WHERE channel_id = ?", (channel_id,))
        self.conn.commit()

    def get_ticket(self, channel_id):
        self.cursor.execute("SELECT * FROM tickets WHERE channel_id = ?", (channel_id,))
        return self.cursor.fetchone()


db = ticketDB()```
native plume
ruby sparrow
limber crow
#

@ruby sparrow Table Name

native plume
limber crow
native plume
#

Und du hast keinen closed Column btw

ruby sparrow
#

native plume
limber crow
ruby sparrow
#
Ignoring exception in view <CreateTicketSelect timeout=180.0 children=1> for item <Select type=<ComponentType.string_select: 3> placeholder='Make a selection you ticket' min_values=1 max_values=2 options=[<SelectOption label='suppert' value='suppert' description='suppert Beschreibung' emoji=<PartialEmoji animated=False name='🎫' id=None> default=False>, <SelectOption label='bug' value='bug' description='bug Beschreibung' emoji=<PartialEmoji animated=False name='💻' id=None> default=False>, <SelectOption label='discord server bug' value='discord server bug' description='bug Beschreibung' emoji=<PartialEmoji animated=False name='🗝️' id=None> default=False>] channel_types=[] disabled=False>:
Traceback (most recent call last):
  File "C:\Users\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 426, in _scheduled_task
    await item.callback(interaction)
  File "c:\Users\Sonne\Desktop\Flexii\cogs\admin\ticketv2.py", line 116, in ticket_select_callback
    category_id = db.create_ticket(interaction.guild.id)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: ticketDB.create_ticket() missing 1 required positional argument: 'category_id'``` ```py
category_id = db.create_ticket(interaction.guild.id)
        if category_id:
            category = discord.utils.get(interaction.guild.categories, id=category_id)
            if category:
                channel = await category.create_text_channel(name=f"{interaction.user.display_name}", overwrites=overwrites, topic=interaction.user.name)
                embed = discord.Embed(
                    title="🎫 📩 Ticket Created",
                    description="🆘 Support will 🐝 with you 🕑 shortly.",
                    color=discord.Color.green()
                )
                await channel.send(embed=embed, view=CloseTicket())
                await interaction.response.send_message(f"I've 🆕 a ticket for you 📌 at {channel.mention}", ephemeral=True)
            else:
                await interaction.response.send_message("I 🚫 find the specified category.", ephemeral=True)
        else:
            await interaction.response.send_message("Category ID not found in the database.", ephemeral=True)```
limber crow
ruby sparrow
#
await db.create_ticket(interaction.guild_id, interaction.channel_id)

TypeError: ticketDB.create_ticket() missing 1 required positional argument: 'channel_id'```
ruby sparrow
#

pls help

stoic stratus
#

db = ticketDB()
await db.create_ticket(interaction.guild_id, interaction.channel_id)
#

probier das mal in etwa so

ruby sparrow
#
  File "c:\Users\Sonne\Desktop\Flexii\cogs\admin\ticketv2.py", line 112, in ticket_select_callback
    category = discord.utils.get(interaction.guild.categories, id=int(category_id))
                                                                  ^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: 'suppert'``` ```py
category = discord.utils.get(interaction.guild.categories, id=int(category_id))```
jade mantle
#

meistens benutzt man bei der category sowieso einen namen

odd kiteBOT
#
Pycord Master-Branch

Führe den folgenden Befehl aus, um den Pycord Master-Branch zu installieren.

pip install git+https://github.com/Pycord-Development/pycord```
**Hinweis:** [Git](https://git-scm.com/downloads) muss bei dir installiert sein.
stoic stratus
#

schick uns mal dein ganzen code rein 🙂

sullen dome
#

noch immer die fehlermeldung will halt pycord runterladen bin auf python 3.11

placid trellis
#

3.11.6 oder höher oder niedriger?

sullen dome
#

niedriger

#

genau 3.11

placid trellis
#

versuch mal

pip install git+https://github.com/aio-libs/aiohttp```
sullen dome
#

selber fehlercode

placid trellis
#

nutzt du ein venv?

sullen dome
placid trellis
sullen dome
#

ja

placid trellis
#

ich setz eben ein venv aus installier alles und dann erklär ich dir das wie du das in dein venv einbaust

sullen dome
#

danke

placid trellis
#

Geh auf dein Dateimanager in dein Project und dann in venv

#

das lädst du runter dann gehst du in deinen venv auf libs -> site-packages löscht alles raus und ziehst die datein von dem ordner in dein site-packages ordner rein

#

kannst aber auch einfach den site-packages ordner löschen und den von der zip reinziehen

sullen dome
#

perfekt ich try mal

#

danke schonmal

placid trellis
#

Pycharm neustraten nicht vergessen

sullen dome
placid trellis
#

Funktionierts?

sullen dome
#

is zwar jz eine bhd frage aber habs gemacht so? muss ich jz eigt noch was machen oder? weil noch is pycord nicht drin also die commands aufjedenfall nicht peepothink

placid trellis
#

mach mal which py-cord

sullen dome
#

schon in terminal richtig? pycharm was neues so für mich also wunder dich nicht nicht das du denkst so das ich dumm bin

placid trellis
#

ja

#

aber warte

#
pip show py-cord
#

mach das

sullen dome
placid trellis
#

Du gehst in dein venv dann auf Scripts und ziehst die Datei rein

#

und lässt es überschreiben

sullen dome
placid trellis
#

shwo py-card?

#

show py-cord

#

ja gut

#

das Problem ist ein anderes

#

geh auf dein Papierkorb und hol die pip datei wieder

#

Scheint doch nicht zu funktionieren

#

Ich glaub ich kann das fixen warte

sullen dome
placid trellis
#

Jz nochmal überschreiben

#

Hab den Pfad auf dein geändert

#

Dürfte dann laufen

sullen dome
#

erzähl mal seit wann is pip ne exe?

placid trellis
#

pip ist eine Anwendung

#

genauso wie python

#

Python läuft über python.exe und pip über pip.exe

sullen dome
#

ja aber wird eigt als ne python datei angezeigt aber passt schon

placid trellis
#

pip wird nicht als python datei angezeigt

#

oder es liegt daran das ich den path geändert habe von meinem zu deinem

#

damit er die python.exe findet

#

in nem anderen venv ist die bei mir auch als python datei

#

liegt an der änderung

sullen dome
#

alles gut musst dich nicht so rechtfertigen ich trust schon

#

war nicht so ernst gemeint peeposhy

placid trellis
#

Alles gut

sullen dome
#

wenn ich pip show py-cord öffnet sich powershell normal?

placid trellis
#

Was kommt in powershell?

sullen dome
#

sicherheitswarnung

placid trellis
#

warte

#

brech ab ich teste das kurz

sullen dome
#

passt

placid trellis
#

hast du anydesk?

#

@sullen dome

sullen dome
#

haben ja

placid trellis
#

gib mal deine adresse

#

wir machen das eben anders

sullen dome
#

707 519 278

placid trellis
#

fertig

sullen dome
#

danke du bist schatz peeposhy

placid trellis
#

Gerne

#

Und viel spaß auf Tinder

#

Wer auch immer das gesagt hat

sullen dome
#

ahahahahahaha

placid trellis
sullen dome
placid trellis
#

😂

sullen dome
#

ehhh

#

willst du mitschauen?

#

bitte bitte

placid trellis
#

Alles gut

#

Muss jz schlafen gehen gleich

#

Muss morgen arbeiten

sullen dome
#

garnix is gut wenn du nicht drin bist

#

is das eigt dein freund auf dein banner

placid trellis
sullen dome
#

schade

#

egal trz danke

placid trellis
#

Gerne

sullen dome
#

wenn ich was brauch ich weiß wo ich mich melde

placid trellis
ruby sparrow
ruby sparrow
#
Hey Leute!  Ich habe gerade ein kleines Problem mit meinem Bot. Er behauptet, dass er die Kategorien nicht finden kann, obwohl die Kategorie-ID bereits in der Datenbank gespeichert ist.  Könnte mir bitte jemand helfen? Ich wäre wirklich dankbar!``` ```py
class CreateTicketSelect(discord.ui.View):
    def __init__(self):
        super().__init__()

    @discord.ui.select(
        custom_id="ticket_select",
        min_values=1,
        max_values=1,
        placeholder="Select a category for your ticket",
        options=options,
    )
    async def ticket_select_callback(self, select, interaction):
        category_name = select.values[0]
        category = discord.utils.get(interaction.guild.categories, name=category_name)
        
        if category:
            guild_id = interaction.guild.id
            category_id = category.id
            channel_id = None 
            await db.create_ticket(guild_id, category_id, channel_id)

            overwrites = {
                interaction.guild.default_role: discord.PermissionOverwrite(view_channel=False),
                interaction.user: discord.PermissionOverwrite(view_channel=True, read_message_history=True, send_messages=True),
                interaction.guild.me: discord.PermissionOverwrite(view_channel=True, read_message_history=True, send_messages=True),
            }

            channel = await category.create_text_channel(name=f"{interaction.user.display_name}", overwrites=overwrites, topic=interaction.user.name)
            embed = discord.Embed(
                title="Ticket Created",
                description="Support will be with you shortly.",
                color=discord.Color.green()
            )
            await channel.send(embed=embed, view=CloseTicket())
            await interaction.response.send_message(f"I've opened a ticket for you at {channel.mention}", ephemeral=True)
        else:
            await interaction.response.send_message("I :no_entry_sign: find the specified category.", ephemeral=True)```
ruby sparrow
#
Ignoring exception in view <CreateTicket timeout=None children=1> for item <Button style=<ButtonStyle.primary: 1> url=None disabled=False label='Create Ticket' emoji=<PartialEmoji animated=False name='📨' id=None> row=None>:
Traceback (most recent call last):
  File "C:\Users\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 426, in _scheduled_task
    await item.callback(interaction)
  File "c:\Users\Sonne\Desktop\Flexii\cogs\admin\ticketv2.py", line 86, in button_callback1
    await db.create_ticket()
          ^^^^^^^^^^^^^^^^^^
TypeError: ticketDB.create_ticket() missing 3 required positional arguments: 'guild_id', 'category_id', and 'channel_id'
PS C:\Users\Sonne\Desktop\Flexii> & C:/Users/Sonne/AppData/Local/Programs/Python/Python311/python.exe c:/Users/Sonne/Desktop/Flexii/flexii.py
>>
[COG] Loaded 6 cogs
[COG] Loaded 4 cogs
[COG] Loaded 3 cogs
[COG] Loaded 2 cogs
[COG] Loaded 1 cog
[COG] Loaded 1 cog
[INFO] Bot is online with EzCord 0.5.3
╭─────────────┬─────────────────────┬────────────────────────┬──────────┬────────┬─────────╮
│ Bot         │ ID                  │ Pycord                 │ Commands │ Guilds │ Latency │
│─────────────┼─────────────────────┼────────────────────────┼──────────┼────────┼─────────│
│ Flexii#8818 │ 1170449421796900925 │ 2.4.1.dev249+g845f7c7d │ 21       │ 2      │ 119ms   │
╰─────────────┴─────────────────────┴────────────────────────┴──────────┴────────┴─────────╯
Ignoring exception in view <CreateTicket timeout=None children=1> for item <Button style=<ButtonStyle.primary: 1> url=None disabled=False label='Create Ticket' emoji=<PartialEmoji animated=False name='📨' id=None> row=None>:
Traceback (most recent call last):
  File "C:\Users\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 426, in _scheduled_task
    await item.callback(interaction)
  File "c:\Users\Sonne\Desktop\Flexii\cogs\admin\ticketv2.py", line 89, in button_callback1
    await db.create_ticket(guild_id, category_id, channel_id)
  File "c:\Users\Sonne\Desktop\Flexii\cogs\admin\ticketv2.py", line 28, in create_ticket
    await self.execute(
  File "C:\Users\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\ezcord\sql.py", line 330, in execute
    return await self.exec(sql, *args, end=end, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\ezcord\sql.py", line 324, in exec
    raise e
  File "C:\Users\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\ezcord\sql.py", line 321, in exec
    cursor = await db.execute(sql, args)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 193, in execute
    cursor = await self._execute(self._conn.execute, sql, parameters)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 132, in _execute
    return await future
           ^^^^^^^^^^^^
  File "C:\Users\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 115, in run
    result = function()
             ^^^^^^^^^^
sqlite3.IntegrityError: UNIQUE constraint failed: Tickets.guild_id```
vivid sky
#

ok

limber crow
#

Wieso wird hier der code nicht in der datenbank gespeichert und wieso wird claimed nicht zu true in der datenbank ?

if select_option == "1":
            await check_teamler_code(ctx)
            role_id = 1163282025483087884
            role_supporter = discord.utils.get(ctx.guild.roles, id=role_id)

            if not role_supporter in ctx.user.roles:
                return await ctx.response.send_message("Du bist kein Supporter", ephemeral=True)
            
            async with aiosqlite.connect("data/tickets.db") as db:
                async with db.execute("SELECT * FROM codes WHERE user_id = ?", (ctx.user.id,)) as cursor:
                    row = await cursor.fetchone()

            code = row[0]

            async with aiosqlite.connect("data/tickets.db") as db:
                async with db.execute("UPDATE tickets SET claimed = ?, teamler_id = ? WHERE user_id = ?", ('true', code , ctx.user.id)):
                    await db.commit()
            
            category = discord.utils.get(ctx.guild.categories, id=1209097569871986718)
            teamlerID = ctx.user.id

            for user in role_supporter.members:
                if user.id == teamlerID:
                    continue

                user_member = ctx.guild.get_member(user.id)
                await ctx.channel.set_permissions(user_member, read_messages=True, send_messages=False, view_channel=True)


            em = discord.Embed(color=discord.Color.green())
            file = discord.File("img/Ticket_Beansprucht.png", filename="Ticket_Beansprucht.png")
            em.set_image(url="attachment://Ticket_Beansprucht.png")

            embed = discord.Embed(
            title="![CHECK_CHECK_1](https://cdn.discordapp.com/emojis/1209151838902026291.webp?size=128 "CHECK_CHECK_1") | Ticket Beansprucht",
            description=f"Dein Anliegen wird nun von {ctx.user.mention} bearbeitet. Bitte sei höflich und respektvoll zu dem Team Mitglied!",
            color=discord.Color.green(),
            timestamp=datetime.now()
            )
            embed.set_footer(text=f"{ctx.guild.name}", icon_url=self.bot.user.avatar.url)

            await ctx.response.send_message(embeds=[em, embed], file=file)
            await ctx.channel.edit(category=category)
digital crypt
#

@limber crow
Es scheint, dass es möglicherweise ein Problem mit Ihrer SQL UPDATE-Anweisung gibt. Hier sind ein paar Punkte, die Sie überprüfen sollten:

  1. Falscher Tabellenname: Sie wählen aus der Tabelle mit dem Namen codes aus, versuchen jedoch, die Tabelle mit dem Namen tickets zu aktualisieren. Stellen Sie sicher, dass Sie die richtige Tabelle aktualisieren.

    async with db.execute("UPDATE codes SET claimed = ?, teamler_id = ? WHERE user_id = ?", ('true', code , ctx.user.id)):
    
  2. Reihenfolge der Platzhalter: Die Reihenfolge der Platzhalter in der UPDATE-Anweisung sollte mit der Reihenfolge der Werte im Tupel übereinstimmen. Stellen Sie sicher, dass die Reihenfolge korrekt ist.

    async with db.execute("UPDATE codes SET claimed = ?, teamler_id = ? WHERE user_id = ?", ('true', code, ctx.user.id)):
    
  3. Verwendung von String 'true' anstelle von Boolean True: Wenn Ihre 'claimed'-Spalte in der Datenbank vom Typ Boolean ist, sollten Sie True (boolean) anstelle des Strings 'true' verwenden.

    async with db.execute("UPDATE codes SET claimed = ?, teamler_id = ? WHERE user_id = ?", (True, code, ctx.user.id)):
    
limber crow
digital crypt
#
   async with db.execute("SELECT * FROM codes WHERE user_id = ?", (ctx.user.id,)) as cursor:
       row = await cursor.fetchone()

   if row is None:
       # Code nicht gefunden oder andere Fehlerbehandlung
       return
code = row[0]  # Überprüfen Sie, ob dies den erwarteten Wert enthält
async with db.execute("UPDATE codes SET claimed = ?, teamler_id = ? WHERE user_id = ?", (True, code, ctx.user.id)):
    await db.commit()
lucid furnace
#
  1. KI antwort?
limber crow
digital crypt
#

Oak y

#

Dann Kuck timos Tutorial

limber crow
placid trellis
#

Errors?

thick haven
#

Kann ich eiegntlich auch bei einer Interaction warten wie bei await ctx.defer()?

placid trellis
#

interaction.response.defer()

limber crow
placid trellis
#

und dann await interaction.followup.send(...)

placid trellis
placid trellis
limber crow
placid trellis
#

Falls was nicht passen sollte

#

und

limber crow
placid trellis
#

Was ist code?

limber crow
# placid trellis Was ist code?
await check_teamler_code(ctx)
            role_id = 1163282025483087884
            role_supporter = ctx.guild.get_role(role_id)

            if not role_supporter in ctx.user.roles:
                return await ctx.response.send_message("Du bist kein Supporter", ephemeral=True)
            
            async with aiosqlite.connect("data/tickets.db") as db:
                async with db.execute("SELECT * FROM codes WHERE user_id = ?", (ctx.user.id,)) as cursor:
                    row = await cursor.fetchone()

            code = row[1]

            async with aiosqlite.connect("data/tickets.db") as db:
                async with db.execute("UPDATE OR ABORT tickets SET claimed = ?, teamler_id = ? WHERE user_id = ?", (True, code , ctx.user.id)):
                    await db.commit()

placid trellis
#

okay

limber crow
limber crow
placid trellis
#

was returned check_teamer_code?

#

du übergibst den code ja nicht in die funktion

limber crow
placid trellis
limber crow
placid trellis
#

UPDATE OR ABORT tickets SET claimed = ? WHERE user_id = ? mach das mal als test in die query

limber crow
placid trellis
lucid furnace
#

was ist der untershied zwischen discord.User und discord.Member

elfin rampart
#

Member ist auf einem Server, und User ist alles, glaube ich, kann mich aber auch irren

jade mantle
lucid furnace
#

achso ok

jade mantle
#

musst halt mal in den docs schauen aber discord.Member hat einige mehr attributen und mehr methoden

native helm
ruby sparrow
#

was geht nicht

lucid furnace
#

und du kannst nicht eif error senden ohne irgendwelche erklärung

jade mantle
#

na ja, es ist ganz klar die setup() funktion in einem willkommens cog

#

aber ich versteh nicht ganz wieso das .add_cog awaited werden sollte

lucid furnace
#

nein discord.ext.commands.errors.ExtensionFailed: Extension 'events.willkommen' raised an error: TypeError: object NoneType can't be used in 'await' expression

jade mantle
#

na ja aber der obere teil meine ich

#
  bot.add_cog(Welcome(bot))
RuntimeWarning: Enable tracemalloc to get the object allocation traceback```
lucid furnace
#

das zeigt der immer bei solchen errors an oder nicht

jade mantle
#

ne das hängt eig zsm glaube ich

lucid furnace
#

naja mein gehirn geht grade nd

jade mantle
#

ja doch müsste eig

ruby sparrow
#
Ignoring exception in view <CreateTicket timeout=None children=1> for item <Button style=<ButtonStyle.primary: 1> url=None disabled=False label='Create ticket' emoji=<PartialEmoji animated=False name='📩' id=None> row=None>:
Traceback (most recent call last):
  File "C:\Users\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 426, in _scheduled_task
    await item.callback(interaction)
  File "c:\Users\Sonne\Documents\Flexii\cogs\admin\ticketv2.py", line 74, in create_ticket
    category_id = await db.get_category(interaction.guild.id)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Users\Sonne\Documents\Flexii\cogs\admin\ticketv2.py", line 36, in get_category
    return cursor[0]
           ~~~~~~^^^
TypeError: 'Cursor' object is not subscriptable``` ```py
async def get_category(self, server_id):
        cursor = await self.execute("SELECT category_id FROM ticket WHERE server_id = ?", (server_id,))
        if cursor:
            return cursor[0] 
        else:
            return None```
lucid furnace
#

so sollte es gehen

ruby sparrow
#
Ignoring exception in view <CreateTicket timeout=None children=1> for item <Button style=<ButtonStyle.primary: 1> url=None disabled=False label='Create ticket' emoji=<PartialEmoji animated=False name='📩' id=None> row=None>:
Traceback (most recent call last):
  File "C:\Users\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 426, in _scheduled_task
    await item.callback(interaction)
  File "c:\Users\Sonne\Documents\Flexii\cogs\admin\ticketv2.py", line 75, in create_ticket
    category_id = await db.get_category(interaction.guild.id)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Users\Sonne\Documents\Flexii\cogs\admin\ticketv2.py", line 35, in get_category
    row = await cursor.fetchone()
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\cursor.py", line 65, in fetchone
    return await self._execute(self._cursor.fetchone)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Sonne\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\Sonne\AppData\Local\Programs\Python\Python311\Lib\site-packages\aiosqlite\core.py", line 125, in _execute
    raise ValueError("Connection closed")
ValueError: Connection closed``` ```class CreateTicket(discord.ui.View):
    def __init__(self):
        super().__init__(timeout=None)

    @discord.ui.button(label="Create ticket", style=discord.ButtonStyle.blurple, emoji=":envelope_with_arrow:", custom_id="Create_ticket")
    async def create_ticket(self, button, interaction):
        category_id = await db.get_category(interaction.guild.id)

        if category_id:
            category = discord.utils.get(interaction.guild.categories, id=category_id)

            if category:
                overwrites = {
                    interaction.guild.default_role: discord.PermissionOverwrite(view_channel=False),
                    interaction.user: discord.PermissionOverwrite(view_channel=True, read_message_history=True, send_messages=True),
                    interaction.guild.me: discord.PermissionOverwrite(view_channel=True, read_message_history=True, send_messages=True),
                }
                channel = await category.create_text_channel(name=f"{interaction.user.display_name}", overwrites=overwrites, topic=interaction.user.name)
                embed = discord.Embed(
                    title="Ticket Created",
                    description="Support will be with you shortly.",
                    color=discord.Color.green()
                )
                await channel.send(embed=embed, view=CloseTicket())
                await interaction.response.send_message(f"I've opened a ticket for you at {channel.mention}", ephemeral=True)
                return

        await interaction.response.send_message("The category ID is not set in the database or the specified category doesn't exist.", ephemeral=True)```
novel ore
#

@lucid furnace

lucid furnace
lucid furnace
novel ore
lucid furnace
#

hmm

#

welche python version und ezcord version

ruby sparrow
novel ore
jade mantle
#

also mit besondere die i18n

solid ingot
#

82 😳

jade mantle
#

nahe genug imo

novel ore
lucid furnace
lucid furnace
tawdry leaf
lucid furnace
#

ja aber i18n

#

das weiss ich ja

jade mantle
#

ach so dort weiss ich nicht, aber ich nehme an das timo für alles 3.9+ will

ruby sparrow
lucid furnace
ruby sparrow
#

kann wer kein live machen

lucid furnace
#

wie meinst

ruby sparrow
#

bin da

thick haven
#

Ich bekomem diesen Error: aber ich kan das ned fixen

| Failed to Load wemx.py
\ [ERROR] Extension 'cogs.wemx' raised an error: ImportError: cannot import name 'orders_dropwdown' from partially initialized module 'components.dropdowns' (most likely due to a circular import) (c:\Users\jurek\Documents\Development\Python\DC Bots\Xenority\Xenority-Main-Pycord-V2-WemX\components\dropdowns.py)

buttons.py:

import discord
from datetime import datetime

from utils.funcs import check_connection, get_user_id, api_request, get_config, check_admin

from components.dropdowns import wemx_address_dropdown, wemx_orders_filters
from components.embeds import wemx_main_update

from discord.ui import View

modals.py

import discord
from datetime import datetime

from utils.funcs import get_user_id, api_request, get_config
from components.embeds import update_wemx_address_embed

paginators.py

import discord

from utils.funcs import get_config

from components.dropdowns import orders_dropwdown

dropdowns.py

import discord
import re

from utils.funcs import get_user_id, api_request, get_config

from components.modals import wemx_address_modal
from components.paginators import PaginationView
tawdry leaf
thick haven
tawdry leaf
#

Hm

#

Selber Error dann hast du es nicht korrigiert 😅

thick haven
# tawdry leaf Selber Error dann hast du es nicht korrigiert 😅

doch schau
\ [ERROR] Extension 'cogs.wemx' raised an error: ImportError: cannot import name 'orders_dropdown' from partially initialized module 'components.dropdowns' (most likely due to a circular import) (c:\Users\jurek\Documents\Development\Python\DC Bots\Xenority\Xenority-Main-Pycord-V2-WemX\components\dropdowns.py)