#Allgemeine Hilfe

1 messages · Page 93 of 1

rocky scroll
#

Ich hatte eine andere Klasse drin die mit chatgpt geschrieben war, ich lösche sie und schon funktioniert alles bru

frosty nexus
#

servus ich habe seit 2 tagen das problem das ich mich nicht mehr in meine dashboard einloggen kann, die Datenbank wird auch nicht aktualisiert.
Hatt da jemand evt. eine lösung für mich?


import uuid
from datetime import datetime, timedelta

import ezcord


class DashboardDB(ezcord.DBHandler):
    def __init__(self):
        super().__init__("dashboard.db")

    async def setup(self):
        await self.exec(
            """CREATE TABLE IF NOT EXISTS sessions (
            session_id TEXT UNIQUE,
            token TEXT,
            refresh_token TEXT,
            token_expires_at TIMESTAMP,
            user_id INTEGER PRIMARY KEY
            )"""
        )

    async def add_session(self, token, refresh_token, expires_in, user_id):
        session_id = str(uuid.uuid4())
        expires = datetime.now() + timedelta(seconds=expires_in)

        await self.exec(
            """INSERT OR REPLACE INTO sessions (session_id, token, refresh_token, token_expires_at, user_id)
            VALUES (?, ?, ?, ?, ?)""",
            (session_id, token, refresh_token, expires, user_id),
        )
        return session_id

    async def get_session(self, session_id):
        return await self.one(
            "SELECT token, refresh_token, token_expires_at FROM sessions WHERE session_id = ?",
            session_id,
            detect_types=1,
        )

    async def get_user_id(self, session_id):
        return await self.one("SELECT user_id FROM sessions WHERE session_id=?", session_id)

    async def update_session(self, session_id, token, refresh_token, token_expires_at):
        await self.exec(
            "UPDATE sessions SET token = ?, refresh_token = ?, token_expires_at = ? WHERE session_id = ?",
            (token, refresh_token, token_expires_at, session_id),
            detect_types=1,
        )

    async def delete_session(self, session_id):
        await self.exec("DELETE FROM sessions WHERE session_id = ?", session_id)


class FeatureDB(ezcord.DBHandler):
    def __init__(self):
        super().__init__("dashboard.db")

    async def setup(self):
        await self.exec(
            """CREATE TABLE IF NOT EXISTS settings (
            guild_id INTEGER PRIMARY KEY,
            example_feature INTEGER DEFAULT 0
            )"""
        )

    async def get_setting(self, guild_id, feature):
        return await self.one(f"SELECT {feature} FROM settings WHERE guild_id=?", guild_id)

    async def toggle_setting(self, guild_id, feature):
        await self.exec("INSERT OR IGNORE INTO settings (guild_id) VALUES (?)", guild_id)
        await self.exec(
            f"UPDATE settings SET {feature} = NOT {feature} WHERE guild_id = ?", guild_id
        )


db = DashboardDB()
feature_db = FeatureDB()```
#

API:py



from datetime import datetime, timedelta

import aiohttp
from fastapi import HTTPException

from .database import db

API_ENDPOINT = "https://discord.com/api"


class DiscordAuth:
    client_id: str
    client_secret: str
    redirect_uri: str
    session: aiohttp.ClientSession | None

    def __init__(self, client_id, client_secret, redirect_uri):
        self.client_id = client_id
        self.client_secret = client_secret
        self.redirect_uri = redirect_uri

        self.auth = aiohttp.BasicAuth(str(client_id), client_secret)

    async def setup(self):
        self.session = aiohttp.ClientSession()

    async def close(self):
        await self.session.close()

    async def get_user(self, token):
        headers = {"Authorization": f"Bearer {token}"}
        async with self.session.get(API_ENDPOINT + "/users/@me", headers=headers) as response:
            return await response.json()

    async def get_guilds(self, token):
        headers = {"Authorization": f"Bearer {token}"}
        async with self.session.get(
            API_ENDPOINT + "/users/@me/guilds", headers=headers
        ) as response:
            if response.status == 429:
                raise HTTPException(status_code=429)
            return await response.json()

    async def get_token_response(self, data):
        response = await self.session.post(API_ENDPOINT + "/oauth2/token", data=data)
        json_response = await response.json()

        access_token = json_response.get("access_token")
        refresh_token = json_response.get("refresh_token")
        expires_in = json_response.get("expires_in")

        if not access_token or not refresh_token:
            return None

        return access_token, refresh_token, expires_in

    async def revoke_token(self, token):
        async with self.session.post(
            API_ENDPOINT + "/oauth2/token/revoke",
            headers={"Content-Type": "application/x-www-form-urlencoded"},
            data={"token": token},
            auth=self.auth,
        ) as response:
            response.raise_for_status()

    async def reload(self, session_id, refresh_token):
        data = {
            "client_id": self.client_id,
            "client_secret": self.client_secret,
            "grant_type": "refresh_token",
            "refresh_token": refresh_token,
        }
        response = await self.get_token_response(data)
        if not response:
            return False

        new_token, new_refresh_token, expires_in = response
        expire_dt = datetime.now() + timedelta(seconds=expires_in)

        await db.update_session(session_id, new_token, new_refresh_token, expire_dt)
        return True```
urban glen
#

warum ist das hier offen?

rigid sluice
#

Sehr toller Token

barren breach
#

Da ist kein Token drine haha

rigid sluice
barren breach
#

Scheiße

#

Ups

barren breach
rigid sluice
#

Sowas gehört auch nicht in eine Python Datei

barren breach
#

Hab den Token wohl 2 mal im code

barren breach
rigid sluice
fierce dove
#

Vielleicht hilft dir das

barren breach
#

Naja ich verstehe nicht so ganz warum ich wait_until_ready nutzen soll Weil Das System Funktoniert jaa Aber wenn ich den bot beispiel Neu starte Sendet der alle Vorhanden votes 1 mal und dann die neuen votes

#

bei spiel ich vote z.B 1 mal
dann ich starte bot neu dann sendet er den Alten vote und dann den neuen vote

#

das bild von #📊・votes war nur als beispiel

rigid sluice
#

einfach direkt darunter

ruby sparrow
#
 punishment_str = ", ".join(punishment) if punishment else ezcord.t("value")
#
[ERROR] Error while executing /anti hopping 
Traceback (most recent call last):
  File "C:\Users\Ang_E\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 138, in wrapped
    ret = await coro(arg)
  File "C:\Users\Ang_E\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 1078, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "c:\Users\Ang_E\Desktop\Botify\cogs\Moderation\antiraid.py", line 182, in hopping
    punishment_str = ", ".join(punishment) if punishment else ezcord.t("value")
TypeError: t() missing 1 required positional argument: 'key'´```
clever parrot
rigid sluice
ruby sparrow
#

hab halt nix verändert

rigid sluice
#

Anscheinend hat es sich verändert

clever parrot
#

Sonst wär ja der Error nicht da

ruby sparrow
clever parrot
#

Komisch

ruby sparrow
#

Ja es wegen

#

ja hab nix verändert

#

@clever parrot

fossil vortex
#

Wie kann ich die slowmode zeit bekommen mit der embed template von ezcord?

slowmode = discord.Embed(
    title="![slowmode](https://cdn.discordapp.com/emojis/1308542747816493187.webp?size=128 "slowmode") You are on Cooldown",
    description=f"You can not use this command right now. You can use this command: {??ezcord.cooldown_duration??}", #..can use this command in: <in X seconds>
    color=discord.Color.embed_background()
)
ezcord.set_embed_templates(cooldown_embed=slowmode)
odd kiteBOT
clever parrot
fossil vortex
clever parrot
#

Weiß nicht, wer noch an der Library beteiligt ist

fossil vortex
ruby sparrow
ruby sparrow
odd kiteBOT
fossil vortex
rigid sluice
ruby sparrow
clever parrot
ruby sparrow
solid ingot
dawn galleon
#

benutzt ihr alle ezcord?

#

ist das die neue meta

solid ingot
#

steht sogar in der Error Meldung @ruby sparrow

solid ingot
dawn galleon
#

benutze immernoch discord.py

ruby sparrow
solid ingot
ruby sparrow
#

hm

solid ingot
dawn galleon
#

hm bleibe lieber bei nur discord.py denke dann kommt chat gpt nicht so aus der verfassung und ist verwirrt

rigid sluice
ruby sparrow
#

@dawn galleon

dawn galleon
#

Mein Vater heute so zu mir weil ich zu ihm gesagt habe welcher noob hat die Website programmiert hat er zu mir gesagt wenn du es schaffst die nach zu machen kriegst du 50€, habe dann das konzept der website nach gemacht mit ChatGPT aber keine 50€ bekommen weil ich hatte die Grafiken nicht

dawn galleon
dawn galleon
#

kann mir jemand bei mongodb helfen

#

mein password hat ein ? im namen und wenn ich dann mongodb+srv://wollenils:<db_password>@kaschmir.5rbrz.mongodb.net/ in vsc eingebe kriege ich ein error weil ich ja ?im password habe

#

nvm

#

habe jetzt den error
(db_password is not my real password)


from pymongo.mongo_client import MongoClient
from pymongo.server_api import ServerApi

uri = "mongodb+srv://wollenils:<db_password>@kaschmir.5rbrz.mongodb.net/?retryWrites=true&w=majority&appName=kaschmir"

# Create a new client and connect to the server
client = MongoClient(uri, server_api=ServerApi('1'))

# Send a ping to confirm a successful connection
try:
    client.admin.command('ping')
    print("Pinged your deployment. You successfully connected to MongoDB!")
except Exception as e:
    print(e)

Error:

SSL handshake failed: kaschmir-shard-00-01.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002),SSL handshake failed: kaschmir-shard-00-02.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002),SSL handshake failed: kaschmir-shard-00-00.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002), Timeout: 30s, Topology Description: <TopologyDescription id: 673daca3f2feb774ff6b20f4, topology_type: ReplicaSetNoPrimary, servers: [<ServerDescription ('kaschmir-shard-00-00.5rbrz.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('SSL handshake failed: kaschmir-shard-00-00.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002)')>, <ServerDescription ('kaschmir-shard-00-01.5rbrz.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('SSL handshake failed: kaschmir-shard-00-01.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002)')>, <ServerDescription ('kaschmir-shard-00-02.5rbrz.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('SSL handshake failed: kaschmir-shard-00-02.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002)')>]>```
#

liegt as dem password weil mein password ein ? hat

dawn galleon
#

und die anderen 70%

dawn galleon
ruby sparrow
dawn galleon
#

wie prüfe ich das

ruby sparrow
dawn galleon
dawn galleon
#

