#Allgemeine Hilfe
1 messages · Page 93 of 1


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```
Ist er bot on?
warum ist das hier offen?
Sehr toller Token
Da ist kein Token drine haha
Danke für die Aufmerksamkeit
Sowas gehört auch nicht in eine Python Datei
Hab den Token wohl 2 mal im code
Warum sendet der bot nach dem bot restart nach den 5 minuten loop alle Votes?
Hier ist ohne Token
ich sehe kein "wait_until_ready"
@barren breach https://youtu.be/gpKGVVQPAhg
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
UTC Zeitzone
► https://time.is/de/UTC
Code auf Github
► https://github.com/tibue99/tutorial-bot
Tutorial Playlist
► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Discord Developer Portal
► https://discord.com/developers/applications
Pycord
Docs ► https://docs.pycord....
Vielleicht hilft dir das
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
füge es doch einfach mal bei dem task hinzu
einfach direkt darunter
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'´```
Anscheinend fehlt, wie es schon im Error steht, dass "key"-Argument 🤷
Sehe ich das falsch oder ist "obj" und "key" nötig?
Es ging ja davor aber jetzt nicht mehr
hab halt nix verändert
Anscheinend hat es sich verändert
Beides nötig
Sonst wär ja der Error nicht da
Das ging noch 21:00 uhr denn nicht mehr
Komisch
Wie kann ich die slowmode zeit bekommen mit der embed template von ezcord?
slowmode = discord.Embed(
title=" 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)
Keine Ergebnisse für cooldown gefunden. Meintest du Folgendes?
Ein Update gab's ja auch nicht, kannst höchstens mal Timo pingen
@solid ingot
Der König wurde beschworen
Weiß nicht, wer noch an der Library beteiligt ist

Es gibt kein cooldown bei ezcord
Nur timo
Keine Ergebnisse für cooldown_duration gefunden. Meintest du Folgendes?
Ist das im Error Handler?
Glaube
error.retry_after wäre es dann
dieser ezcord.t will mich .... mit ctx.t geht es

😵💫
was ist das
du benutzt die Funktion halt falsch, kannst ja Mal schauen was da für Parameter reinkommen
steht sogar in der Error Meldung @ruby sparrow
ja ist mega nice
benutze immernoch discord.py
es geht halt mit ctx.t
ja das wird anders benutzt
hm
ezcord kannst du auch mit Discord.py nutzen
hm bleibe lieber bei nur discord.py denke dann kommt chat gpt nicht so aus der verfassung und ist verwirrt
nö ;3
chat gpt kennt ezcord
bei buttons geht es mit ezcord.t
@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
ich weiß
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
zu 30 %
und die anderen 70%
habe jetzt meinpassword?%3F gemacht
hast du pymongo auf latest version
wie prüfe ich das
mach einfach pip install --upgrade pymongo
hm geht immernoch nicht, muss man in der mongodb website angeben wann man zu dem cluster connecten darf
ja save
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)')>]>
oder test mal py import certifi uri = "mongodb+srv://wollenils:<db_password?>@kaschmir.5rbrz.mongodb.net/?retryWrites=true&w=majority&appName=kaschmir" client = MongoClient(uri, server_api=ServerApi('1'), tlsCAFile=certifi.where())
und pip install certifi
muss ich mein password ändern
ohje
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)')>]>```
er hat was mit die ssl
mach mal das in terminal
hab dir was schreiben .
`?
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
guck dm
@solid ingot ich weiß ich darf nicht pingen aber kannst du mal helfen.
kann jemand helfen probiere jetzt mongodb per vsc connection zu machen aber das geht auch nicht
Ja
Ich kann um 15 nach 3 mal helfen
Ok
Ping mich einfach
@dawn galleon
Yo
Könntest du "py* beim Codeblock mit hinzufügen?
Ich sehe sonst nicht was ein Kommentar und was Code it
Err
Wenn ich zuhause bin
also würde es mit vsc xtension machen
wofür die server_api stuff?
`?
Das ist nichtmal im Beispiel drinnen
Sorry war afk, was?

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?
lavalink.server.io.SocketServer : Connection closed from /176.198.185.12:52091 with id eydm2onj0l86t4pq -- CloseStatus[code=1006, reason=]
ne frage
ich hab nen command mit cooldown
wie kann ich dafür sogen das der cooldown bleibt bei botneustarts
Aus besten in db abspeichern
Sowas hab ich mich auch schon gefragt
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?
Check is Nit
manno
Das funktioniert halt immer noch nit 😭
kaufen
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
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)
ist gefix
xd
Jo
muss ich mir jetzt wirklich diese Kack cloud kaufen?
nö
wie kann ich es den sonnst machen ich sitze den ganzen tag heute schon dran und immer noch nit hinbekommen 😦
du musst es auch wollen
Ich kann auf einem Server einladen drücken und bekomme eine "Geschafft [Gehe zu: Server]" Erfolgsnachricht.
Danach ist er aber nicht auf dem Server :(
vermutlich weil er direkt verlässt haben manche so xD
bist wohl auf der blacklist vom bot
Das ist mein Bot 💀
dann hast du dich selber auf die blacklist gesetzt
Er schickt auch keine Bot ist auf den Server geschlittert nachricht
würde mal schauen ob beim dev portal alles richtig eingestellt ist
musst die 3 intents unten anmachen
probier ich mal
geht immernoch nicht
habs sogar vom handy aus probiert und auf verschiedene server, geht alles nicht
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
wen seiner auch sonst 😂
hilf mir mal zu fixen ich warte immer noch und ich selbst bekomme es nit hin
Es ist auch kein Wunder warum es nicht geht
Das ist alles beim on_ready event
das heißt?
soll ich das jetzt beim on_ready löschen?
Das on_ready Event wird kaum ausgelöst
Hm okay wie bekomme ich das gefixed?
weil der darf dann eigenlich nicht den song finden oder bin ich grade dumm?
vom welchen code reden wir eigentlich?
.
bruh das ist doch schon längst gefixed
alright
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
Von wo wirst du eigentlich die Musik nehmen?
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
Oh bitte achte mehr drauf was du auf Discord schickst
das sind unwichtige daten
Eine IP mit Port und Passwort zu schicken kann bald echt zu vielen Problemen führen
das ist ein test lavalink server
Uii gratis ips danke
Darum geht es nicht
viel spaß damit
Es geht ums Prinzip
jaa okay die können mit der ip port und passwoert nix anpassen hahaha
doch revers engenieren
jaa aber ich sende nit meine ip da rein es ist ja nur vom lavalink server der irengwo im niregndwo gehostet ist
der server liegt in Frankfurt über 900 kilometer von mir
aber er conenct zu deinem bot
jaa ist ein test bot
prinzip
aber haste eine idde wie ich das fixen kann?
das proplem habe ich immer mit lavalink wenn ich wavelink nutze(geht nur für discord.py) dann spielt er plötzlich ab
Nö, ich erstelle keine Musik Bots
Jaa und die die das wissen wollen nit helfen super
ezlink geht für py-cord
darf ich das benutze?
danke
Lavalink server brauch ich trotzdem?
ja
[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'
ich glaub an dich du bekommst es hin
jetzt funktoniert der command aber das system nicht Ich lach darüber nur
Warum wavelink
suiii
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
bei slash cmmands nimmt man nicht discord.Interaction sondern discord.ApplicationContext
ah cool mein copilot ist am aarch
endlich kann ich music abspielen
danke timo hat geholfen mit ezlink
@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}")
für was ist diese defer()?
Bei slash command muss man innerhalb von 3 Sekunden eine Nachricht schicken
Danach bekommt man einen Fehler
await ctx.respond hat auch funktoniert 😄
Das wollte ich gerade schreiben ;3
Mit Defer hat man 15 Minuten Zeit eine Nachricht zu schicken
ah okay perfekt kuss
verstehe den fehler nicht bruh
Mhm, erstmal ctx.response.send_message zu ctx.respond überall ändern
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
ist bei mafic
Okay wie soll ich das dann in der txt Datei mache
ka kenne des package nd
hab mal chatgpt gefragt
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:
Wenn du es brauchst denn ja
[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'```
wenn message.guild.id für announcement falsch ist
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()```
Welche Intents hat dein Bot?
Alle
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 

was ist da los?
lol auch hier antwortet keiner was los heute
was
was meinst?
Ka von mc


hat leider nichts gebracht :(
Minecraft kaufen
dann zahl ein 10er für minecraft easy bug fix
30€
hab dafür 15 und 1 x 20 bezahlt haha
Hab's mir damals mit so 'nem Activation Key von Amazon ||von Mojang selber, keine ahnung warum|| gekauft. 15€
also 35
der erste account für 15 der 2 für 20
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
Realtalk selber schuld
Normalster MC hater
Ich hab locker 2000 Stunden und insgesamt 60€ ausgegeben
Ich hohl mir lieber nen key für 4€
Kannst du ja machen
Damals hätte ich dich geschlagen dafür
Aber jetzt sind die ja bei microsoft
Ok
Also egal
^^
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?
mach mal is True und nicht ==
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...
None
True
True
None
Das ist wenn ich mir check printen lass
Das ist ja auch das komische es wird einmal aufgerufen und läuft 4mal durch
dann hast es es bestimmt 4 mal gestartet xD
nope, aber ich hab nochmal nachgeschaut es ist nur einmal None und einmal True das hat sich grad nur 2mal in die zwischen ablage kopiert
True
None
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
und eine idee?
Muss man sich erstmal zu recht finden
mal ganz doof gefragt, wie schafft mab es, das bei einem veridizierten bot die meist genutzten commands dort gelisted werden???
meinst du die unter member since?
Das macht Discord
ja
sicher? Keks Mod hat das auch bereits und mein bot noch immer nicht obwohl der auf mehr server is💀
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?
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
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
Also hast du auch keine Score-Variable?
Magst du mal deinen code schicken
ist irgendwo dadrinne
hätte ne lösung
Aber deine Antwort.
Hat wer ne Idee?
/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?
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
ich meinte das dadrüber#
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
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
ich nutze aiomysql
Kenne mich damit nicht aus sorry
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...
Das ist schon richtig
Die ganzen Systeme fangen bei 1970 an zu zählen
Ja aber wie schaffe ich es jetzt, das er die aktuelle Uhrzeit + start_time nimmt ?
Die aktuelle Uhrzeit wäre datetime.now und nicht datetime.utcnow
ne das macht tatsächlich keinen unterschied
Hab ich gerade gemerkt. Hat sich weiterhin nichts verändert
ja ein moment
kannst du mir mal den genauen response und den vollen code umfang davon schicken?
Sekunde
Ich hatte es völlig vergessen, dass utcnow zu now geändert wurde
👀
naja aber utcnow war früher basically auch nur das die zeitzone UTC genommen worden ist
oder irre ich mich gerad
@warm spindle schickste?
Also ich habe es jetzt gelöst. Ich idiot habe es direkt im Discord Relative formatiert, und vergessen es in unix umzuwandeln 😂
Das hast du nämlich nicht gemacht. Daher ging es bei dir hahaha
Aber danke für die Hilfe 
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
Jup haha
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👀
unix_timestamp = int((datetime.utcnow() - datetime(1970, 1, 1)).total_seconds()) - uptime_seconds 
hab dafür nen fix
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
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
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
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
ctx: discord.Context glaube ixh
beim hovern über ctx.guild.channels steht ctx is not defined
discord.ApplicationContext
Wars sorry
Ist doch pycord oder?
Aber wieso ctx in einer class übergeben
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
Ich übergebe sowas nur über die Funltionen
wie macht man das
Du willst eine select option also ein auswahl menü richtig?
Wie checke ich, ob es eine category mit dem namen "TEST SIGMA" auf der guild gibt?
mit utils.get zum beispiel
und wie krieg ich die anzahl von membern ohne bots
kennst du sum?
Boahr
Krater
Wer ist das?
Kennst du oleg
hahaha chefstrobel witze droppen
Wer ist das
hm witzig
uuuuf
die schlimmsten Programmierarbeiten sind die die immer nur monoton sind
und immer 80 mal das selbe schreiben
naja kannst du doch trzd so checken?
anstatt alles zu schreiben, lässt du es einf. counten each user via Array und dann klappt das ja auch?
soll ich dir das mal alles fertig machen wie ich das meine? (ich arbeite allerdings mit MongoDB)
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
Dafür ist ChatGPT mal ein guter Sklave
Bald sind wir seine Sklaven 🔥
der basilisk
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
probiers mit channel_obj.voice_states
@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 :(
hmm gibt es irgendwelche fehler oder soo?
nöp
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
error & error
Nein werter Herr Gecko, das geht nicht
kommen errors oder soo?
immernoch nicht
hmm
😂
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!"
name: dein text
value: dein text``` guck einfach auf github

du meinst
fields:
name: test
value: test
nein
title: dein text
description: hhaha
name: hhaha
value: hahha```
so
JUNGE WAS BIN ICH SEHEND
Mh
pornhub
Ne
manno
lass es bitte
geb einf auf
Ok
teln 🙂

eine dume frage: kann man das da oben auch aus machen man nit sieht wer den command ausgelässt hat?
Aus machen nicht, du könntest aber das hier machen:
ctx.channel.send()
statt ctx.respond()
danke dir funktoniert
jetzt kannst du bestimmt in #1312695341287739452 helfen 👉👈
nutze kein ezcord DB
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
Musst du ein get oder ein post senden?
wie meinst
Bei API's gibt es ein get und ein post als option
glaube GET
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
entferne async vor def setup
und await vor bot.add_cog
bringt nix hab ich schon 20 mal probiert.. habe jetzt den name des cogs zu misc geändert und es funktioniert frag mich nicht warum
Bei discord.py muss async benutzt werden, aber nicht bei py-cord
jetzt funktioniert mein kack help command nicht mehr
Warum nutzt du den discord.py?
on_member_remove wird doch auch gecalled, wenn jemand gekickt wird oder nicht
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
Es gibt einen neuen "Exploit" mit bots
Du musst in den Optionen vom Server es für "External apps" deaktivieren
unterwas ist die option?
ehm
Ich glaube es war die hier, die ist bei den Rollen
okay, danke
Das ist doch kein exploit
Naja
Du kannst alles auf jeden Server schicken
durch user install mehr oder weniger
bzw guild_install
als bot 😄
wie viel accs hast du
2
Mit @twilit anvil
dachte der mit mutter ist auch deiner
Lucky stinkt
ne war duschen 🙂
naja kein direkter exploit aber es ist halt ein Fehler von Discords Seite der ausgenutzt wird allerdings auch vermeidbar ist
ja einf ausmachen
kann ich es so macht:
bewertung config add machen und wie geht das
egal
Wie benutz ich pip zum deinstallieren bei cookie hosting? da kann ich nicht in die konsole tippern
hast du da nicht eine Liste für?
Löscht die requirements.txt auch alles was nicht mehr drin steht?
Lösch einfach den .local Ordner und nimm das was du nicht brauchst aus den requirements raus. Dann neustarten
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>
Wie heißt deine css Datei
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```
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```
script.css ist crazy
hab ich grad erst gemerkt, wtf 💀

obwohl kein ticket da ist
und eine kleine frage wie Custom kann man ezcords help command machen?
ja kann man
und bitte nicht dem ganze code rein senden
@barren breach https://youtu.be/SsY8JOzuGfQ
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:...
jaa ich weiß das man das Custom machen kann wollte nur wissen wie weit man da gehen kann
ezcord.enums.HelpStyle
ezcord.enums.HelpStyle.codeblocks
ezcord.enums.HelpStyle.codeblocks_inline
ezcord.enums.HelpStyle.default
ezcord.enums.HelpStyle.embed_description
ezcord.enums.HelpStyle.embed_fields
ezcord.enums.HelpStyle.markdown
ezcord.bot.Bot.add_help_command
@barren breach da
was ist denn hier los
nix wo ist mein snap
hä wieso noch wach feuerwehrmann sam war schon ^^
hahah
von was magst snap hat der dir grad gefalln?
selber
war nd die frage 😡
mir egal
Hast zu viele Zeichen glaube ich
es hat nix damit zu :c
es ist codeblock von ezcord
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)
hier gehts auch
Dann keine anung
:c
@kind depot kannst du helfen du kommst du kekse
discord bug
[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
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
Eigentlich müssten die ganzen Commands mit setting aufgelistet werden von discord
Verstehe denn Fehler nicht
Schohn
Aber ich hätte auch gerne die Möglichkeit das man nur /settings eingibt
und dann z.b das Einstellungspanel öffnent
kannst du dann nicht einfach nen normalen /command machen, der async def settings heißt
Schüler 💀
selba
Sagt der, der SigmaBoy als Nickname hat 
lüge
Wie bitte?
lüge
du stinkst
So wie Chase
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?
Kommt drauf an
Auf was
Hat jemand ein botinfo command als beispiel und auch gut ausgebaut? damit ich so weiß man da alles so einbauen kann?
Du kannst da sehr viel einbauen
Ja ich weiß aber was sind so die Sachen die kaum einer hat und was so das wichtigste
Eine ganz dumme aber wichtige frage Wie kann ich das mit den insgesamten commands im help command von ezcord machen?
was?
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))
danke dir für den code aber es hätte auch ein screenshot gereicht
Hab denn code nicht selber benutzt
ich nutz den code auch nicht hab nur geschauen was man alles nutzen kann
wie kann ich über ein select cetegory auswählen lassen
?
wie geht das
was kann man hier noch hinzufügen?
bissen besser das embed machen
str dropdown mit emojis
mach ich chef
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
hey bitte nicht deine ganze codes seden
das ist die main.py wo alles drine ist und die ganze main ist zu 95% das mit dem shard
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
das hat nix hier zu tun
okay wenn du meinst
sag doch gleich was error ist du hast was mir Dropdown Menü er error ist denn in info command
nee das liegt nicht daran das shard system geht nicht
so meinte ich es
hm denn sag auch
tut mir leid hab das komisch geschreiben
alles gut
du kannst versuchen mit discord.ext.commands.AutoShardedBot zu verwenden vllt gehts denn
das wird ja nicht mal in der console gelogged wenn ein shard ready ist
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
gibts es in ezcord Shard-ID?
Keine Ergebnisse für Shard-id gefunden. Meintest du Folgendes?
guck
Auf wie vielen Servern ist dein Bot?
hab das eingestellt das es maximal 10 server pro shard angibt hab über 50 servern
Nein das nicht aber so 5 - 10 k schon
damit ich das schonmal erledigit habe
[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'
es gibts kein bei ezcord shards
hm okay
wenn du sharding haben willst musst du autosharded bot nutzen
hab ich auch schon gesagt
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
Ich weiß wollte nur schonmal machen das man sehen kann den ping und so und komischer weiße funktioniert es
Hab jetzt autoshard aktiviert es Funktoniert weil wollte das so machen das man z.B sehen
Mh
Mh
mh
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
kannst du uns sagen was error ist
denn können wir bestimmt helfen
hi Nico wie gehts ?
na es gibt kein error
nur wird das auf den bild angezeigt obwohl in der datenbank volle keys stehen
hm hatte das auch mal aber idk mehr wie ich gefix hab sry
alles gut danke trozdem
@solid ingot
weißt du warum ?
warum was?
.
mit key[0] greifst du auf den ersten buchstaben von key zu wahrscheinlich
🫢
ich bin ja dumm danke dir 😜
mit einen embed 🙂
jaa wie auch sonnst
wieso fragst dann 🙂
nee ich meinte wie ich das in ezcord mache haha
mit ezcord.TEmbed
💀
kann man videos in embeds machen ?
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
ja, geht denke ich schon
probiers mal aus
wie ?
anstelle .png halt .mp4, .mov, .mkv
geht nicht
^
hast du slash commands? oder prefix
BridgeBot
also beides
abere prefix cmds hab ich nur einen
@rigid sluice bitti hilfee
Wie kann ich eine category pingen geht das?
Role geht ja so
<@&>
Channel
<#>
User
<@>
Category geht nicht
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
Anscheinend geht es nicht
Du kleiner simulant hast auf dem pycord server geglotzt
Lüge
Ich bin der Osterhase
Ne
get nur mit user 
also ctx.user.guild?
/\\_/\\
( -.- )
>^< ```
ich meine user info xD
wenn ich ne slashcommandgroup in einem cog mache, kann ich die dann einfach in nem anderen cog erweitern?
du musst die dann in die andere datei importieren dann sollte es gehen
Benutzt du py-cord?
yuh
Wie kann ich Slashcommands über die CommandID pingen lassen ?
meinst du erwähnen
lüge
hab ich doch auch geschrieben
hm ne
genau
so
Danke
und mir nicht danke sagen ja
Weil er es eher richtig hatte
stimmt nicht
Hast deine Nachricht bearbeitet und voher stand nur </id> da
stimmt auch nicht
lucky der manipulator
hacka
so was will der jetzt von mir?
Ordner kann nicht gefunden werden
aber er erstellt xd



Toter Channel
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
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'
was ist den dein code?
import discord
from discord.ext import commands
from discord import slash_command, InteractionContextType
Das ist bisher alles, was ich geschrieben habe
wie mache ich nochmal n code field in nem embed?
jaa kein wunder das es auch nicht funktoniert du musst auch ein code schreiben
mit 3x text
also `
das 3 mal dann text und dann nochmal
ach das geht in nem embed?
jaa
embed.field
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."```
weil du keine hilfe brauchst
ezcord.I18N(localized_strings, fallback_locale="en", prefer_user_locale=True)```
wenn ich mein Discord Server in de hab dann klappt es wieder ```
@tawdry leaf kannst du helfen
was meinst du?
ja weil es sonst auf englisch ist fallback_locale
ich hab mein discord acc auf de und es zeig auf en an
ja weil server nicht auf de ist
hab ich doch user_local an
ist das so
Ja
No erst helfen
bin noch da
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?
so vllt {ctx.user.name} denk ich
okay danke teste es
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
meiste du von py-cord hat das auch ezcord jz auch bei cooldown oder bin ich bin dumm
Keine Ergebnisse für cooldown gefunden. Meintest du Folgendes?
gibts nicht mal von ezcord
ach man, da kann ich ja lange suchen....
habs durcheinander gebracht
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
wo gibts du dem key an
ich sehe nix wo du das aus die ,env laden tust
Brauchst du denn Teil auch
ja
hm
Mhm
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
Schaue morgen
hm
ja, du kannst dem bot eine Liste an errors geben, die er ignorieren soll.
um die Nachricht zu bearbeiten, müsstest du die language Datei anpassen: https://ezcord.readthedocs.io/en/latest/examples/languages.html
doch
wie fix ich das alle server ned laden?
schau mal ob die node noch connected ist
komme nicht in mein ubuntu rein sobald er nach passwort fragt kann ich nichts mehr eingeben

doch du kannst was eingeben
das wird nur nicht angezeigt
drück mal enter
dann kommt bestimmt eine fehlermeldung von wegen falsches passwort
ah
kann ich es irgendwie anzeigen lassen?
weil kommt immer password incorrect
nein wüsste nicht wie
und wie kann ich pasten? weil ctrl + v geht leider nicht
str?
strg
hab nur ctrl (us keyboard)
schon 5 mal probiert immer login incorrect
ngl diese 24fire console ist so nervig
kann nicht sein das passwort wird bei 24fire angezeigt
ssh einfach mit termius rein oder so
dann verkack es nicht beim eingeben oder so
termius will geld von mir
dann nutz deine konsole vom pc
mache mal nen neuen account
oder putty oder so nen kack
Oder Passwort ändern
kannst eigentlich auch im panel gucken ob die noch verbunden sind
geh einfach ins admin dash
und schau dir den verbindungs status an
hab kp wie kenne mich ned mit ubuntu aus
ja kann es sein das das zert abgelaufen ist?
idk wo krieg ich das heraus
oder connecte das mal neu
also diesen connection command nochmal auf der node eingeben
ich weiss auch nicht wie das geht
maybe funktioniert das
Starte mal deine Wings neu @lofty rock
restart wings command?
systemctl restart wings
Jz schauen ob es geht
sudo reboot
oki
@lofty rock mache mal das
sudo certbot certificates
und das
sudo systemctl reload nginx
sudo systemctl restart wings
steuerung + steuerung + v
Mh
sudo ufw allow 8080
sudo ufw allow 443
sudo ufw allow 80
aber ist es nicht shift
Jz
jz was?
kann auch sein keine ahnung grade
Gehst es
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
ja
genau so
Steht es drinne
ls -l /etc/letsencrypt/live/deine-domain.de/
Um zu schauen ob die Datein existieren
@lofty rock du hast ja eine domain für wings
da ist bestimmt das zertifikat abgelaufen
ja das steht da genau wie du es geschrieben hast
war bi mir auch mal
ja ig
da
Das ist was mit der zert
sag ich doch
Zeer Probleme hat er
soll ich nochmal probieren zu renewen?
schon wieder der error
sudo certbot renew --dry-run
steht da irgendwo warum das gefailed ist?
ja
wäre ganz gut zu wissen wenn wir dir helfen sollen
Jo
wie kann ich es copyen das es in MEIN clipboard ist
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.
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
ja hab
mach noch systemctl restart wings wenn es nicht geht
sudo certbot renew --dry-run
Um zu testen
gerne
ja mach ich jetzt weiss ich ja auch wie man die certs renewed
🫡👍
gif_data: {'code': 16, 'error': 'API key invalid.'}
Well
Im Error steht alles drinnen was du wissen musst
api key ist ja neu erstelt
Und wie muss die URL aussehen?
Dann ist vllt doch etwas falsch mit dem Token oder es fehlt etwas?
Ich hab die Tenor API noch nie benutzt
das es so muss
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)
@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
kompletter code
message.edit() beim einfachen message event
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
Kannst du mal gif_data printen?
jo
das hat eben nit gemacht
soll das Menu bearbeitet werden?
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
nee nur das soll er machen weil das interaction menü habe ich schon bearbeitet
dann entferne mal das mit dem json()
kann der bot keine onmessage events bearbeiten?
[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
@rigid sluice
Ich hab das Gefühl, das da gerade keine json kommt sondern irgendwas anderes
Eigentlich sollte der Bot eigene Nachrichten bearbeiten können
also auch gif_data raus
Nein
das mal probieren
url = json.loads(await data.text())["results"][gif_number]["media"][0]["gif"]["url"]
also
gif_data = await data.text()
joa, versuch mal data.text() mal gucken was kommt
Error fetching GIF: string indices must be integers, not 'str'
also ist halt ein @botping event
und des wegen versteh ich das ja grade auch nicht
Zervyrel
Kommentiere mal die anderen sachen raus und gucke mal was nur gif_data gibt
ausser aiohttp
[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
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>
mhm ist nicht 403 ein Permission Fehler?