kommt immernoch der error
SSL handshake failed: kaschmir-shard-00-00.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002) (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms),SSL handshake failed: kaschmir-shard-00-02.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002) (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms),SSL handshake failed: kaschmir-shard-00-01.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002) (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms), Timeout: 30s, Topology Description: <TopologyDescription id: 673daf32642b9916b0210d3c, topology_type: ReplicaSetNoPrimary, servers: [<ServerDescription ('kaschmir-shard-00-00.5rbrz.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('SSL handshake failed: kaschmir-shard-00-00.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002) (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms)')>, <ServerDescription ('kaschmir-shard-00-01.5rbrz.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('SSL handshake failed: kaschmir-shard-00-01.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002) (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms)')>, <ServerDescription ('kaschmir-shard-00-02.5rbrz.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('SSL handshake failed: kaschmir-shard-00-02.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002) (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms)')>]>

ruby sparrow
#

und pip install certifi

dawn galleon
dawn galleon
ruby sparrow
#

und

dawn galleon
#

warte

#

er macht gerade nix

ruby sparrow
#

ohje

dawn galleon
#

ich galube er probiert sich zu connecten aber geht net

#
SSL handshake failed: kaschmir-shard-00-02.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002) (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms),SSL handshake failed: kaschmir-shard-00-01.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002) (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms),SSL handshake failed: kaschmir-shard-00-00.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002) (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms), Timeout: 30s, Topology Description: <TopologyDescription id: 673db0501929f045aeb0b026, topology_type: ReplicaSetNoPrimary, servers: [<ServerDescription ('kaschmir-shard-00-00.5rbrz.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('SSL handshake failed: kaschmir-shard-00-00.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002) (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms)')>, <ServerDescription ('kaschmir-shard-00-01.5rbrz.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('SSL handshake failed: kaschmir-shard-00-01.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002) (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms)')>, <ServerDescription ('kaschmir-shard-00-02.5rbrz.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('SSL handshake failed: kaschmir-shard-00-02.5rbrz.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1002) (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms)')>]>```
dawn galleon
ruby sparrow
dawn galleon
#
from pymongo.mongo_client import MongoClient
from pymongo.server_api import ServerApi
import certifi
import logging

# Debug-Logs aktivieren
logging.basicConfig(level=logging.DEBUG)

# MongoDB-URI (ersetze mit deinen echten Zugangsdaten)
uri = "mongodb+srv://wollenils:[email protected]/?retryWrites=true&w=majority&appName=kaschmir"

# Client erstellen mit TLS-Optionen
client = MongoClient(
    uri,
    server_api=ServerApi('1'),  # API-Version 1 verwenden
    tlsCAFile=certifi.where(),  # Zertifikat bereitstellen
    connectTimeoutMS=20000,     # Timeout für Verbindungen (in Millisekunden)
    socketTimeoutMS=20000,      # Timeout für Sockets (in Millisekunden)
    serverSelectionTimeoutMS=30000  # Timeout für die Serverauswahl
)

# Verbindung testen
try:
    client.admin.command('ping')
    print("Ping erfolgreich! Verbindung zu MongoDB hergestellt.")
except Exception as e:
    print("Fehler beim Verbinden mit MongoDB:")
    print(e)
#

das ist der code jetzt

ruby sparrow
dawn galleon
#

@solid ingot ich weiß ich darf nicht pingen aber kannst du mal helfen.

dawn galleon
#

kann jemand helfen probiere jetzt mongodb per vsc connection zu machen aber das geht auch nicht

frosty nexus
rigid sluice
dawn galleon
dawn galleon
#

Ping mich einfach

rigid sluice
#

@dawn galleon

dawn galleon
rigid sluice
#

Könntest du "py* beim Codeblock mit hinzufügen?

#

Ich sehe sonst nicht was ein Kommentar und was Code it

dawn galleon
#

Wenn ich zuhause bin

dawn galleon
rigid sluice
dawn galleon
#

`?

rigid sluice
#

Wofür brauchst du das?

dawn galleon
#

ja keine ahnung

#

beides geht nicht

rigid sluice
#

Das ist nichtmal im Beispiel drinnen

dawn galleon
tawdry leaf
barren breach
#

Also hab Folgendes proplem:

1. Der bot hat sich jetzt aufgehangen und läd ganze zeit den command obwohl der bot online ist.
2. Der bot findet den song sendet das in einem embed zurück und joined den voice channel wenn #1 nicht auf taucht.
3. Obwohl der bot Den channel joined spielt er keine audio ab woran kann es liegen?
barren breach
# barren breach
lavalink.server.io.SocketServer          : Connection closed from /176.198.185.12:52091 with id eydm2onj0l86t4pq -- CloseStatus[code=1006, reason=]
misty smelt
vast cradle
#

ne frage

#

ich hab nen command mit cooldown

#

wie kann ich dafür sogen das der cooldown bleibt bei botneustarts

ruby sparrow
vast cradle
#

wie kann man das

#

und vorallem wie krieg ich das aus der db raus das er weiter macht

rigid sluice
#

Sowas hab ich mich auch schon gefragt

vast cradle
#

wie hole ich mir den channel type für announcement channel?#

#

error: subprocess-exited-with-error

× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [23 lines of output]
running egg_info
creating /tmp/pip-pip-egg-info-nq0_5_w2/psycopg2.egg-info
writing /tmp/pip-pip-egg-info-nq0_5_w2/psycopg2.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-pip-egg-info-nq0_5_w2/psycopg2.egg-info/dependency_links.txt
writing top-level names to /tmp/pip-pip-egg-info-nq0_5_w2/psycopg2.egg-info/top_level.txt
writing manifest file '/tmp/pip-pip-egg-info-nq0_5_w2/psycopg2.egg-info/SOURCES.txt'

  Error: pg_config executable not found.
  
  pg_config is required to build psycopg2 from source.  Please add the directory
  containing pg_config to the $PATH or specify the full executable path with the
  option:
  
      python setup.py build_ext --pg-config /path/to/pg_config build ...
  
  or with the pg_config option in 'setup.cfg'.
  
  If you prefer to avoid building psycopg2 from source, please install the PyPI
  'psycopg2-binary' package instead.
  
  For further information please check the 'doc/src/install.rst' file (also at
  <https://www.psycopg.org/docs/install.html>).
  
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

#

ääääääääh was hat pip für nen problem?

#

ok er mag psycopg2 net

#

warum?

misty smelt
tawdry leaf
barren breach
tawdry leaf
barren breach
#

Hab lavalink server

#

Es funktioniert mit wavelink aber es ist nur discord.py und lavalink ist für py-Cord

#

Und lavalink macht faksen

#

Also im code

ruby sparrow
#
ERROR] Error in Modal VcSettingsModal (cogs.Moderation.antiraid)
Traceback (most recent call last):
  File "C:\Users\Ang_E\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\modal.py", line 341, in dispatch
    await value.callback(interaction)
  File "c:\Users\Ang_E\Desktop\Botify\cogs\Moderation\antiraid.py", line 404, in callback
    await interaction.response.edit_message(embed=embed, view=self)
  File "C:\Users\Ang_E\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\i18n.py", line 269, in wrapper
    return await edit_func(self, **kwargs)
  File "C:\Users\Ang_E\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\interactions.py", line 1125, in edit_message
    await self._locked_response(
  File "C:\Users\Ang_E\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\interactions.py", line 1292, in _locked_response
    await coro
  File "C:\Users\Ang_E\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\webhook\async_.py", line 224, in request
    raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In data.components.0.components.0: Value of field "type" must be one of (2, 3, 5, 6, 7, 8).
In data.components.1.components.0: Value of field "type" must be one of (2, 3, 5, 6, 7, 8).```
#
class VcSettingsModal(discord.ui.Modal):
    def __init__(self):
        super().__init__(
            discord.ui.InputText(
                label="label6",
                placeholder="placeholder4",
            ),
            discord.ui.InputText(
                label="label7",
                placeholder="placeholder5",
            ),
            title="vctitle",
        )

    async def callback(self, interaction):
        try:
            value1 = int(self.children[0].value)
            value2 = int(self.children[1].value)
            await db.add_vc_spam(value1, value2)
            embed = discord.Embed(
                title="title",
                description="description",
                color=0x00FF00
            )
            await interaction.response.edit_message(embed=embed, view=self)
        except ValueError:
            await ezcord.error(interaction, "wronge_time", ephemeral=True)
tawdry leaf
fierce dove
#

Jo

barren breach
tawdry leaf
#

barren breach
#

wie kann ich es den sonnst machen ich sitze den ganzen tag heute schon dran und immer noch nit hinbekommen 😦

cloud cedar
#

Ich kann auf einem Server einladen drücken und bekomme eine "Geschafft [Gehe zu: Server]" Erfolgsnachricht.
Danach ist er aber nicht auf dem Server :(

tawdry leaf
#

bist wohl auf der blacklist vom bot

cloud cedar
#

Das ist mein Bot 💀

tawdry leaf
#

dann hast du dich selber auf die blacklist gesetzt

cloud cedar
#

Er schickt auch keine Bot ist auf den Server geschlittert nachricht

tawdry leaf
tawdry leaf
#

musst die 3 intents unten anmachen

cloud cedar
#

probier ich mal

#

geht immernoch nicht

#

habs sogar vom handy aus probiert und auf verschiedene server, geht alles nicht

barren breach
#
import discord
import os
import sys
import asyncio
import time
import ezcord




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

bot = ezcord.Bot(
    intents = intents,
    language="de",
)
bot.start_time = time.time()






@bot.event
async def on_ready():
    target_server_count = 25  # Startziel
    while True
        # Aktuelle Serveranzahl abrufen
        server_count = len(bot.guilds)
        total_members = sum(guild.member_count for guild in bot.guilds)

        # Die Progressionslogik: 25, 50, 75, 100
        if server_count >= 100:
            target_server_count = 100
        elif server_count >= 75:
            target_server_count = 75
        elif server_count >= 50:
            target_server_count = 50
        elif server_count >= 25:
            target_server_count = 25

        # Präsenz im Format '2/25', '25/50', etc. anzeigen
        activity_text = f'🥰{server_count}/{target_server_count} Server'

        await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.playing, name="/help • Dynamo Bot"))
        await asyncio.sleep(30)
        await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.listening, name=activity_text))
        await asyncio.sleep(30)
        await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.listening, name=f"👥{total_members} Users"))
        await asyncio.sleep(30)
        await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.playing, name=f"🍭 Here to enjoy."))
        await asyncio.sleep(30)







if __name__ == "__main__":
    bot.load_cogs(subdirectories=True)
    
    bot.run()
#

Der aktuallesiert sich nicht automatisch

#

der zählt war den server count aber den target_server_count nicht

#

okay war mein fehler hab vergessen was hinzufügen mit dem hochzählen

tawdry leaf
barren breach
rigid sluice
#

Das ist alles beim on_ready event

barren breach
barren breach
rigid sluice
#

Das on_ready Event wird kaum ausgelöst

barren breach
barren breach
barren breach
barren breach
rigid sluice
#

alright

barren breach
#

ich meinte mit dem music system habe ich propleme und mein kollege soll mir mal damit helfen

#

ich raste gleich aus das drecks Music System wirklich drecks lavalink es kann nicht sein im code sehe ich kein fehler und im lavalink server auch nicht WTF warum spielt der hund keine Music ab

rigid sluice
barren breach
#

hab nur soundcloud aktiviert

#
py
lavalink:
    plugins: null
    server:
        address: 0.0.0.0
        bufferDurationMs: 400
        filters:
            channelMix: true
            distortion: true
            equalizer: true
            karaoke: true
            lowPass: true
            rotation: true
            timescale: true
            tremolo: true
            vibrato: true
            volume: true
        frameBufferDurationMs: 5000
        gc-warnings: true
        nonAllocatingFrameBuffer: false
        opusEncodingQuality: 10
        password: youshallnotpass
        playerUpdateInterval: 5
        port: 34233
        resamplingQuality: LOW
        soundcloudSearchEnabled: true
        sources:
            bandcamp: true
            http: true
            local: false
            nico: true
            soundcloud: true
            twitch: true
            vimeo: true
            youtube: true
        trackStuckThresholdMs: 10000
        useSeekGhosting: true
        youtubePlaylistLoadLimit: 6
        youtubeSearchEnabled: true
logging:
    file:
        path: ./logs/
    level:
        lavalink: INFO
        root: INFO
    logback:
        rollingpolicy:
            max-file-size: 1GB
            max-history: 30
    request:
        enabled: true
        includeClientInfo: true
        includeHeaders: false
        includePayload: true
        includeQueryString: true
        maxPayloadLength: 10000
metrics:
    prometheus:
        enabled: false
        endpoint: /metrics
plugins: null
sentry:
    dsn: ""
    environment: ""
server:
    address: 0.0.0.0
    http2:
        enabled: true
    port: 34233
rigid sluice
barren breach
#

das sind unwichtige daten

rigid sluice
#

Eine IP mit Port und Passwort zu schicken kann bald echt zu vielen Problemen führen

barren breach
thick haven
#

Uii gratis ips danke

rigid sluice
barren breach
rigid sluice
#

Es geht ums Prinzip

barren breach
#

jaa okay die können mit der ip port und passwoert nix anpassen hahaha

thick haven
barren breach
#

der server liegt in Frankfurt über 900 kilometer von mir

thick haven
#

aber er conenct zu deinem bot

barren breach
thick haven
barren breach
#

okay

#

danke

barren breach
#

das proplem habe ich immer mit lavalink wenn ich wavelink nutze(geht nur für discord.py) dann spielt er plötzlich ab

rigid sluice
#

Nö, ich erstelle keine Musik Bots

barren breach
#

Jaa und die die das wissen wollen nit helfen super

barren breach
#

darf ich das benutze?

fierce dove
#

ist öffentlich

#

pip install ezlink

barren breach
#

danke

fierce dove
#

ist wavelink aber nur in py-cord

#

es kommen aber keine updates

barren breach
#

Lavalink server brauch ich trotzdem?

fierce dove
#

ja

barren breach
#

okay ich werde das mal versuchen danke dir

fierce dove
#

uff

#

code

barren breach
#
[ERROR] Error while executing /play 
Traceback (most recent call last):
  File "C:\Users\disco\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\commands\core.py", line 138, in wrapped
    ret = await coro(arg)
  File "C:\Users\disco\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\commands\core.py", line 1078, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "c:\Users\disco\Desktop\Dynamo - Kopie\cogs\commands\music.py", line 102, in play
    if not await self.ensure_voice(ctx):
  File "c:\Users\disco\Desktop\Dynamo - Kopie\cogs\commands\music.py", line 54, in ensure_voice
    player = node.get_player(ctx.guild) or await wavelink.Player.connect(ctx.author.voice.channel, reconnect=True)
  File "C:\Users\disco\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\wavelink\player.py", line 722, in connect
    if self.channel is MISSING:
AttributeError: 'VoiceChannel' object has no attribute 'channel'
barren breach
#

jetzt funktoniert der command aber das system nicht Ich lach darüber nur

fierce dove
#

Warum wavelink

tawdry leaf
barren breach
# fierce dove Warum wavelink

das ist automatisch gekommen wo ich ezlink genutzt habe um den fehler zu fixen habe ich copilot gefragt und der meinte das ich wavelink nutzen soll

tawdry leaf
#

bei slash cmmands nimmt man nicht discord.Interaction sondern discord.ApplicationContext

barren breach
#

ah cool mein copilot ist am aarch

barren breach
#

endlich kann ich music abspielen

barren breach
#
@slash_command(name="play", description="Spielt Musik ab")
    async def play(self, ctx, query: str):
            if not ctx.voice_client:
                if ctx.user.voice:
                    await ctx.user.voice.channel.connect(cls=mafic.Player)
                else:
                    return await ctx.response.send_message("Du musst in einem Sprachkanal sein!")

            player = ctx.voice_client
            tracks = await player.fetch_tracks(query)

            if not tracks:
                return await ctx.response.send_message("Keine Ergebnisse gefunden!")

            track = tracks[0]
            await player.play(track)
            await ctx.response.send_message(f"Spiele nun: {track.title}")
rigid sluice
#

Defer mal dein Command

#

await ctx.defer()

barren breach
#

für was ist diese defer()?

rigid sluice
#

Bei slash command muss man innerhalb von 3 Sekunden eine Nachricht schicken

#

Danach bekommt man einen Fehler

barren breach
#

await ctx.respond hat auch funktoniert 😄

rigid sluice
#

Das wollte ich gerade schreiben ;3

#

Mit Defer hat man 15 Minuten Zeit eine Nachricht zu schicken

barren breach
#

ah okay perfekt kuss

barren breach
rigid sluice
#

Mhm, erstmal ctx.response.send_message zu ctx.respond überall ändern

barren breach
#

danke sollte funktonieren und jetzt geht das hosting nit

#
py-cord
ezcord
asyncpraw
psutil
PyNaCl
mafic
#

No module named 'pkg_resources'

#

aber das gibt es nicht

tawdry leaf
barren breach
tawdry leaf
#

ka kenne des package nd

barren breach
#

hab mal chatgpt gefragt

barren breach
# tawdry leaf ka kenne des package nd
Der Fehler No module named 'pkg_resources' tritt normalerweise auf, wenn setuptools nicht installiert ist, da pkg_resources Teil des setuptools-Pakets ist. Um das Problem zu beheben, kannst du setuptools installieren oder aktualisieren, indem du folgenden Befehl ausführst:
ruby sparrow
vast cradle
#
[ERROR] Error in event on_message 
Traceback (most recent call last):
  File "/home/leon/PycharmProjects/Cosmo-Bot/.venv/lib/python3.11/site-packages/discord/client.py", line 442, in _run_event
    await coro(*args, **kwargs)
  File "/home/leon/PycharmProjects/Cosmo-Bot/cogs/Serversettings.py", line 63, in on_message
    await message.publish()
  File "/home/leon/PycharmProjects/Cosmo-Bot/.venv/lib/python3.11/site-packages/discord/message.py", line 1664, in publish
    await self._state.http.publish_message(self.channel.id, self.id)
  File "/home/leon/PycharmProjects/Cosmo-Bot/.venv/lib/python3.11/site-packages/discord/http.py", line 368, in request
    raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access
Verbindung mit Datenbank wurde Hergestellt
[ERROR] Error in event on_message 
Traceback (most recent call last):
  File "/home/leon/PycharmProjects/Cosmo-Bot/.venv/lib/python3.11/site-packages/discord/client.py", line 442, in _run_event
    await coro(*args, **kwargs)
  File "/home/leon/PycharmProjects/Cosmo-Bot/cogs/Serversettings.py", line 55, in on_message
    await cur.execute(f"SELECT announce_set FROM`{DB_SERVER_SETTINGS_NAME}` WHERE guild_id = %s",message.guild.id)
                                                                                                 ^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'id'```
#

was ist es dann

#

ausserdem soll er auch nur auf announcement channel reaieren

#

kann ich irgendwie das irgendwie festlegen?

#
    @commands.Cog.listener()
    async def on_message(self,message):
        async with connect() as (con, cur):
            await cur.execute(f"SELECT announce_set FROM`{DB_SERVER_SETTINGS_NAME}` WHERE guild_id = %s",message.guild.id)
            activity_status = await cur.fetchone()
            activity_status_now = activity_status[0]
            if message.guild.id == None:
                return
            if activity_status_now == 0:
                return
            if activity_status_now == 1:
                await message.publish()```
rigid sluice
vast cradle
#

Alle

flat zenith
#

immer wenn ich versuche minecraft trial zu installieren kommt das. hab schon auf ganz vielen technik servern nachgefragt aber niemand antwortet ihr seit meine letzte Hoffnung peepokay

#

was ist da los?

flat zenith
#

lol auch hier antwortet keiner was los heute

ruby sparrow
#

Lol

#

Java😭

flat zenith
#

was

flat zenith
ruby sparrow
#

Ka von mc

flat zenith
ruby sparrow
cloud cedar
barren breach
barren breach
#

hab dafür 15 und 1 x 20 bezahlt haha

twilit anvil
cloud cedar
barren breach
flat zenith
# cloud cedar Minecraft kaufen

Erstens mein Pc ist so schlecht ich weiß nichtmal ob das da läuft deswegen wollte ich es ja testen. Zweitens gebe ich doch keine 30€ für son spiel aus

cloud cedar
#

Ich hab locker 2000 Stunden und insgesamt 60€ ausgegeben

flat zenith
cloud cedar
#

Kannst du ja machen

#

Damals hätte ich dich geschlagen dafür

#

Aber jetzt sind die ja bei microsoft

flat zenith
cloud cedar
#

Also egal

tawdry leaf
hard pivot
#

Hallo ich habe das problem das in diesen code immer das else ausgeführt wird und dann alles gefetcht wird

async def check_sticky_message(
            guild_id: int, 
            channel_id: int = None, 
            message_id: int = None
        ):

        check = None

        db_connect = await DatabaseSetup.db_connector()
        cursor = await db_connect.cursor()

        query = "SELECT * FROM StickyMessage WHERE guildId = %s"
        values = [guild_id]

        if channel_id is not None:
            query += " AND channelId = %s"
            values.append(channel_id)
            check = True
            
        if message_id is not None:
            query += " AND messageId = %s"
            values.append(message_id)
            check = True

        await cursor.execute(query, values)
        print(check)
        sticky_message = await cursor.fetchone() if check == True else await cursor.fetchall()

        await DatabaseSetup.db_close(cursor=cursor, db_connection=db_connect)
            
        return sticky_message

Die funktion an sich wird einmal aufgerufen aber es wird 3 mal was geprintet 2mal stimmts und einmal ist es dann None (vermutung wegen async aber bin mir nicht sicher) hat wer Ideen zum fixen?

odd kiteBOT
#

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

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Inhalt 📚
Heute schauen wir uns eine interessante Grundlage an, die zu wenige Leute in Python wissen. Objektgleichheit kann ein relativ kompliziertes Thema werden, das erkläre ich heute so einfach wie möglich :)

Timestamps 🕑
0:00 | Einführung
0:53 | Gleichheit und Identi...

▶ Play video
hard pivot
#

Das ist ja auch das komische es wird einmal aufgerufen und läuft 4mal durch

tawdry leaf
#

dann hast es es bestimmt 4 mal gestartet xD

hard pivot
#
True
None
hard pivot
# tawdry leaf dann hast es es bestimmt 4 mal gestartet xD
class OverwriteChannelSelect(discord.ui.View):

    def __init__(self):
        super().__init__(timeout=None)

    @discord.ui.channel_select(
        placeholder="Wähle einen channel",
        max_values=1,
        min_values=1,
        custom_id="overwrite_channel_sticky_message",
        channel_types=[discord.ChannelType.text])
    async def overwrite_channel_select(self, select, interaction:discord.Interaction):
        
        channel = await DatabaseCheck.check_sticky_message(guild_id = interaction.guild.id, channel_id = select.values[0].id)

        if channel is not None:
            
            emb = discord.Embed(description=f"""""", color=bot_colour)
            await interaction.response.send_message(embed=emb, view=None, ephemeral=True)

        else:

            embed_text = interaction.message.embeds[0].description
            channel_id = PaginatorView.check_lines(text=embed_text)

            sticky_message = await DatabaseCheck.check_sticky_message(guild_id = interaction.guild.id, channel_id = channel_id)
            print(sticky_message)
            emb = discord.Embed(description=f"""""", color=bot_colour)
            await interaction.response.send_message(embed=emb, view=None, ephemeral=None)

            paginator_embed = await StickyMessage.update_paginator(guild_id=interaction.guild.id)

            if paginator_embed != []:

                await interaction.followup.edit_message(embed=paginator_embed[self.current_page], message_id=interaction.message.id)

            await DatabaseUpdates.manage_sticky_message(guild_id = interaction.guild.id, channel_id_new = select.values[0].id, channel_id = channel_id, operation = "update")
#

so hier wird es aufgerufen

hard pivot
#

und eine idee?

tawdry leaf
#

Muss man sich erstmal zu recht finden

urban glen
#

mal ganz doof gefragt, wie schafft mab es, das bei einem veridizierten bot die meist genutzten commands dort gelisted werden???

misty smelt
#

meinst du die unter member since?

urban glen
urban glen
misty smelt
#

ich denke discord muss erstmal daten sammeln und dann analysieren

#

wie alt ist dein bot?

#

also wann hast du ihn auf den ersten server gepackt. weißt du das noch?

urban glen
#

3.8.23

#

sorry das ich jzt erst antworte bin auf arbeit🥲

#

also @misty smelt
3.8.23 war der bot aufm ersten server
die verifizierung war ca. im April oder Mai dieses Jahr

dawn galleon
#

also

#

habe eine aufgabe und die ist das ich die score von dem gestorben speiler aus printen lassen muss
(console.log(score)) aber weiß nicht wie ich die score finden soll

cloud cedar
dawn galleon
#

muss die finden

#

😭

cloud cedar
#

Magst du mal deinen code schicken

dawn galleon
cloud cedar
#

hätte ne lösung

dawn galleon
#

hau raus

#

@cloud cedar lass mich nicht alleine 😭

cloud cedar
#

Hör auf mit js

#

Wahre sigmas benutzen Java

dawn galleon
#

Nicht meine Frage

cloud cedar
#

Aber deine Antwort.

vast cradle
#
/AMP/python-app-runner/venv/lib/python3.11/site-packages/grequests.py:22: MonkeyPatchWarning: Monkey-patching ssl after ssl has already been imported may lead to errors, including RecursionError on Python 3.6. It may also silently lead to incorrect behaviour on Python 3.7. Please monkey-patch earlier. See https://github.com/gevent/gevent/issues/1016. Modules that had direct imports (NOT patched): ['httpcore._async.connection_pool (/AMP/python-app-runner/venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py)', 'aiohttp.client_reqrep (/AMP/python-app-runner/venv/lib/python3.11/site-packages/aiohttp/client_reqrep.py)', 'urllib3.util (/AMP/python-app-runner/venv/lib/python3.11/site-packages/urllib3/util/__init__.py)', 'aiohttp.client_exceptions (/AMP/python-app-runner/venv/lib/python3.11/site-packages/aiohttp/client_exceptions.py)', 'httpcore._async.http11 (/AMP/python-app-runner/venv/lib/python3.11/site-packages/httpcore/_async/http11.py)', 'httpcore._async.http_proxy (/AMP/python-app-runner/venv/lib/python3.11/site-packages/httpcore/_async/http_proxy.py)', 'httpcore._sync.http2 (/AMP/python-app-runner/venv/lib/python3.11/site-packages/httpcore/_sync/http2.py)', 'httpcore._sync.connection (/AMP/python-app-runner/venv/lib/python3.11/site-packages/httpcore/_sync/connection.py)', 'httpcore._async.connection (/AMP/python-app-runner/venv/lib/python3.11/site-packages/httpcore/_async/connection.py)', 'httpcore._backends.sync (/AMP/python-app-runner/venv/lib/python3.11/site-packages/httpcore/_backends/sync.py)', 'httpcore._async.http2 (/AMP/python-app-runner/venv/lib/python3.11/site-packages/httpcore/_async/http2.py)', 'httpcore._sync.connection_pool (/AMP/python-app-runner/venv/lib/python3.11/site-packages/httpcore/_sync/connection_pool.py)', 'httpcore._backends.base (/AMP/python-app-runner/venv/lib/python3.11/site-packages/httpcore/_backends/base.py)', 'httpcore._sync.http11 (/AMP/python-app-runner/venv/lib/python3.11/site-packages/httpcore/_sync/http11.py)', 'httpcore._sync.http_proxy (/AMP/python-app-runner/venv/lib/python3.11/site-packages/httpcore/_sync/http_proxy.py)', 'httpcore._backends.auto (/AMP/python-app-runner/venv/lib/python3.11/site-packages/httpcore/_backends/auto.py)', 'aiohttp.connector (/AMP/python-app-runner/venv/lib/python3.11/site-packages/aiohttp/connector.py)', 'urllib3.util.ssl_ (/AMP/python-app-runner/venv/lib/python3.11/site-packages/urllib3/util/ssl_.py)']. 
  curious_george.patch_all(thread=False, select=False)

19:14:49

Eco Table Created
Verbindung mit Datenbank wurde Hergestellt
/AMP/python-app-runner/venv/lib/python3.11/site-packages/aiomysql/cursors.py:239: Warning: Table 'economy' already exists
  await self._query(query)```
#

den fehler hab ich nur im amp panel

#

hat da jemand ne idee?

barren breach
# vast cradle hat da jemand ne idee?

also laut der console gibt es bereits eine Tabele mit dem namen economy: entweder versucht der code mehrmals die Tabele zu erstellen
falls die Datenbank nicht viele daten hat versuch die datenbank zulöschen

vast cradle
#

also monkey-patching

#

das andere ist so weil ich keine lösung dafür hab das vernümpftig zu machen#

#

weil im befeehl ist schohn drinn wenn nicht exestiert

#

aber mysql ist da etwas zu dumm

barren breach
# vast cradle aber mysql ist da etwas zu dumm

oh ich glaub verstehe nicht richtig aber habe noch nie propleme mit der sqlite3 datenbank gehabt
gibt auch viele verschidene möglichkeiten ob die datenbank auf einem seperaten server oder auf dem bot server läuft hab z.B
meine Datenbank etwas umprogramiert also ich nicht alleine sondern mit hilfe meines Reallive freundes und habe es viel schneller gemacht als die datenbank sonnst funktoniert

Kenne mich mit dem AMP panal nicht aus

barren breach
#

Kenne mich damit nicht aus sorry

warm spindle
#

self.start_time = datetime.utcnow()

        now = datetime.utcnow()
        uptime = now - self.start_time
        uptime_seconds = int(uptime.total_seconds())

        return f"<t:{uptime_seconds}:R>"```


Ich bin gerade am verzweifeln. Was mache ich falsch ? Output ist 54 Jahre also 1970...
rigid sluice
#

Die ganzen Systeme fangen bei 1970 an zu zählen

warm spindle
rigid sluice
#

Die aktuelle Uhrzeit wäre datetime.now und nicht datetime.utcnow

urban glen
warm spindle
urban glen
#

ja ein moment

#

kannst du mir mal den genauen response und den vollen code umfang davon schicken?

warm spindle
#

Sekunde

urban glen
#

bin auf arbeit deshalb bild aber bei mir klappts

#

print war auch 3 sekunden

rigid sluice
#

Ich hatte es völlig vergessen, dass utcnow zu now geändert wurde

urban glen
#

👀

urban glen
#

oder irre ich mich gerad

#

@warm spindle schickste?

warm spindle
urban glen
#

😂😂😂😂

#

passiert mal

#

aber gut das du das problem gefunden hast🔥

warm spindle
#

Das hast du nämlich nicht gemacht. Daher ging es bei dir hahaha

#

Aber danke für die Hilfe HeartHands

urban glen
#

ahhh true
ja aber ich habe es auch ohne discord gemacht, hätte also den kompletten response da gehabt

#

weil es ja ned von discord formatiert worden wär xD

warm spindle
#

Jup haha

urban glen
#

war kurz davor das auch in discord einf zu machen und dann seh ich das problem

#

war aber no jk zu faul😂😂

#

ich hoffe aber du hast nen converter und nicht das es im embed in sekunden angezeigt wird👀

warm spindle
vast cradle
#

ich frage jezt erstmal alle tables ab

#

und schaue ob der name in der liste ist jenn ja kommt ne meldung das sie gefunden wurde

vast cradle
#

schreibe einen advendskalender

#

äääääääääh

#

joar lustig

urban glen
#

wrm so kompliziert💀
ich hab selber zwar noch keinen erstellt aber erstellt doch eine loop funktion die dann das datum checkt und dann halt je nach dem welches datum ist, was ausführt xD

#

nen code je nach reward und checks von max max 150 linien

#

dann kann man ja noch per DB checken ob ein user es bereits claimed hat oder ned ect und das sind 5 linien so ein check also ez af

vast cradle
#

Due datenbank soll dafür sein das sich niemand doppelt den Gewinn holt

#

und das du dir nachträglich die Gewinne holen kanmst

#

Wenn du z.b ab 5 vrrgeesen hast zu holen kannst du es am 6 nachträglich tun

#

Da in der datenbank dies als offen steht

#

Das geht bis zum 25.1.25

#

Ab dem 25.12 um 00:00kannnst du dich nicht mehr eintragen

cloud cedar
#

wie kann ich hier auch den context übergeben?



class ChannelSelect(discord.ui.View):
    def __init__(self, bot, ctx):
        self.bot = bot
        self.ctx = ctx
        super().__init__(timeout=None)


    options = [

    ]

    for channel in ctx.guild.channels...

das geht nich

vast cradle
#

ctx: discord.Context glaube ixh

cloud cedar
#

beim hovern über ctx.guild.channels steht ctx is not defined

vast cradle
#

discord.ApplicationContext

#

Wars sorry

#

Ist doch pycord oder?

#

Aber wieso ctx in einer class übergeben

cloud cedar
#

will alle voice channels

#

aus der guild

#
class ChannelSelect(discord.ui.View):
    def __init__(self, bot, ctx: discord.ApplicationContext):
        self.bot = bot
        self.ctx = ctx
        super().__init__(timeout=None)


    options = [

    ]

    for channel in ctx.guild.channels:
        if(channel.type == discord.ChannelType.voice):
            options.append(discord.SelectOption(label = channel.name, description="From this server"))

geht immernoch nicht :((((((((((((

#

doppelkinn

vast cradle
#

Ich übergebe sowas nur über die Funltionen

cloud cedar
#

wie macht man das

vast cradle
#

Du willst eine select option also ein auswahl menü richtig?

cloud cedar
#

habs gefixt

#

doch nicht

#

bruh

cloud cedar
#

Wie checke ich, ob es eine category mit dem namen "TEST SIGMA" auf der guild gibt?

solid ingot
#

mit utils.get zum beispiel

cloud cedar
solid ingot
#

für jeden member checken ob es ein bot ist zum beispiel

#

also member.bot

tawdry leaf
fierce dove
#

Boahr

tawdry leaf
cloud cedar
tawdry leaf
cloud cedar
tawdry leaf
#

hm witzig

vast cradle
#

die schlimmsten Programmierarbeiten sind die die immer nur monoton sind

#

und immer 80 mal das selbe schreiben

urban glen
#

soll ich dir das mal alles fertig machen wie ich das meine? (ich arbeite allerdings mit MongoDB)

vast cradle
#

naja man kann das jedes mal nur einmal ausführen

#

und man soll auch nachträglich einzelne sachen holen können

#

vieleicht verschieb ichs doch aufs nächte jahr

#

dann kann ich mir mehr gedanken machen

#

ich weiß nicht mal was ich rein machen soll

cloud cedar
vast cradle
#

Macge ich nzr seltend

#

Schreibe fast alles selbst

twilit anvil
cloud cedar
cloud cedar
#

Wie checke ich jeden Member in einem Voice channel

#

also for

#

hat sich ereutert

#

if len(channel_obj.members) == 0:
await channel_obj.delete()

Das hier löscht auch den Kanal, wenn ein User drin ist

solid ingot
cloud cedar
#

@kind depot



    @commands.Cog.listener()
    async def on_voice_channel_status_update(self, channel, before, after):

        with open("channels_to_track.json", "r") as file:
            channels_to_track = json.load(file)

        if channel.id in channels_to_track:
            if len(after.voice_states)  == 0:
                await channel.delete()
                channels_to_track.remove(channel.id)


        with open("channels_to_track.json", "w") as datei:
            json.dump(channels_to_track, datei)

das geht nicht :(

kind depot
#

hmm gibt es irgendwelche fehler oder soo?

cloud cedar
kind depot
#

hmmm

#
@commands.Cog.listener()
async def on_voice_channel_status_update(self, channel, before, after):
    if len(channel.voice_states) == 0:
        with open("channels_to_track.json", "r") as file:
            channels_to_track = json.load(file)

        if channel.id in channels_to_track:
            await channel.delete()
            channels_to_track.remove(channel.id)

            with open("channels_to_track.json", "w") as datei:
                json.dump(channels_to_track, datei)

probier mal soo

#

ka ob das geht habe es einfach nur auf schnell gemacht

tawdry leaf
odd kiteBOT
#

Hier geht es zum Video 👻

kind depot
cloud cedar
kind depot
#

kommen errors oder soo?

cloud cedar
#

immernoch nicht

kind depot
#

hmm

tawdry leaf
#

😂

fierce dove
#

wie kan n ich emend fields einfügen in der yaml übersetzung

help:
embed:
title: "Hey, ich bin Botify! 👋🏼"
description: "Entdecke spannende Minispiele, nützliche Features wie Level System oder Server Settings\n

  -# Wähle eine Kategorie, um mehr zu erfahren, oder passe alles mit {settings_cmd} nach deinen Wünschen an!"
ruby sparrow
fierce dove
ruby sparrow
#

nein

ruby sparrow
#

so

tawdry leaf
#

JUNGE WAS BIN ICH SEHEND

fierce dove
#

Mh

tawdry leaf
fierce dove
#

Ne

tawdry leaf
#

manno

tawdry leaf
#

geb einf auf

fierce dove
#

Ok

tawdry leaf
storm seal
barren breach
#

eine dume frage: kann man das da oben auch aus machen man nit sieht wer den command ausgelässt hat?

cloud cedar
cloud cedar
barren breach
cloud cedar
#

solltest du
ist grandios

fierce dove
#

obwohl ich kein premium habe wird das nicht ausgeführt

import discord
import aiohttp
import ezcord
import os

from dotenv import load_dotenv
from utils.db import PremiumUserDB
from datetime import datetime
from discord.ext import commands

load_dotenv()

DISCORD_API_BASE_URL = "https://discord.com/api/v10/"
BOT_TOKEN = os.getenv("TOKEN")
SKU_ID = os.getenv("SKU_ID")
application_id = os.getenv("CLIENT_ID")



# Datenbankinstanz
db = PremiumUserDB()


async def check_entitlements(ctx, user_id: int):
    """
    Überprüft die Entitlements eines Benutzers über die Discord-API und lokale DB.
    Sendet eine Nachricht an den Benutzer, falls er kein Premium hat.

    Args:
        user_id (int): Die ID des Benutzers.

    Returns:
        bool: True, wenn der Benutzer Premium hat, sonst False.
    """
    # Zuerst lokale Datenbank überprüfen
    premium_users = await db.get_custom_premium_user_ids()
    premium_user_ids = [user['user_id'] for user in premium_users]

    if user_id in premium_user_ids:
        return True

    # Wenn nicht in der Datenbank, Discord-Entitlements prüfen
    url = f"https://discord.com/api/v10/applications/{application_id}/skus"
    headers = {
        "Authorization": f"Bot {BOT_TOKEN}"
    }
    params = {
        "sku_id": SKU_ID  # SKU-ID ist fest hinterlegt
    }

    async with aiohttp.ClientSession() as session:
        async with session.get(url, headers=headers, params=params) as response:
            if response.status == 200:
                data = await response.json()
                if len(data) > 0:  # Benutzer hat Premium
                    await db.add_premium_user(user_id, None)  # Premium-Benutzer lokal speichern
                    return True
                else:  # Benutzer hat kein Premium
                    embed = discord.Embed(
                        description="Du benötigst Botify Premium",
                        color=discord.Color.red()
                    )
                    embed.add_field(name="Preis", value="2,99 $", inline=False)
                    await ctx.respond(embed=embed, ephemeral=True)
                    return False
            else:
                print(f"Fehler: {response.status} - {await response.text()}")
                return False
#
import discord

from discord.ext import commands
from discord import slash_command
from utils.extensions.entitlements import check_entitlements

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

    @slash_command(name="test", description="Testet die Entitlements")
    async def test(self, ctx):
        await check_entitlements(ctx, ctx.author.id)
        await ctx.send("Test erfolgreich")

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

es wird test erfolgreich gesendet obwohl mein 2 account kein premium hat

rigid sluice
fierce dove
#

wie meinst

rigid sluice
#

Bei API's gibt es ein get und ein post als option

fierce dove
#

glaube GET

silk pier
#
from discord.ext import commands

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

    @commands.Cog.listener()
    async def on_message(self, message):
        """Hört auf Nachrichten, in denen der Bot erwähnt wird und antwortet mit dem aktuellen Prefix."""
        if message.author == self.bot.user:
            return

        if self.bot.user.mentioned_in(message):
            prefix = await self.bot.get_prefix(message)
            embed = discord.Embed(
                title="Aktuelles Bot Prefix",
                description=f"Der aktuelle Prefix für diesen Server ist `{prefix}`.",
                color=discord.Color.blue()
            )
            await message.channel.send(embed=embed)

        if not message.content.startswith(await self.bot.get_prefix(message)):
            await self.bot.process_commands(message)

    @commands.command(name="userinfo")
    async def userinfo(self, ctx, member: discord.Member = None):
        """Zeigt Informationen über einen Benutzer."""
        member = member or ctx.author
        embed = discord.Embed(
            title="Benutzerinfo",
            description=f"Informationen über {member.mention}",
            color=discord.Color.blue()
        )
        embed.add_field(name="Name", value=member.name, inline=True)
        embed.add_field(name="ID", value=member.id, inline=True)
        embed.add_field(name="Beigetreten", value=member.joined_at.strftime("%d.%m.%Y"), inline=False)
        embed.set_thumbnail(url=member.avatar.url if member.avatar else member.default_avatar.url)
        await ctx.send(embed=embed)

async def setup(bot):
    await bot.add_cog(Utility(bot))``` was ist hieran falsch? habe exackt die selbe setup funktion bei den anderen cogs
barren breach
silk pier
rigid sluice
silk pier
barren breach
cloud cedar
#

on_member_remove wird doch auch gecalled, wenn jemand gekickt wird oder nicht

hard pivot
#

Yo weiß einer warum mein server damit zu gespammt wird? ich hab den bot nicht mal auf meinen server

#

In jeden chanel ist das drinen, aber ich hab nicht mal nen bot der den namen hat

rigid sluice
#

Du musst in den Optionen vom Server es für "External apps" deaktivieren

rigid sluice
#

ehm

rigid sluice
hard pivot
cloud cedar
rigid sluice
#

Du kannst alles auf jeden Server schicken

tawdry leaf
#

bzw guild_install

cloud cedar
#

Sex

tawdry leaf
#

als bot 😄

tawdry leaf
cloud cedar
tawdry leaf
#

dachte der mit mutter ist auch deiner

twilit anvil
#

Das war sein Nickname hier

#

Resu's Mutter

tawdry leaf
#

aso

#

hässliches pb

cloud cedar
#

Lucky stinkt

tawdry leaf
#

ne war duschen 🙂

urban glen
silk pier
#

habs gefixxt

indigo sleet
#

kann ich es so macht:

bewertung config add machen und wie geht das

indigo sleet
#

egal

cloud cedar
#

Wie benutz ich pip zum deinstallieren bei cookie hosting? da kann ich nicht in die konsole tippern

rigid sluice
cloud cedar
twilit anvil
dawn galleon
#

bekomme es nicht hin meine flask mit meiner css zu verbinden, hier die index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Moon AI</title>
    <link rel="stylesheet" href="styles.css" type="text/css">
</head>
<body>
    <div class="chat-container">
        <h1>Moon AI Chat</h1>
        <div id="chatbox">
            
        </div>
        <form id="chatForm">
            <input type="text" id="userInput" placeholder="Type your message..." autocomplete="off" required>
            <button type="submit">Send</button>
        </form>
    </div>
    <script src="{{ url_for('static', filename='script.css') }}"></script>
</body>
</html>
odd kiteBOT
#
Pycord Master-Branch

Füge die folgende Zeile zu deiner requirements.txt-Datei hinzu, um den Pycord Master-Branch zu installieren.

py-cord @ git+https://github.com/Pycord-Development/pycord```
#
Ezcord Master-Branch

Füge die folgende Zeile zu deiner requirements.txt-Datei hinzu, um den Ezcord Master-Branch zu installieren.

ezcord @ git+https://github.com/tibue99/ezcord```
twilit anvil
barren breach
#

obwohl kein ticket da ist

#

und eine kleine frage wie Custom kann man ezcords help command machen?

ruby sparrow
odd kiteBOT
#

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

Links aus diesem Video
EzCord Docs ► https://ezcord.readthedocs.io/
EzCord GitHub ► https://github.com/tibue99/ezcord

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

PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https:...

▶ Play video
barren breach
ruby sparrow
#

@barren breach da

tawdry leaf
#

was ist denn hier los

ruby sparrow
tawdry leaf
tawdry leaf
ruby sparrow
tawdry leaf
ruby sparrow
#

mir egal

ruby sparrow
#
rank_str = codeblock(ctx.t("bot_rank"))```
#

wieso zeig es so an

barren breach
#

Hast zu viele Zeichen glaube ich

ruby sparrow
#

es ist codeblock von ezcord

barren breach
#

Hab oben eine Cog als help und wollte das 1 zu 1 auf ezcord umbauen ich versteh nicht wieso der help nicht geht von ezcord mit dem all commands hab das aus dem Code hier gelöscht weil der bot sonnst nit mehr startet
Und zu dem weiß ich nit wie man da die Buttons hinzufügen soll


embed = discord.Embed(
    title="Hey, ich bin der Booty Bot ",
    description="Dynamo ist ein leistungsstarker Bot, habe viele Funktionen und bin immer bereit, dir zu helfen! Wähle eine Kategorie aus, um mehr zu erfahren!",

    
    color=discord.Color.red()

)

embed.set_footer(text=f"©Dynamo | Insgesamte Commands: ")
embed.set_thumbnail(url=f"https://cdn.discordapp.com/avatars/1183600303476572251/ad3e7a9bbb9aa0f7dcfbf26ed8b7b0ae.png?size=1024")
embed.set_image(url='https://media.discordapp.net/attachments/1304491253693546537/1308263060426985472/standard.gif?ex=67506c2b&is=674f1aab&hm=a58e0eafd902e65f59844bebf5a2a1983c0cdb113bf2b2021bd8a733cb8d0fb3&')

bot.add_help_command(style=ezcord.HelpStyle.codeblocks_inline,embed=embed,show_categories=False)
ruby sparrow
barren breach
ruby sparrow
ruby sparrow
kind depot
fierce dove
#
[ERROR] Error while executing /test
Traceback (most recent call last):
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python312-32\Lib\site-packages\discord\commands\core.py", line 138, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python312-32\Lib\site-packages\discord\commands\core.py", line 1078, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Users\Schüler\Documents\Botify\cogs\Utility\test.py", line 13, in test
    await check_entitlements(self.bot, ctx.author.id)
  File "C:\Users\Schüler\Documents\Botify\utils\extensions\entitlements.py", line 34, in check_entitlements
    async for entitlement in user.entitlements(skus=[discord.Object(id=str(sku_id))]):
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python312-32\Lib\site-packages\discord\iterators.py", line 126, in __anext__
    return await self.next()
           ^^^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python312-32\Lib\site-packages\discord\iterators.py", line 1008, in next
    await self.fill_entitlements()
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python312-32\Lib\site-packages\discord\iterators.py", line 1028, in fill_entitlements
    data = await self._retrieve_entitlements(self.retrieve)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python312-32\Lib\site-packages\discord\iterators.py", line 1048, in _retrieve_entitlements_before_strategy
    data = await self.get_entitlements(
                 ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python312-32\Lib\site-packages\discord\http.py", line 2936, in list_entitlements
    params["sku_ids"] = ",".join(sku_ids)
                        ^^^^^^^^^^^^^^^^^
TypeError: sequence item 0: expected str instance, int found
import discord
import os

# SKU_ID wird aus der Umgebungsvariable gelesen, standardmäßig None, falls sie nicht gesetzt ist
sku_id = os.getenv("SKU_ID")

async def check_entitlements(bot, user_id: int, ctx=None) -> bool:
    """
    Überprüft, ob ein Benutzer eine bestimmte SKU erworben hat.

    Args:
        bot: Die Bot-Instanz.
        user_id (int): Die Discord-Benutzer-ID.
        ctx (optional): Der Kontext für Nachrichten (optional).

    Returns:
        bool: True, wenn der Benutzer die Berechtigung hat, False andernfalls.
    """
    # Wenn keine SKU-ID definiert ist, gibt eine Warnung aus und bricht ab
    if not sku_id:
        print("Keine SKU_ID definiert. Bitte setzen Sie die Umgebungsvariable SKU_ID.")
        if ctx:
            embed = discord.Embed(
                title="Interner Fehler",
                description="Der Premium-Service ist derzeit nicht verfügbar.",
                color=discord.Color.red()
            )
            await ctx.respond(embed=embed, ephemeral=True)
        return False

    user = await bot.fetch_user(user_id)
    try:
        # SKU-ID wird als String an discord.Object übergeben
        async for entitlement in user.entitlements(skus=[discord.Object(id=str(sku_id))]):
            if entitlement.premium:
                print(f"Benutzer {user_id} hat Premium-Zugriff für SKU {sku_id}.")
                return True

        print(f"Benutzer {user_id} hat kein Premium für SKU {sku_id}.")
        if ctx:
            embed = discord.Embed(
                title="Premium erforderlich",
                description="Du benötigst Botify Premium, um diese Funktion zu nutzen.",
                color=discord.Color.red()
            )
            embed.add_field(name="Preis", value="$2.99", inline=False)
            await ctx.respond(embed=embed, ephemeral=True)
        return False

    except discord.HTTPException as e:
        print(f"Fehler beim Überprüfen der Berechtigungen: {e}")
        return False
vast cradle
#

hi
ich hab für meinen Einstellungs Modul das hier:

settings = discord.SlashCommandGroup("settings","Befehle für Boteinstelllungen")```
kann ich festlegen das wenn jemand nur /settings eingibt das eine liste mit den settings aufgelistet wird
rigid sluice
vast cradle
#

Aber ich hätte auch gerne die Möglichkeit das man nur /settings eingibt

#

und dann z.b das Einstellungspanel öffnent

cloud cedar
fierce dove
#

selba

twilit anvil
fierce dove
#

lüge

twilit anvil
fierce dove
#

lüge

tawdry leaf
twilit anvil
supple prairie
#

Hey,

Ich arbeite ja grade an einem Dashboard wie lasse ich mir den denn die Channels eines Servers in einem Dropdownmenu auf der Website anzeigen?

supple prairie
rigid sluice
#

wie bist du mit Discord verbunden

#

Benutzt du ein Bot oder direkt die API?

barren breach
#

Hat jemand ein botinfo command als beispiel und auch gut ausgebaut? damit ich so weiß man da alles so einbauen kann?

rigid sluice
barren breach
#

Ja ich weiß aber was sind so die Sachen die kaum einer hat und was so das wichtigste

barren breach
#

Eine ganz dumme aber wichtige frage Wie kann ich das mit den insgesamten commands im help command von ezcord machen?

rugged vortex
# barren breach Hat jemand ein botinfo command als beispiel und auch gut ausgebaut? damit ich so...
import discord
from discord.ext import commands
from datetime import datetime
import platform
import psutil

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

    @commands.slash_command(name="botinfo", description="Zeigt Informationen über den Bot an")
    async def botinfo(self, ctx):
        # Bot-Informationen
        bot_name = self.bot.user.name
        bot_id = self.bot.user.id
        bot_avatar = self.bot.user.display_avatar.url
        bot_created_at = self.bot.user.created_at.strftime("%d.%m.%Y")

        # Server-Informationen
        guild_count = len(self.bot.guilds)
        total_members = sum(guild.member_count for guild in self.bot.guilds)

        # System-Informationen
        python_version = platform.python_version()
        discord_py_version = discord.__version__
        cpu_usage = psutil.cpu_percent()
        memory_usage = psutil.virtual_memory().percent
        uptime = datetime.now() - self.bot.launch_time

        embed = discord.Embed(title=f"Informationen über {bot_name}", color=0x00ff00)
        embed.set_thumbnail(url=bot_avatar)
        embed.add_field(name="Bot-Name", value=bot_name, inline=True)
        embed.add_field(name="Bot-ID", value=bot_id, inline=True)
        embed.add_field(name="Erstellungsdatum", value=bot_created_at, inline=True)
        embed.add_field(name="Anzahl der Server", value=guild_count, inline=True)
        embed.add_field(name="Gesamtanzahl der Mitglieder", value=total_members, inline=True)
        embed.add_field(name="Python Version", value=python_version, inline=True)
        embed.add_field(name="Version", value=discord_py_version, inline=True)
        embed.add_field(name="CPU", value=f"{cpu_usage}%", inline=True)
        embed.add_field(name="Speicher", value=f"{memory_usage}%", inline=True)
        embed.add_field(name="Uptime", value=str(uptime), inline=True)

        await ctx.respond(embed=embed)

def setup(bot):
    bot.add_cog(BotInfoCog(bot))
barren breach
rugged vortex
barren breach
#

ich nutz den code auch nicht hab nur geschauen was man alles nutzen kann

ruby sparrow
#

wie kann ich über ein select cetegory auswählen lassen

fierce dove
#

?

ruby sparrow
barren breach
#

was kann man hier noch hinzufügen?

ruby sparrow
rigid sluice
barren breach
#

bin glaube etwas dumm weil wollte ein Dropdown Menü für den bot info command machen so das man z.B auf Shards geht das man dann da die die infos über die jeweiligen shards sieht z.B shard 1: server: 100: Member, ping und immer soweiter aber bekomme das mit dem shard irgendwie nicht hin habe auch schon copilot gefragt und der macht den code immer mehr kaputt

ruby sparrow
barren breach
#

das ist die main.py wo alles drine ist und die ganze main ist zu 95% das mit dem shard

misty smelt
#

@barren breach

#

antworte mal auf whatsapp

barren breach
# ruby sparrow hm

da ist die ganze Shard Code drine das einzige was ich da raus löschen könnte wäre das mit dem status aber es bringt mir nix

ruby sparrow
misty smelt
#

okay wenn du meinst

ruby sparrow
barren breach
#

so meinte ich es

ruby sparrow
#

hm denn sag auch

barren breach
#

tut mir leid hab das komisch geschreiben

ruby sparrow
#

alles gut

ruby sparrow
barren breach
#

beispiel

Shard-ID 0 ist bereit!
Bot ist auf 240 Servern.
Shard-ID 1 ist bereit!
Bot ist auf 260 Servern.
#

und das passiert halt nicht

ruby sparrow
#

gibts es in ezcord Shard-ID?

odd kiteBOT
ruby sparrow
#

guck

rigid sluice
barren breach
rigid sluice
#

Wieso benutzt du shards schon?

#

Haben die Server 100k User?

barren breach
barren breach
#
[ERROR] Error in event on_ready
Traceback (most recent call last):
  File "C:\Users\disco\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\client.py", line 412, in _run_event
    await coro(*args, **kwargs)
  File "c:\Users\disco\Desktop\Dynamo REMAKE\main.py", line 40, in on_ready
    print(f"Shard info: {len([shard_id for shard_id in range(self.shard_count) if self.shards[shard_id].is_ws_ratelimited() is False])} active shards")
  File "c:\Users\disco\Desktop\Dynamo REMAKE\main.py", line 40, in <listcomp>
    print(f"Shard info: {len([shard_id for shard_id in range(self.shard_count) if self.shards[shard_id].is_ws_ratelimited() is False])} active shards")
AttributeError: 'ShardedBot' object has no attribute 'shards'
ruby sparrow
#

es gibts kein bei ezcord shards

barren breach
#

hm okay

mental hamlet
ruby sparrow
urban glen
# barren breach damit ich das schonmal erledigit habe

naja aber es bringt dir erst was ab ca. 1k server da werden shards auch erst so wirklich genutzt.. Davor wird alles auf 1 shard sein da dass alles soweit ich es gecheckt habe, automatisch von discord und Pycord übernommen wird

barren breach
barren breach
#

Hab jetzt autoshard aktiviert es Funktoniert weil wollte das so machen das man z.B sehen

fierce dove
#

Mh

cloud cedar
#

Mh

ruby sparrow
#

mh

urban glen
#

bitte helft mir:

async def all_not_aktiv_keys(self):
    return await self.all("SELECT key FROM not_aktiv")

...

async def all_not_aktiv_keys(ctx: discord.AutocompleteContext):
    all_not_aktiv_keys_in_db = await db.all_not_aktiv_keys()
    print(type(all_not_aktiv_keys_in_db))

    if not all_not_aktiv_keys_in_db:
        return ["No Keys Available"]
    
    keys = [key[0] for key in all_not_aktiv_keys_in_db]
    print(type(keys))

    if ctx.value:
        filtered_keys = [key for key in keys if ctx.value.lower() in key.lower()]
        return filtered_keys

    return keys


...

    @slash_command()
    @commands.has_permissions(administrator=True)
    async def give_key(self, ctx, user: discord.User, key: Option(str, "Select a key", autocomplete=all_not_aktiv_keys)):
        await ctx.send(f"Key: {key}, User: {user.mention}")

aber es kommt als option immer nur der anfangs buchstabe des keys

ruby sparrow
#

denn können wir bestimmt helfen

urban glen
ruby sparrow
urban glen
#

@solid ingot

#

weißt du warum ?

solid ingot
solid ingot
#

mit key[0] greifst du auf den ersten buchstaben von key zu wahrscheinlich

urban glen
#

🫢

urban glen
barren breach
tawdry leaf
barren breach
#

nee ich meinte wie ich das in ezcord mache haha

ruby sparrow
tawdry leaf
urban glen
#

kann man videos in embeds machen ?

twilit anvil
#

wie bekomme ich den command count? {len(self.bot.commands)} gibt nur zwei commands als zahl obwohl 8 laut dem on ready event geladen sind

twilit anvil
#

probiers mal aus

urban glen
twilit anvil
#

anstelle .png halt .mp4, .mov, .mkv

urban glen
rigid sluice
#

Nur Images oder Gif

rigid sluice
rigid sluice
twilit anvil
#

also beides

#

abere prefix cmds hab ich nur einen

#

@rigid sluice bitti hilfee

thick haven
#

Wie kann ich eine category pingen geht das?
Role geht ja so
<@&>
Channel
<#>
User
<@>

fierce dove
#

Category geht nicht

cloud cedar
#

#1136982503224266842

#

Ne pingen geht nicht

twilit anvil
#

Haben User Apps keinen Zugriff auf das gesamte ctx.guild?

#
f"""You are in a channel named '{ctx.channel.name}' and the channel id is '{ctx.channel.id}'\n
            The server's name is '{ctx.guild.name}' and the server id is '{ctx.guild.id}'\n
            The server has '{len(ctx.guild.members)}' members and '{len(ctx.guild.channels)}' channels."""```
Hier ein bisschen von meinem Prompt, der openai den kram übergibt
twilit anvil
#

leute bitte

#

ich muss das fixxen

fierce dove
#

Anscheinend geht es nicht

twilit anvil
twilit anvil
fierce dove
#

Ne

twilit anvil
#
 /\\_/\\
( -.- )
  >^<  ```
tawdry leaf
twilit anvil
#

achso

#

:/

tawdry leaf
#

🙂

#

dachte auch das es mit get_guild einf geht aber ist leider nd so 😐

fathom tapir
#

wenn ich ne slashcommandgroup in einem cog mache, kann ich die dann einfach in nem anderen cog erweitern?

tawdry leaf
fathom tapir
#

yuh

rigid sluice
limber crow
#

Wie kann ich Slashcommands über die CommandID pingen lassen ?

tawdry leaf
cloud cedar
#

lüge

tawdry leaf
#

</name:id>

cloud cedar
#

hab ich doch auch geschrieben

tawdry leaf
#

hm ne

limber crow
tawdry leaf
limber crow
cloud cedar
limber crow
cloud cedar
limber crow
cloud cedar
#

lucky der manipulator

tawdry leaf
indigo sleet
kind depot
indigo sleet
#

aber er erstellt xd

fierce dove
ruby sparrow
storm seal
cloud cedar
#

Toter Channel

barren breach
#
if __name__ == "__main__":
    bot = ShardedBot()
    bot.load_cogs(subdirectories=True)
    cmd_count = len(bot.commands)
    
    embed = discord.Embed(
        title="Hey, ich bin der Dynamo Bot ",
        description="Dynamo ist ein leistungsstarker Bot, habe viele Funktionen und bin immer bereit, dir zu helfen! Wähle eine Kategorie aus, um mehr zu erfahren!",
        color=discord.Color.red()
    )

    embed.set_footer(text=f"©Dynamo | Insgesamte Commands: {cmd_count}")
embed.set_thumbnail(url=f"https://cdn.discordapp.com/avatars/1183600303476572251/ad3e7a9bbb9aa0f7dcfbf26ed8b7b0ae.png?size=1024")
embed.set_image(url='https://media.discordapp.net/attachments/1304491253693546537/1308263060426985472/standard.gif?ex=67506c2b&is=674f1aab&hm=a58e0eafd902e65f59844bebf5a2a1983c0cdb113bf2b2021bd8a733cb8d0fb3&')



bot.add_help_command(style=ezcord.HelpStyle.codeblocks_inline,embed=embed,show_categories=False)
bot.run()
#

verstehe nicht warum der die commands nit anzeigt

#

ist ezcord command

turbid oasis
#

Bei mir funktioniert es nicht, wenn ich

from discord import slash_command, InteractionContextType

eingebe. Das InteractionContextType ist rot unterstrichen: Cannot find reference 'InteractionContextType' in 'init.py'

barren breach
#

was ist den dein code?

turbid oasis
#
import discord
from discord.ext import commands
from discord import slash_command, InteractionContextType

Das ist bisher alles, was ich geschrieben habe

fathom tapir
#

wie mache ich nochmal n code field in nem embed?

barren breach
#

jaa kein wunder das es auch nicht funktoniert du musst auch ein code schreiben

barren breach
#

also `

#

das 3 mal dann text und dann nochmal

fathom tapir
#

ach das geht in nem embed?

barren breach
#

jaa

ruby sparrow
ruby sparrow
#

bei en geht das aber auf de nicht ```py
ticket:
setup:
ticket_setup_embed:
title: "🎫 Ticket System"
description: "Hier können Sie alle Einstellungen für das Ticket-System verwalten.\n\n"

ticket_embed:
  title: "🛠️ Support"
  description: "Wähle eine Kategorie, um den Support zu kontaktieren."```
tawdry leaf
ruby sparrow
#
wenn ich  mein  Discord Server in de hab  dann klappt es wieder ```
#

@tawdry leaf kannst du helfen

tawdry leaf
#

was meinst du?

tawdry leaf
ruby sparrow
tawdry leaf
ruby sparrow
tawdry leaf
ruby sparrow
tawdry leaf
#

es hat keiner gefragt

#

snap mal lieber

ruby sparrow
tawdry leaf
#

bin Anfänger

tawdry leaf
quartz smelt
#

hey ich Hätte da mal so ne Frage

#

also ich Arbeite Grad an nem Feedback system und möchte das es im Developement Server meines Bots landet und das dann im embed title Steht Feedback | From [Discord.User]

#

könnte es mir einer Erklären oder die docs senden?

ruby sparrow
quartz smelt
#

okay danke teste es

fathom tapir
#

kann ich die standard error msg bei cooldown von ezcord irgendwie ausstellen? oder es halt bearbeiten?
habs nirgends gefunden, vllt bin ich auch einfach nur blind

ruby sparrow
odd kiteBOT
ruby sparrow
#

gibts nicht mal von ezcord

fathom tapir
#

ach man, da kann ich ja lange suchen....
habs durcheinander gebracht

fierce dove
#

warum sagt er das der api unvalid ist obwohl die neu erstellt wurde

async def get_url(search):
    async with aiohttp.ClientSession() as session:
        async with session.get(
                f"https://g.tenor.com/v1/search?q={search}&key={token}&limit=40&media_filter=basic"
        ) as data:
            gif_data = await data.json()
            print(gif_data)
            if "results" in gif_data and gif_data["results"]:
                gif_number = random.randint(0, len(gif_data["results"]) - 1)
                url = gif_data["results"][gif_number]["media"][0]["gif"]["url"]
                print(url)
                await session.close()
                print("Session closed")
                return url
            else:
                await session.close()
                print("Session closed")
                return None
Data: {'code': 16, 'error': 'API key invalid.'}
Session 2: Session closed
fierce dove
#

Env

#

@ruby sparrow

ruby sparrow
fierce dove
#

Brauchst du denn Teil auch

ruby sparrow
#

ja

fierce dove
#

token = os.getenv("TENOR_API_KEY")

#

TENOR_API_KEY = xxxx

ruby sparrow
#

hm

fierce dove
#

Mhm

ruby sparrow
# fierce dove warum sagt er das der api unvalid ist obwohl die neu erstellt wurde ```py async...
async def get_url(search):
    async with aiohttp.ClientSession() as session:
        async with session.get(
                f"https://g.tenor.com/v1/search?q={search}&key={token}&limit=40&media_filter=basic"
        ) as data:
            gif_data = await data.json()
            print(gif_data)
            if "results" in gif_data and gif_data["results"]:
                gif_number = random.randint(0, len(gif_data["results"]) - 1)
                url = gif_data["results"][gif_number]["media"][0]["gif"]["url"]
                print(url)
                return url
            else:
                return None``` test mal so
fierce dove
#

Schaue morgen

ruby sparrow
#

hm

solid ingot
solid ingot
lofty rock
#

wie fix ich das alle server ned laden?

limpid wolf
lofty rock
limpid wolf
#

doch du kannst was eingeben

#

das wird nur nicht angezeigt

#

drück mal enter

#

dann kommt bestimmt eine fehlermeldung von wegen falsches passwort

lofty rock
#

ah

lofty rock
#

weil kommt immer password incorrect

limpid wolf
#

nein wüsste nicht wie

lofty rock
limpid wolf
#

pasten sollte gehen

#

probier mal ctrl + str + v

lofty rock
limpid wolf
#

strg

lofty rock
limpid wolf
#

dann probier halt das

#

oder gib das passwort selber ein

lofty rock
limpid wolf
#

dann ist wohl dein passwort falsch

#

wie wäre es mit zurücksetzen?

lofty rock
#

ngl diese 24fire console ist so nervig

lofty rock
limpid wolf
#

ssh einfach mit termius rein oder so

limpid wolf
lofty rock
#

termius will geld von mir

limpid wolf
#

dann nutz deine konsole vom pc

lofty rock
#

mache mal nen neuen account

limpid wolf
#

oder putty oder so nen kack

fierce dove
#

Oder Passwort ändern

lofty rock
#

und nun?

limpid wolf
#

kannst eigentlich auch im panel gucken ob die noch verbunden sind

#

geh einfach ins admin dash

#

und schau dir den verbindungs status an

lofty rock
limpid wolf
#

nein

#

bei pterodactyl

lofty rock
#

okk

#

nein es lädt

#

aufeinmal

#

es ging für 1-3 monate ganz normal

limpid wolf
#

ja kann es sein das das zert abgelaufen ist?

lofty rock
limpid wolf
#

oder connecte das mal neu

#

also diesen connection command nochmal auf der node eingeben

lofty rock
#

ich weiss auch nicht wie das geht

limpid wolf
#

maybe funktioniert das

lofty rock
#

ich kenne mich mit sowas 0 aus

#

hab das panel halt übers tutorial gemacht

fierce dove
#

Starte mal deine Wings neu @lofty rock

lofty rock
#

restart wings command?

fierce dove
#

systemctl restart wings

lofty rock
fierce dove
#

Jz schauen ob es geht

lofty rock
#

lädt alles immernoch

fierce dove
#

sudo reboot

lofty rock
#

oki

fierce dove
#

Gehte

#

Schau dir mal deine Wings debug an

sudo wings --debug

#

@lofty rock geht's

lofty rock
fierce dove
#

@lofty rock mache mal das
sudo certbot certificates

fierce dove
#

Zeigt es was an

#

sudo certbot renew

lofty rock
#

und das

fierce dove
#

sudo systemctl reload nginx

lofty rock
#

1 sec

#

obwohl warum zensier ich die url

#

ach egal

fierce dove
#

Uff

#

sudo systemctl status wings

#

Was kommt

lofty rock
fierce dove
#

sudo systemctl restart wings

lofty rock
cloud cedar
fierce dove
#

Mh

fierce dove
# lofty rock

sudo ufw allow 8080
sudo ufw allow 443
sudo ufw allow 80

limpid wolf
#

meinte alt

cloud cedar
#

aber ist es nicht shift

fierce dove
#

Jz

lofty rock
limpid wolf
fierce dove
lofty rock
fierce dove
#

Wenn's nicht geht dann mach mal

sudo nano /etc/pterodactyl/config.yml

Und schaust ob die Sachen drinne stehen

ssl:
  enabled: true
  cert: /etc/letsencrypt/live/deine-domain.de/fullchain.pem
  key: /etc/letsencrypt/live/deine-domain.de/privkey.pem
fierce dove
#

Steht es drinne

#

ls -l /etc/letsencrypt/live/deine-domain.de/

#

Um zu schauen ob die Datein existieren

limpid wolf
#

@lofty rock du hast ja eine domain für wings

#

da ist bestimmt das zertifikat abgelaufen

lofty rock
limpid wolf
#

war bi mir auch mal

lofty rock
fierce dove
lofty rock
fierce dove
#

Das ist was mit der zert

limpid wolf
#

sag ich doch

fierce dove
#

Zeer Probleme hat er

lofty rock
#

soll ich nochmal probieren zu renewen?

fierce dove
#

sudo certbot renew
sudo systemctl reload nginx

#

Dann

sudo certbot certificates

lofty rock
#

schon wieder der error

fierce dove
#

sudo certbot renew --dry-run

lofty rock
limpid wolf
#

steht da irgendwo warum das gefailed ist?

lofty rock
#

ja

limpid wolf
#

wäre ganz gut zu wissen wenn wir dir helfen sollen

fierce dove
#

Jo

lofty rock
#

wie kann ich es copyen das es in MEIN clipboard ist

limpid wolf
#

mach halt nen bild

#

oder CTRL + SHIFT + C i guess

lofty rock
#

error: Could not bind TCP port 80 because it is already in use by another process on this system (such as a web server). Please stop the program in question and then try again.

limpid wolf
#

systemctl stop nginx

#

dann den command zum renewen

#

und systemctl start nginx

#

in der zwischenzeit ist halt nginx down, das heißt auch dein panel aber funktioniert ja eh nicht

lofty rock
#

hab gemacht

#

Congratulations, all renewals succeeded:

limpid wolf
#

dann wieder starten

#

dann sollte es klappen

lofty rock
#

ja hab

fierce dove
#

Geht

#

S

limpid wolf
#

mach noch systemctl restart wings wenn es nicht geht

lofty rock
fierce dove
#

sudo certbot renew --dry-run

Um zu testen

lofty rock
#

restarte eben die wings

#

yay

#

danke euch

limpid wolf
#

gerne

fierce dove
#

Bitte

#

Wenn du Probleme hast melde dich wieder hier

lofty rock
#

ja mach ich jetzt weiss ich ja auch wie man die certs renewed

fierce dove
#

🫡👍

fierce dove
rigid sluice
#

Im Error steht alles drinnen was du wissen musst

fierce dove
#

api key ist ja neu erstelt

rigid sluice
#

Und wie muss die URL aussehen?

rigid sluice
#

Dann ist vllt doch etwas falsch mit dem Token oder es fehlt etwas?

rigid sluice
#

Ich hab die Tenor API noch nie benutzt

barren breach
#
Traceback (most recent call last):
  File "C:\Users\disco\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\client.py", line 412, in _run_event
    await coro(*args, **kwargs)
  File "c:\Users\disco\Desktop\Dynamo REMAKE\cogs\events\botping.py", line 127, in on_message
    await message.reply.edit_message(embed=embed, view=view)
AttributeError: 'function' object has no attribute 'edit_message'```

```py
await message.reply.edit_message(embed=embed, view=view)
fierce dove
#

@rigid sluice

Error fetching GIF: 403, message='Attempt to decode JSON with unexpected mimetype: text/html; charset=utf-8', url='https://api.tenor.com/v1/search?q=anime-hug&key=AIzaSyACIR&limit=40&media_filter=basic'

async def get_url(search):
    try:
        async with aiohttp.ClientSession() as session:
            async with session.get(
                f"https://api.tenor.com/v1/search?q={search}&key={token}&limit=40&media_filter=basic"
            ) as data:
                gif_data = await data.json()
                gif_number = random.randint(0, 39)
                url = gif_data["results"][gif_number]["media"][0]["gif"]["url"]
                return url
    except Exception as e:
        print(f"Error fetching GIF: {e}")
        return None
barren breach
rigid sluice
barren breach
#

wtf was macht der code?

[ERROR] Error in event on_message
Traceback (most recent call last):
  File "C:\Users\disco\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\client.py", line 412, in _run_event
    await coro(*args, **kwargs)
  File "c:\Users\disco\Desktop\Dynamo REMAKE\cogs\events\botping.py", line 126, in on_message
    await message.edit(embed=embed, view=view)
  File "C:\Users\disco\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\message.py", line 1630, in edit    
    data = await self._state.http.edit_message(
  File "C:\Users\disco\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\http.py", line 368, in request     
    raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50005): Cannot edit a message authored by another user
PS C:\Users\disco\Desktop\Dynamo REMAKE>
#

er spammt das rein

rigid sluice
fierce dove
barren breach
rigid sluice
#

soll das Menu bearbeitet werden?

fierce dove
# rigid sluice Kannst du mal gif_data printen?

Error fetching GIF: 403, message='Attempt to decode JSON with unexpected mimetype: text/html; charset=utf-8', url='https://api.tenor.com/v1/search?q=anime-hug&key=token&limit=40&media_filter=basic'

async def get_url(search):
    try:
        async with aiohttp.ClientSession() as session:
            async with session.get(
                f"https://api.tenor.com/v1/search?q={search}&key={token}&limit=40&media_filter=basic"
            ) as data:
                gif_data = await data.json()
                print(f"Data: {gif_data}")
                gif_number = random.randint(0, 39)
                url = gif_data["results"][gif_number]["media"][0]["gif"]["url"]
                return url
    except Exception as e:
        print(f"Error fetching GIF: {e}")
        return None
barren breach
rigid sluice
fierce dove
#

und dann

#

wuie soll soll ich dann gif_data definieren

barren breach
#
[ERROR] Error in event on_message
Traceback (most recent call last):
  File "C:\Users\disco\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\client.py", line 412, in _run_event
    await coro(*args, **kwargs)
  File "c:\Users\disco\Desktop\Dynamo REMAKE\cogs\events\botping.py", line 126, in on_message
    await message.edit(embed=embed, view=view)
  File "C:\Users\disco\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\message.py", line 1630, in edit
    data = await self._state.http.edit_message(
  File "C:\Users\disco\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\http.py", line 368, in request
    raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50005): Cannot edit a message authored by another user

fierce dove
rigid sluice
rigid sluice
rigid sluice
fierce dove
#

das mal probieren

url = json.loads(await data.text())["results"][gif_number]["media"][0]["gif"]["url"]

fierce dove
rigid sluice
#

joa, versuch mal data.text() mal gucken was kommt

fierce dove
#

Error fetching GIF: string indices must be integers, not 'str'

barren breach
#

und des wegen versteh ich das ja grade auch nicht

rigid sluice
fierce dove
#

ausser aiohttp

rigid sluice
#

hier meinte ich

#

die unteren 3

#

und dann ebenhalt nur data ohne .json()

fierce dove
#
[ERROR] Error while executing /hug
Traceback (most recent call last):
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311-32\Lib\site-packages\discord\commands\core.py", line 138, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311-32\Lib\site-packages\discord\commands\core.py", line 1078, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Users\Schüler\Documents\Botify\cogs\Fun\anime.py", line 45, in hug
    await send_embed(ctx, ctx.t("hug"), "anime-hug", desc)
  File "C:\Users\Schüler\Documents\Botify\cogs\Fun\anime.py", line 30, in send_embed
    url = await get_url(search)
          ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\Documents\Botify\cogs\Fun\anime.py", line 20, in get_url
    gif_data = await data.json()
               ^^^^^^^^^^^^^^^^^
  File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311-32\Lib\site-packages\aiohttp\client_reqrep.py", line 1277, in json
    raise ContentTypeError(
aiohttp.client_exceptions.ContentTypeError: 403, message='Attempt to decode JSON with unexpected mimetype: text/html; charset=utf-8', url='https://api.tenor.com/v1/search?q=anime-hug&key=
&limit=40'
#

mit json

rigid sluice
#

;3

fierce dove
# rigid sluice .
date: <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><title>Sorry...</title><style> body { font-family: verdana, arial, sans-serif; background-color: #fff; color: #000; }</style></head><body><div><table><tr><td><b><font face=sans-serif size=10><font color=#4285f4>G</font><font color=#ea4335>o</font><font color=#fbbc05>o</font><font color=#4285f4>g</font><font color=#34a853>l</font><font color=#ea4335>e</font></font></b></td><td style="text-align: left; vertical-align: bottom; padding-bottom: 15px; width: 50%"><div style="border-bottom: 1px solid #dfdfdf;">Sorry...</div></td></tr></table></div><div style="margin-left: 4em;"><h1>We're sorry...</h1><p>... but your computer or network may be sending automated queries. To protect our users, we can't process your request right now.</p></div><div style="margin-left: 4em;">See <a href="https://support.google.com/websearch/answer/86640">Google Help</a> for more information.<br/><br/></div><div style="text-align: center; border-top: 1px solid #dfdfdf;"><a href="https://www.google.com">Google Home</a></div></body></html>
rigid sluice
#

mhm ist nicht 403 ein Permission Fehler?