#Allgemeine Hilfe
1 messages · Page 60 of 1
sry hab schon

Max
Nö
Geanu
Sei respektvoll
Kann mir jemand sagen welchen url=""
ich brauche für avatar command
Als Variable oder wie sie aufgebaut ist?
Ich brauch die url damit man das PB anzeigen kann
.avatar_url
@native plume es gibt's kein .avatar_url es gibt's nur avatar.url
Du schreibst das jz zum 3. mal xD
Ja war die ganze ein schreib Fehler dabei
warum krieg ich diesen fehler ich hab einfach nur das template von github benutzt und meinen token eingefügt
discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access
perfekt
Dein bot hat auf die Website oder was du da eingegeben hast keine Rechte also keinen Zugriff
Zeig mal wie du dich in deine DB Einloggst
Hast du mal probiert in der .getAll(interaction) einzusetzen ?
@slash_command(description="Entbanne einen User aus dem Server")
@discord.default_permissions(ban_members=True)
@discord.guild_only()
async def unban(
self,
ctx,
member: Option(str, autocomplete=basic_autocomplete(unban_autocomplete), description="Wähle den User aus, den du entbannen willst", required=True),
):
unban_embed = discord.Embed(
title=f"`✅` Unban {member}",
description=f"Du hast den User {member} auf dem Server **{ctx.guild.name}** entbannt.",
color=discord.Color.green(),
timestamp=datetime.datetime.utcnow()
)
unban_embed.add_field(name="Moderator:", value=f"{ctx.author}", inline=False)
unban_embed.set_author(name=f"{ctx.guild.name}")
unban_embed.set_footer(text=f"{ctx.bot.user.name}#{ctx.bot.user.discriminator}", icon_url=ctx.bot.user.avatar.url)
try:
async for ban in ctx.guild.bans():
if f'{ban.user}' == f'{member}':
ban_entry = await ctx.guild.fetch_ban(member)
await ctx.guild.unban(ban_entry.user)```
https://i.imgur.com/pt8G4Os.png
Du kannst es halt an dir andere class übergeben
wie
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github ► https://github.com/tibue99/tutorial-bot
Discord Developer Portal ► https://discord.com/developers/applications
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discord.gg/pycord
Heute klären wir eine Frage, die ...
bringt nix hab nix gefunden was mir hilft
möchte aus dem modal was ich habe damit das embed bearbeiten
Wo genau?
Jo mb du musst aus deinem Str von deiner Option einen User machen
ok
Also discord.Member anstatt String
Ne habe autocomplete
Dann mach aus dem member mit discord.utils ein Member Objekt und kein Str
Und wie soll ich das machen?
member = discord.utils.get(ctx.guild.members, name='Test')
Hallo Mystics
und statt Test dann member richtig?
Hello
Jo und die strings weg
Wieso kannst du nicht coden Mystics
😡
Was versuchst du da eig
Unban autocomplete
Schau einf in Code Austausch da ist einer 🤨
😡
Mystics musst schon was schreiben die Emojis ☹️
Ja verstehe nicht warum du das Embed nicht einfach im callback bearbeitest, kenne keinen Grund warum man das anderst machen sollte
Hm schon sus
File "/usr/local/lib/python3.10/threading.py", line 935, in start
_start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread```
ist das wegen ezcord oder wegen dem server
@solid ingot wegen was ist das
was ist denn der code?
das ist wegen @viscid lake
Unhandled exception in internal background task 'check_key_valid'.
Traceback (most recent call last):
File "/home/container/.local/lib/python3.10/site-packages/discord/ext/tasks/__init__.py", line 169, in _loop
await self.coro(*args, **kwargs)
File "/home/container/cogs/admin/premium.py", line 34, in check_key_valid
for i in await Premium.getKeys():
File "/home/container/cogs/admin/premium.py", line 154, in getKeys
data = await Database.execute(("SELECT * FROM keys", ()))
File "/home/container/cogs/admin/premium.py", line 126, in execute
conn = await cls.connect()
File "/home/container/cogs/admin/premium.py", line 122, in connect
return await aiosqlite.connect('/home/container/premium.db')
File "/home/container/.local/lib/python3.10/site-packages/aiosqlite/core.py", line 150, in __await__
self.start()
File "/usr/local/lib/python3.10/threading.py", line 935, in start
_start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread
Unhandled exception in internal background task 'check_premium_valid'.
Traceback (most recent call last):
File "/home/container/.local/lib/python3.10/site-packages/discord/ext/tasks/__init__.py", line 169, in _loop
await self.coro(*args, **kwargs)
File "/home/container/cogs/admin/premium.py", line 22, in check_premium_valid
for i in await PremiumUser.get():
File "/home/container/cogs/admin/premium.py", line 181, in get
data = await Database.execute(("SELECT * FROM premium_users", ()))
File "/home/container/cogs/admin/premium.py", line 126, in execute
conn = await cls.connect()
File "/home/container/cogs/admin/premium.py", line 122, in connect
return await aiosqlite.connect('/home/container/premium.db')
File "/home/container/.local/lib/python3.10/site-packages/aiosqlite/core.py", line 150, in __await__
self.start()
File "/usr/local/lib/python3.10/threading.py", line 935, in start
_start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread
Unhandled exception in internal background task 'check_feeds'.
Traceback (most recent call last):
File "/home/container/.local/lib/python3.10/site-packages/discord/ext/tasks/__init__.py", line 169, in _loop
await self.coro(*args, **kwargs)
File "/home/container/cogs/utils/news.py", line 19, in check_feeds
async with aiosqlite.connect(self.DB) as db:
File "/home/container/.local/lib/python3.10/site-packages/aiosqlite/core.py", line 154, in __aenter__
return await self
File "/home/container/.local/lib/python3.10/site-packages/aiosqlite/core.py", line 150, in __await__
self.start()
File "/usr/local/lib/python3.10/threading.py", line 935, in start
_start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread```
aber geht jetzt wieder
@viscid lake schick Mal deinen Code bitte
Bin grad nicht zuhause
Wie kann ich das einstellen beim keksbot
mit /ticket kategorie
Ok
[ERROR] Error while executing /reminder create
Traceback (most recent call last):
File "C:\Users\Leander\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\Leander\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\commands\core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Users\Leander\PycharmProjects\clyde\modules\utils\reminder.py", line 53, in create
await asyncio.sleep(zeit_in_sekunden)
File "C:\Users\Leander\AppData\Local\Programs\Python\Python311\Lib\asyncio\tasks.py", line 629, in sleep
if delay <= 0:
^^^^^^^^^^
TypeError: '<=' not supported between instances of 'str' and 'int'```
import discord
import ezcord
import asyncio
from discord.ext import commands
from discord.commands import SlashCommandGroup, Option
from addons import colors, emojis
class ReminderCog(ezcord.Cog):
reminder = SlashCommandGroup("reminder")
@reminder.command(description="📆 │ Erstelle eine Erinnerung!")
async def create(self, ctx):
def numbercheck(message):
return message.author == ctx.author and message.channel == ctx.channel and message.content.isdigit()
def check(message):
return message.author == ctx.author and message.channel == ctx.channel
embed = discord.Embed(
description=f"🕑 **BEEP!** Bitte gebe eine Zeit in Minuten an...",
color=colors.blue
)
await ctx.respond(embed=embed)
answer = await self.bot.wait_for("message", check=numbercheck)
eb = discord.Embed(
description=f"📆 **BEEP!** Bitte gebe den Titel der Erinnerung an...",
color=colors.blue
)
await answer.reply(embed=eb)
answer1 = await self.bot.wait_for("message", check=check)
emb = discord.Embed(
description=f"{emojis.check} **BEEP!** Erfolgreich abgeschlossen...",
color=colors.green
)
repl = await answer1.reply(embed=emb)
thenbed = discord.Embed(
title="📆 **Erinnerung erstellt!**",
description=f"> Titel: `{answer1.content}`\n> Zeit: `{answer.content} Minuten`",
color=colors.blue
)
thenbed.set_thumbnail(url=ctx.user.display_avatar)
await repl.edit(embeds=[emb, thenbed])
zeit_in_sekunden = answer.content * 60
await asyncio.sleep(zeit_in_sekunden)
await ctx.channel.send(f"{ctx.user.mention} Erinnerung: `{answer1.content}`")
def setup(bot: discord.Bot):
bot.add_cog(ReminderCog(bot))```
Fehler tritt bei await asyncio.sleep(zeit_in_sekunden) auf.
Die Message auf die du Wartest ist ein String du kannst aber keinen Str mit einem int vergleichen
Ändere diese Zeile:
zeit_in_sekunden = answer.content * 60
am besten zu:
zeit_in_sekunden = int(answer.content) * 60
Weil answer.content ja eigentlich ein String ist

Danke, dachte der macht das selber wil ich ja abfrage ob die Antwort ein int ist.
wie kommst du eigentlich darauf dass das an ezcord liegt? du verwendest in dem gesamten code nicht eine einzige ezcord funktion 😄
ich schätze mal es liegt daran dass du die DB-Verbindungen, die du aufmachst, nicht wieder schließt
Mir wurde es so gesagt
Dann wurde es dir falsch gesagt
Du importierst ezcord ja nicht mal, also kann es daran auf jeden Fall nicht liegen
Und sollte eigentlich klar sein das es nicht an ezcord liegt, da im Error nicht mal ezcord erwähnt wird
Error lesen würde sich lohnen
File "c:\Users\peter\Desktop\LSMD Bot\main.py", line 50, in <module>
bot.load_cogs("cogs")
File "C:\Users\peter\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\bot.py", line 227, in load_cogs
self.load_extension(f"{'.'.join(path.parts)}.{name}")
File "C:\Users\peter\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 910, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\peter\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 791, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.tempchannel' raised an error: AttributeError: 'Bot' object has no attribute 'add_command'PS C:\Users\peter\Desktop\LSMD Bot>````
Kann mir da einer helfen
nutzt du prefix commands? ansonsten ist es vlt ein installationsfehler, schau dazu mal in #🔍・pycord-help
das bei pycod-help hab ich gemacht jetzt kommt der fehler
File "c:\Users\peter\Desktop\LSMD Bot\main.py", line 1, in <module>
import discord
ModuleNotFoundError: No module named 'discord'```
das heißt, dass py-cord nicht installiert ist
aiomysql==0.2.0
aiosignal==1.3.1
aiosqlite==0.19.0
annotated-types==0.6.0
anyio==3.7.1
async-generator==1.10
async-timeout==4.0.3
attrs==23.1.0
certifi==2023.7.22
cffi==1.16.0
charset-normalizer==3.3.1
chat-exporter==2.6.1
clashroyale==4.0.1
colorama==0.4.6
distro==1.8.0
embed==0.1.0
emoji==2.8.0
exceptiongroup==1.1.3
ezcord==0.4.1
frozenlist==1.4.0
grapheme==0.6.0
h11==0.14.0
httpcore==1.0.2
httpx==0.25.1
idna==3.4
multidict==6.0.4
openai==1.3.3
psutil==5.9.6
py-cord-dev==2.5.0rc5
pycparser==2.21
pydantic==2.5.1
pydantic_core==2.14.3
PyMySQL==1.1.0
PyNaCl==1.5.0
python-box==7.1.1
python-dotenv==1.0.0
pytz==2023.3.post1
requests==2.31.0
sniffio==1.3.0
tqdm==4.66.1
typing_extensions==4.8.0
yarl==1.9.2```
installiere pycord mal neu
jetzt kommt wieder der fehler
File "c:\Users\peter\Desktop\LSMD Bot\main.py", line 50, in <module>
bot.load_cogs("cogs")
File "C:\Users\peter\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\bot.py", line 229, in load_cogs
self.load_extension(f"{'.'.join(path.parts)}.{name}")
File "C:\Users\peter\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 910, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\peter\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 791, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.tempchannel' raised an error: AttributeError: 'Bot' object has no attribute 'add_command'```
nutzt du prefix commands?
nein slash commands
schick mal den tempchannel code
schick ich dir privat
mach mal das @commands.command() weg und ersetze es durch @slash_command
Hier findest du das Cog Template 🍕
Hey weiß einer warum beim slash command produkt nicht angezeitg wird?
@slash_command(description="Sende ein Payment")
async def pay(self, ctx, user: Option(discord.Member, "Wähle ein Member aus"), preis: Option(int, "Wähle ein Preis"), produkt: Option(str, "Wähle ein Produkt")):
embed = discord.Embed(
title="💵 | BEZAHLMETHODE",
description=f"Hey {user.mention}, bitte wähle deine Bezahlmethode aus mit der du bezahlen willst.\n\n **Preis:**\n > {preis}\n\n **Produkt:**\n {produkt}",
color=discord.Color.blue()
)
embed.set_thumbnail(url="https://cdn.discordapp.com/attachments/1083838847986696323/1174809173423292467/R.png?ex=6568f14d&is=65567c4d&hm=abb47b40cd58e7b24a23a370df1974571150221583ebcdd1b872dae2956612a8&")
embed.set_footer(text="Side Service 2023", icon_url="https://cdn.discordapp.com/attachments/1175479743789928529/1177304870051659926/sideservice_winter.gif?ex=6572059a&is=655f909a&hm=c3a820a092b6cb52144cee2e735789c4b9956ea4f78d813d6df30e444c61e5c8&")
embed.set_author(name="Payment", icon_url="https://cdn.discordapp.com/attachments/1175479743789928529/1177304870051659926/sideservice_winter.gif?ex=6572059a&is=655f909a&hm=c3a820a092b6cb52144cee2e735789c4b9956ea4f78d813d6df30e444c61e5c8&")
embed.set_image(url="https://cdn.discordapp.com/attachments/1175479743789928529/1177304871070879804/sideservice_serverbanner_winter.png?ex=6572059a&is=655f909a&hm=62a9f0ba8c006b2605c1e8327b1856778ee2c7ce5cf7bd7dfaaf9d9313f267d0&")
await ctx.respond(embed=embed, view=Bezahlmethoden(self.bot))
Wie meinst du das?
Soll da nh autocomplete oder nh choice für den Produkt sein?
Alles gut der command brauchte nur ein bisschen zum laden erst wollte er die option produkt nicht anzeigen deswegen
Ich hätte nochj eine frage wieso wird der slash command nicht angezeigt
from enum import member
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
class Payregister(commands.Cog):
def __init__(self, bot: discord.Bot):
self.bot = bot
@slash_command(description="Registriere einen Kauf!")
async def payregister(self, ctx, kunde: Option(discord.Member, "Wähle den Kunden aus!"), produkt: Option(str, "Wähle das Produkt aus"), payment: Option(str, "wähle die Bezahlmethode aus!"), preis: Option(int, "Wähle den Preis"), email: Option(str, "Schreibe die E-Mail vom Kunden")):
embed = discord.Embed(
title="Succses",
description=f"The payment from **{kunde.name}** was registered successfully! Thanks for registering <3",
color=discord.Color.blue
)
embed.set_author(name="〢 side service - Payment registered", icon_url="https://cdn.discordapp.com/attachments/1175479743789928529/1177304870051659926/sideservice_winter.gif?ex=6572059a&is=655f909a&hm=c3a820a092b6cb52144cee2e735789c4b9956ea4f78d813d6df30e444c61e5c8&")
logembed = discord.Embed(
title="Neuer Payment Register!",
description=f"**Kunde:**\n ``{kunde.mention}``\n **Produkt:**\n ``{produkt}``\n **Payment:**:\n ``{payment}``\n **Preis:**\n ``{preis}``\n **Email:**\n ``{email}``"
)
logembed.set_author(text="Neue Bezahlung - Side Service")
logembed.set_footer(text=f"Payment angefordert von ")
channel = self.bot.get_channel(1177607837006975027)
await ctx.send(embed=embed)
await ctx.channel.send(embed=logembed)
def setup(bot: discord.Bot):
bot.add_cog(Payregister(bot))
Die fehlt das ctx.respond
Oder nutzt du Dc.py
Also ctx.respond einbauen
ja hab
Richtige Einrückung ?
Lädst du den Cog richtig
ja hab das in der main
if __name__ == "__main__":
for filename in os.listdir("cogs"):
if filename.endswith(".py"):
bot.load_extension(f"cogs.{filename[:-3]}")
Und du hast keine errors?
ne keine startet alles normal deswgen ist es ja komisch
so geht jz musste debug guilds hinzufügen
zur main
Oder du lässt debug_guilds komplett weg ;)
na dann ging es halt nicht
Alr
Aber trz danke
kann man bei einem dropdown menü nach einer interaktion das dropdown deaktiviren
ja
kannst du mir bitte sagen wie
Nö
Du hast gefragt ob man das kann, ja das kann man.
Aber wie das geht, musst du selber herausfinden
Sonst lernst du es nicht
Trotzdem kann man ihm doch sagen wie das geht oder Tipps sagen. Dafür ist der Channel doch da ^^
Naja, der Channel ist meiner Meinung nach eher dafür da, dass wenn man im Internet wirklich nichts finden würde, dann hier fragt.
Aber da ich weiß, dass wenn man nach Pycord disable a button order pycord disable a select menu sucht, direkt sogar nh beispiel von guide.pycord.dev kommt.
Also erst googlen.
wo muss ich das select.disabled = True hinmachen ?
Am besten in deinen Code
aber wo genau ich habe es reingemacht es geht aber nd
Learn all about implementing Select Menus or Dropdowns in your Discord Bot with Pycord.
Da stehts
wie kann ich nen button für ne bestimmte zeit disablen? zb einfach für 10 min oder so?
naja, du müsstest den die nachricht nach 10min wieder bearbeiten
musst dich drauf setzen
bin gerade in der 2 Folge vom Dashboard und bekomme da aber ein riesen fehler
das ist meine main.py:
import uvicorn
from discord.ext.ipc import Client
from fastapi import FastAPI, Request
from fastapi.staticfiles import StaticFiles
from starlette.templating import Jinja2Templates
import os
from dotenv import load_dotenv
app = FastAPI()
app.mount("/static", StaticFiles(directory="frontend/static"), name="static")
templates = Jinja2Templates(directory="frontend")
load_dotenv()
ipc = Client(secret_key=os.getenv("SECRET_KEY"))
@app.get("/")
async def home(request: Request):
guild_count = await ipc.request("guild_count")
return templates.TemplateResponse(
"index.html",
{
"request": request,
"count": guild_count.response
}
)
if __name__ == "__main__":
uvicorn.run("main:app", host="localhost", port=8000, reload=True)```
und das die bot
```py
import discord
import ezcord
from dotenv import load_dotenv
import os
from discord.ext.ipc import Server
class Bot(ezcord.Bot):
def __init__(self):
super().__init__(intents=discord.Intents.default(),)
self.ipc = Server(self, secret_key=os.getenv("SECRET_KEY"))
async def on_ready(self):
await self.ipc.start()
print('Bot is ready!')
@Server.route()
async def guild_count(self, _):
return str(len(self.guilds))
async def on_ipc_error(self, endpoint: str, exc: Exception) -> None:
raise exc
bot = Bot()
load_dotenv()
bot.run(os.getenv("TOKEN"))
Bin Grad nur am Handy, und will den Error nd downloaden
Aber hast du denn deinen Bot + den Server gestartet?
Also zusammen
Das ist sein Error
super().__init__(timeout=None)
Das muss ich doch hinschreiben wenn, von meinem Ticket System nach dem Restart das dropdown nicht mehr geht oder ?
Weil irgendwie geht das trz nicht
Du musst es auch ins on_ready hinzufügen
@commands.Cog.listener()
async def on_ready(self):
self.bot.add_view(TutorialView())```
so ?
@commands.Cog.listener()
async def on_ready(self):
super().__init__(timeout=None)
self.bot.add_view(SelectMenu(self.bot))
self.bot.add_view(Ticketcommand(self.bot))
...
also ja? oder muss das nach ganz unten ans event?
Ich sag nix mehr dazu
hm
aber auch wenn es ein dropdown ist und kein button?
aber nicht hier rein oder ?
class SelectMenu(discord.ui.View):
def __init__(self, bot) -> None:
self.bot = bot
super().__init__(timeout=None)
options = [
discord.SelectOption(label="⛔|Support Ticket", description="Öffne ein Support Ticket", value="1"),
discord.SelectOption(label="🤝|Partner", description="Öffne ein Partner Ticket", value="2"),
discord.SelectOption(label="🛒|Buy", description="Öffne ein Buy Ticket", value="3"),
]
@discord.ui.select(
min_values=1,
max_values=1,
placeholder="Wähle eine Kategorie",
options=options,
custom_id="drop"
)
https://twevis.live/upload/g8k9gd3x94qe.png was bedeutet das?
du darfst du nur einmal auf eine interaction antworten
ah oke
bei mir kommt dieser error bei meinem ticket system kann mir bitte wer helfen
[ERROR] Error while executing /ticket
Traceback (most recent call last):
File "C:\Users\Filip\PycharmProjects\testbot\venv\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\Filip\PycharmProjects\testbot\venv\Lib\site-packages\discord\commands\core.py", line 978, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Users\Filip\PycharmProjects\testbot\cogs\ticket.py", line 26, in ticket
await ctx.respond(embed=ticketembed, view=Ticketbutton)
File "C:\Users\Filip\PycharmProjects\testbot\venv\Lib\site-packages\discord\commands\context.py", line 282, in respond
return await self.interaction.response.send_message(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Filip\PycharmProjects\testbot\venv\Lib\site-packages\discord\interactions.py", line 789, in send_message
payload["components"] = view.to_components()
^^^^^^^^^^^^^^^^^^^^
TypeError: View.to_components() missing 1 required positional argument: 'self'
Code ? @wicked echo
Ticketbutton ist, vermute ich mal, eine klasse.
Das heißt du hast die Klammern am ende vergessen
dort sind aber klammern
da sind welche
class Ticketbutton(discord.ui.View):
def __init__(self, bot: discord.Bot) -> None:
self.bot = bot
super().__init__(timeout=None)
@discord.ui.button(label="Ticket Erstellen", style=discord.ButtonStyle.red, emoji="<ticket:1178002661379932251>")
async def button_callback(self, button, interaction):
bembed = discord.Embed(
description="Wähle eine der Ticket-Kategorien aus um ein Ticket zu erstellen."
)
bembed.set_author(icon_url="https://cdn.discordapp.com/attachments/1099308632551723039/1178006066466918410/Side-transp.png?ex=657492a4&is=65621da4&hm=4b2fbe113257c93105c5ec5255a4c106bae2033721348736f296a70f05299d2e&", name="Flip Tickets")
bembed.set_footer(icon_url="https://cdn.discordapp.com/attachments/1099308632551723039/1178006066466918410/Side-transp.png?ex=657492a4&is=65621da4&hm=4b2fbe113257c93105c5ec5255a4c106bae2033721348736f296a70f05299d2e&", text="Flip Tickets")
await interaction.response.send_message(embed=bembed)
Also wenn du nicht mal weißt, wo der Fehler liegt...
Dann lern die Grundlagen und Lern die Errors zu verstehen
ich habe es so aber bei meinem alten ticket system auch so und es geht
Der fehler tritt in deinem ticket command auf, in Zeile 26
@wicked echo jemand anders wird dir helfen.
Bei solchen Kleinigkeiten, lasse ich es sein.
egal habs dort musste(self.bot) rein
Traceback (most recent call last):
File "/home/container/.local/lib/python3.10/site-packages/discord/client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "/home/container/cogs/logsv2.py", line 141, in on_guild_channel_delete
await channel.send(embed=em)
AttributeError: 'int' object has no attribute 'send'
Was bedeutet das
...
- Das sind grundlagen, das solltest du selbst lösen können.
- Deine
channel-Variable ist nur eine Nummer, also ein Integer. - Du nutzt
.sendan dem Integer, was zu dem Error führt. - Das liegt daran, dass man keine Nachricht an eine Zahl senden kann
Lösungsvorschlag:
Du gettest den Channel.
Wie man das macht?
Das findest du auf Google oder in den Dokumentationen.
Na getten weiß ich mit Self.bot.get_channel()
Hast du jetzt das problem gelöst?
geht trz nicht ```py
@commands.Cog.listener()
async def on_message_edit(self, before, after):
channel = self.bot.get_channel(self.message_edit_channel_id)
embed = dicord.Embed(
title='💬 MESSAGE BEARBEITET',
description=f'**Bearbeitete MESSAGE from**: {before.author}'
f'\r\n**Alte MESSAGE**: {before.content}'
f'\r\n**New MESSAGE**: {after.content}',
color=discord.Colour.embed_background()
)
await channel.send(embed=embed)
Einfach machen
😲
Lacher
Macher
@bot.event
async def on_member_update(before, after):
if before.nick != after.nick:
for role in after.roles:
if role.name == 'Sky Team':
new_nickname = f'[Team] {after.display_name}'
await after.edit(nick=new_nickname)```
Warum gibt der Bot keine nickname?
Hat der bot die bestimmten Rechte dazu
Der bot braucht Manage Manage Nicknames als Berechtigung
if __name__ == "__main__":
for filename in os.listdir("cogs"):
if filename.endswith(".py"):
bot.load_extension(f"cogs.{filename[:-3]}")
Logger.info(message=f"Loaded {filename[:-3]}")
bot.run(token=BOT_TOKEN)```
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:...
da erklärt dir timo wie du das machst
Will aber meinen eigenen Logger nehmen und dafür brauche ich self nur wie bekomme ich das?
du kannst doch bei ezcord auch die meisten logger haben?
@lucid furnace pip freeze und des mal senden
ah mein freund hats gefixed
du kannst die ezcord logs so anpssen wie du sie haben möchtest, aber wenn du einen eigenen logger benutzen willst, solltest du dir vielleicht vorher ein Tutorial zum Python logging Modul anschauen
Ok
ja @mystic flower
Ja @tawdry leaf
Moin! Ich möchte eigentlich mit Datetime als strftime das Datum und die Uhrzeit getrennt anzeigen lassen. Aber es kommt immer das:
Code: 📆 {datetime.datetime.now().strftime('%d.%m.%Y')} - 🕓 {datetime.datetime.now().strftime('%H:%M:%S')}
Problem gelöst.
kann mir wer helfen bei dem Verify system kommt so ein error es ist ein captcha verify system
Ignoring exception in view <VerifyView timeout=None children=1> for item <Button style=<ButtonStyle.success: 3> url=None disabled=False label='Verify' emoji=<PartialEmoji animated=False name='✅' id=None> row=None>:
Traceback (most recent call last):
File "C:\Users\Filip\PycharmProjects\testbot\venv\Lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "C:\Users\Filip\PycharmProjects\testbot\cogs\recaptcha.py", line 80, in button_callback1
await member.add_roles(role)
File "C:\Users\Filip\PycharmProjects\testbot\venv\Lib\site-packages\discord\member.py", line 1007, in add_roles
await req(guild_id, user_id, role.id, reason=reason)
File "C:\Users\Filip\PycharmProjects\testbot\venv\Lib\site-packages\discord\http.py", line 365, in request
raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions
der bot hat keine Rechte wie da steht
Oh ok danke
geht trozdem nicht er hat jetzt die rechte kommt aber trozdem der gleiche error
Ist die Rolle vom Bot höher, als die Rolle die er geben soll?
Oha
Oha?
Keine Ahnung mir war gerade langweilig
Ok
Ok
Hehe hehe

oh habe ich vergessen
Moin! Ich möchte im Shop-System abfragen ob ein Nutzer mindestens 20 Kekse hat. Wenn ja bekommt er die Rolle. Aber es kommt immer die Nachricht Du hast nicht genügend Kekse auch wenn er mehr als 20 Kekse hat. Wie kann ich abfragen ob er mindestens 20 Kekse hat? Aktueller Code: if await db.get_cookies(interaction.user.id) == 20:
Also jz fragst du ja nur ob er genau 20 hat du musst noch ein größer Zeichen machen
if await db.get_cookies(interaction.user.id) == 20<:?
So bekomme ich nen Fehler
Hat geklappt ?
Jap.
wie starte ich den beides ?
war bis jertzt nicht on
Das hat Timo im wieder gezeigt
In VSCode:
Terminal Splitten und in den einem den Bot starten und im anderen deinen Server starten
Oder du nutzt die threading library
Kann ich 2 Bots in 1 terminal starten
na wenn ich auf die seite den gehen will also (http://localhost:8000/) lädt die nur die ganze zeit
Führ mal aus? Willst du einfach beide Logs in einer Konsole haben oder wie? Dann könntest du auch einen Console Logger nehmen
@fierce dove für dich das selbe.
Den Terminal splitten und beides starten.
Oder halt threading nutzen
Sollte mit threading auch klappen
Ja
PS C:\Users\melvi\Desktop\dashborard> & C:/Users/melvi/AppData/Local/Programs/Python/Python311/python.exe c:/Users/melvi/Desktop/dashborard/main.py
INFO: Will watch for changes in these directories: ['C:\\Users\\melvi\\Desktop\\dashborard']
INFO: Uvicorn running on http://localhost:8000 (Press CTRL+C to quit)
INFO: Started reloader process [28196] using StatReload
INFO: Started server process [5148]
INFO: Waiting for application startup.
INFO: Application startup complete.
``` das steht in der console aber wenn ich auf die seite gehen will lädt die die ganze zeit nur
kein plan ist einfach so
wie kann ich das ändern
Keine Ahnung. Kenne Timos Dashboard Tutorial nicht.
Das ist schon richtig. Er wird ja sein Pfad kopiert haben
ok aber warum komme ich nicht auf die seite bei http://localhost:8000/ weil das lädt die ganze zeit aber auf anderen seiten komme ich ja auch
aj jetzt geht es aber es kommt jetzt der fehlercode:
und auf der webseite steht das
Internal Server Error
wieso schaust du nich einf des video an dieser stelle?
wieso schaut er überhaupt das Video? hehehehe
na ich bin doch bei den 2 video aber bei im geht es bei mir nicht
vergleich den github code
Ne
Außer beim fortnite spielen
FALLSCHADEN
Schallfaden...
Was meinst du
😄
Ich hasse fallschaden
hab ich da was falsch? wird nicht als command angezeigt
da steht missing acess obwohl der bot alles hat
Was ist genau der Error und was hat er alles?
der bot hat admin per seite bekommen
und admin rolle auf server
Da wo du deinen Bot definiert hast, hast du debug_guilds angegeben?
Juliaaaaaaaan
wait ich gucke
ohh huch
ohh huch
nur der command geht trotzdem nich auch kein fehler
??
Das beantwortet meine frage immer noch nicht
jaa ich habs angegeben und jetzt raus gelöscht jetzt hat der bots alle perms nur gehen tut da trotzdem nichts
Ja kann bisschen dauern.
Wenn ich solche änderungen mache, wechsel ich manchmal den server, dann geht der command
Also is bei mir so
kann ich den bot einf kicken und wieder drauf packen bringt das was?
Probiers aus
Jut hat so geklappt danke dir
Und woher kanntest du meinen Namen ?😂😂
._.
Finds selber mal heraus
hallo bitte an die Regeln halten -_-

hmmmmm? hehehe
Hacker 
Klar ._.
ich bin voll der krasse hacker, weil ich auf dein Discord Namen klicken kann und dann deinen echten namen sehe
Bruder warum hast du 3 mal Discord Offen? xD
Kann ich mit mehreren egirls schreiben Spaß keine Ahnung man
Der command geht nicht, ich bekomme kein Error
@slash_command()
async def befehle(self,ctx):
support_roles = ["| Angestellt"]
for support_role_name in support_roles:
support_role = discord.utils.get(ctx.guild.roles, name=support_role_name)
if support_role:
return
await ctx.respond("""Alle Befehle werden mit ">" angefangen
>moin = moin
serverinfo = ist eine info für denn ganzen server
Es kommen mehr Befehle""")```
@slash_command()
async def befehle(self,ctx):
support_roles = ["| Angestellt"]
for support_role_name in support_roles:
support_role = discord.utils.get(ctx.guild.roles, name=support_role_name)
if support_role:
return
await ctx.respond("""Alle Befehle werden mit ">" angefangen
>moin = moin
serverinfo = ist eine info für denn ganzen server
Es kommen mehr Befehle""")```
??
Schau deine Einrückung schaue meine
ist noch einer wach wegen helfen ?
Traceback (most recent call last):
File "d:\Projects\Sky bot\main.py", line 42, in <module>
bot.load_cogs("cogs",subdirectories=True)
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\ezcord\bot.py", line 227, in load_cogs
self.load_extension(f"{'.'.join(path.parts)}.{name}")
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 913, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 780, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.schokolade' raised an error: IndentationError: unexpected indent (schokolade.py, line 258)```
Schick mal Zeile 258 aus der schokolade.py
bei mir why ever nur bis zeile 86 angezeigt xd
Aso oke
weiß ich jetzt nicht
Wie kann ich mit hilfe eines Message Events, ein " " (Leerzeichen) aus einer Nachricht erkennen, da ich derzeit ein ChatFilter mache und da Non ASCII Letters rausfiltern muss, und muss deswegen das Leerzeichen erkennen in der Nachricht ich mache derzeit:
if " " in msg.content:
print('space')
``` aber dies funktioniert halt nicht
sollte eigentlich funktionieren, hast du Message content intent an und geprüft ob das Event ausgeführt wird? bzw msg.content Printen lassen?
Jap
funktioniert alles was du genannt hast, wenn du willst kann ich es dir kurz im Call zeigen wenn du zeit hast.
bin in der uni
1 sec
ich mach dir ein screenshot
muss ich message.content() machen?
Und mein Intent für Message Contents ist an
Er meinte nur die Zeile 258
- Punkt
printe message.content
geht leider immer noch nicht.
Sehr lustig. ha ha ha.
@urban glen lass mich noch so machen wie ich will ?
Habe ich irgendwas verboten?
Meiner meinung nach gehören sich solche Texte aber nicht.
das ist dein code oder mein code ?
Habe ich irgendwas über deinen Code gesagt?
Nein, ich rede nur von diesem Text.
Das sich sowas nicht gehört.
Da muss ich dir rechte geben
@ruby sparrow für dich -> hodenkrebs ist eine scheis Krebs allgemein und sich über Krankheit lustig machen egal welche ist Unmenschlich ekelhaft
Sag das @ruby sparrow nicht mir ._.
Ich hab dir recht geben das andere Ding an den
bro chill mal jerzt ping mich noch nicht ihr ....
Wat 
bro das ist ein alter code er code ist nicht mehr da
Ist trz alleine das du sowas gemacht hast ob er jetzt weg ist oder nicht es bleibt Unmenschlich
bro halt dem mund jerzt oder ticket broo
Mach ein Ticket wegen was willst du mich Reporten? Wegen meiner Meinung? Und sei höflicher
ping darf man nicht die ganze zeit bro
Ich hab dich genau einmal markiert 
Ich sehe auch keine Regel die es verbietet jemand zu markieren zudem bist du auf Discord da ist es nun mal üblich das man markiert wird
Bruder, nervt mich einfach nicht
Ich hab dich gar nichts gemacht mehr 
Bruder ich habe den Code schon lange umgeändert wenn du nicht mitbekommen hast...

https://i.imgur.com/M5FjRhP.png
Du hast mich auch gepinged
ein mal broo
Mach doch ticket?
Was willst du denn sagen?
"Ehm ja, da regen sich leute auf, weil ich bisschen spaß über Hodenkrebs mache"
Ein Kumpel möchte wissen wie das Plugin heißt mit dem Computer hinter dem namen
Ist Vencord
Idk muss dein Kumpel selber suchen
Er findet nix
Ahh
Dann hat er pech
Oha


Er findet trotzdem nix
Ich zitiere:
Dann hat er pech ~ @urban glen
Warum so gemein
Warum so neugierig
Reicht der will den Namen nicht sagen also akzeptiere es auch
Weil er mich damit nervt
Dafür kann afc aber nichts
Ich gebe dir nen tipp, dann nervt er dich nicht mehr:
Sag ihm einfach "Tja, dann hast du pech".

Digga Hahah
OK ky
Oder ich sage Downloade dir alle Plugins
Und is nicht mein Problem wenn er dich damit nervt
Dann soll er halt bei den Plugins die Beschreibung lesen.
Aber wie es aussieht, scheint er zu unterentwickelt zu sein um selber auf die Idee zu kommen.
Xd
Ji
Jo
...
was...
Was ist denn das wichtigste in Python?
Einrückung
Ja. Und jetzt finde mal deinen Fehler.
so?
Bin ich ein Code Compiler??
Ja
Geh du mal lieber deinem Kumpel beim suchen helfen
Keine Lust
Dann mach das du lust hast
Wie
Sag du es mir
Ne
Uii
kann mir wer hierbei helfen. ich möchte das geschaut wird ob der user in den Letzten 10 nachrichten bzw. aktivitäten den slashcmds mit dem namen dort ausgeführt hat
async for message in msg.channel.history(limit=10, oldest_first=True):
cmd = message.clean_content.lower()
print(cmd)
if cmd == "/setup-antilink" and message.author == msg.author:
return```
[ERROR] Error while executing /chokolade event
Traceback (most recent call last):
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "D:\Projects\Sky bot\cogs\schokolade.py", line 204, in event
Schokolade = await db.fetchone()
AttributeError: 'SchokoladeDB' object has no attribute 'fetchone'```
line 204 db zu data ändern
╰──────────────┴─────────────────────┴──────────┴──────────┴────────┴─────────╯
[ERROR] Error while executing /chokolade event
Traceback (most recent call last):
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "D:\Projects\Sky bot\cogs\schokolade.py", line 204, in event
Schokolade = await data.fetchone()
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\cursor.py", line 65, in fetchone
return await self._execute(self._cursor.fetchone)
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\cursor.py", line 40, in _execute
return await self._conn._execute(fn, *args, **kwargs)
File "C:\Users\nicor\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 126, in _execute
raise ValueError("Connection closed")
ValueError: Connection closed``` jerzt kommt
hast du dich mit der db verbunden?
hier dem ganze
Wieso hast du nicht alles zu der ezcord DB umgeschrieben sondern nur bisschen was
@ruby sparrow würde dir empfehlen das Video zu dB handler von ezcord anzuschauen
Und ich würde ihm empfehlen davor erstmal die Grundlagen anzuschauen

Die sind da gut erklärt kekw 
Wie kann ich ein 2ten Server bei Keks hosting machen?
#💻・cookie-hosting
ah danke
Warum gibt er nicht alles, was da ist, und warum gibt er nur ein Stück davon?
nochmal was soll der bot machen und was ist genau der fehler
kann man prefix commands in ezcord benutzen
Jo
Hier
jo danke
Bitte
Was ist ein bridge bot nochmal
Das gleiche glaube ich @solid ingot
es kommt kein error
Ignoring exception in modal <commands.apply.applymodal1 object at 0x7f8285b75ab0>:
Traceback (most recent call last):
File "/home/container/.local/lib/python3.10/site-packages/discord/ui/modal.py", line 341, in dispatch
await value.callback(interaction)
File "/home/container/commands/apply.py", line 59, in callback
channel = await bot.fetch_channel(1179056150407303290)
File "/home/container/.local/lib/python3.10/site-packages/discord/client.py", line 1629, in fetch_channel
data = await self.http.get_channel(channel_id)
File "/home/container/.local/lib/python3.10/site-packages/discord/http.py", line 283, in request
async with self.__session.request(
AttributeError: '_MissingSentinel' object has no attribute 'request'```
```py
channel = await bot.fetch_channel(1179056150407303290)
await channel.send(embed=embed)
await interaction.respond.send_message("Send!")```
welche pycord version hast du?
warte
2.4.1
Traceback (most recent call last):
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "c:\Users\felix\Desktop\Backend\Neuer Test Bot\cogs\ticketv2.py", line 114, in callback
category = self.bot.get_channel(int(get_config("Support_Category")))
^^^^^^^^
AttributeError: 'Ticket' object has no attribute 'bot'
was bedeutet der error ??
code:
elif self.values[0] == 'Support':
category = self.bot.get_channel(int(get_config("Support_Category")))
channel = await category.create_text_channel(f"🎫・support {interaction.user.name}", topic=f"Author {interaction.user.mention} | {interaction.user.id}")
everyone = interaction.guild.get_role(int(get_config("Guild_ID")))
team = interaction.guild.get_role(int(get_config("Support_Accessrole")))
await channel.set_permissions(everyone, view_channel=False, send_messages=True)
await channel.set_permissions(interaction.user, view_channel=True)
await channel.set_permissions(team, view_channel=True, send_messages=True)
"bot" ist nicht definiert
zeig mal ganzen code
Du bist in nem Cog, wieso definierst du oben "bot = commands.Bot"?
wo

bro siehst du es nd
du hast es schokolade.command anstadt @schokolade.command
es ist da...

naja in der file die du gesendest hast nicht, also wusste ich es nd
nicht mit @ gesend ich weiss
kannst du mal call
kurz
ich verstehe das nicht ich kann dieses self.bot auch nicht wegmachen weil sonst kommt das es fehlt
error
Traceback (most recent call last):
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\client.py", line 378, in _run_event
await coro(*args, **kwargs)
File "c:\Users\felix\Desktop\Backend\Neuer Test Bot\cogs\ticketv2.py", line 28, in on_ready
self.bot.add_view(TicketOptions(self.bot))
^^^^^^^^^^^^^^^^^^^^^^^
TypeError: TicketOptions.__init__() takes 1 positional argument but 2 were given
code:
class TicketSystem(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
self.bot.add_view(TicketOptions(self.bot))
self.bot.add_view(CloseButton())
self.bot.add_view(ReopenButton())
self.bot.add_view(SelectView(self.bot))
egal ich will dich nur zeigen was das ich meite
Da fehlt ein Parameter
welchen call
@ruby sparrow es kann sein das du das vllt nd commitest
also db.commit
also jede datenbank änderung brauch ein commit also sagen wir ich change den users geld von 10 zu 20, damit das gesaved wird muss der bot am ende von jedem command der die datanbank benutzt und changed await db.commit() haben
ich bin schlecht in erklären, wenn du es genau brauchst frag timo ambesten
wenn du es besser erklärt haben willst
sende mal dein code ich probier denn aus
ist schwierig durch stream
bei dem on_ready event?
hab ..
ich zeigs dir
self.bot.add_view(TicketOptions(self.bot)) da wo das hier ist
, line 28, in on_ready
TypeError: TicketOptions.__init__() takes 1 positional argument but 2 were given
der nimmt 1 arguement du hast 2 reingepackt
ich benutze views ned aber ich glaub eif (self.bot) raus nehmen und testen
btw immer wenn du error hast sagt der dir sowas wie
line 28, in on_ready wenn du dafür suchst und denn error also TypeError: TicketOptions.__init__() takes 1 positional argument but 2 were given hast dann ist es ez zu fixen, also so mach ich es immer
@last depot sende mal error
Application Command raised an exception: TypeError: TicketOptions.__init__() takes 1 positional argument but 2 were given
mehr habe ich nicht
hmm
class TicketSystem(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
self.bot.add_view(TicketOptions())
self.bot.add_view(CloseButton())
self.bot.add_view(ReopenButton(self.bot))
self.bot.add_view(SelectView(self.bot))
#----------------------------------------------TICKET SYSTEM----------------------------------------------#
@slash_command(description="🎫 Ticket Command | Sends the ticket embed")
@commands.has_permissions(administrator=True)
async def ticketsend(self, ctx):
embed = discord.Embed(title="\🎫 Create ticket", description="Here you can create an ticket and get support.", color=0x1067a3)
embed.set_author(name="Side Service", icon_url="https://cdn.discordapp.com/avatars/1134995790654341180/c1833eb9b875d547da3a9a45cf3a3bec.png?size=1024")
embed.set_footer(text="Side Service - sideservice.de", icon_url="https://cdn.discordapp.com/avatars/1134995790654341180/c1833eb9b875d547da3a9a45cf3a3bec.png?size=1024")
embed.set_thumbnail(url="https://cdn.discordapp.com/avatars/1134995790654341180/c1833eb9b875d547da3a9a45cf3a3bec.png?size=1024")
embed.set_image(url="https://media.discordapp.net/attachments/1099308632551723039/1177999057365504030/sideservice_serverbanner_winter.png?ex=65748c1d&is=6562171d&hm=85a66f62c3cd734770a8cd4bc6460c0829779bd2d24417b8d214d4c4f24ef33b&=&format=webp&width=1201&height=675")
await ctx.respond(embed=embed, view=TicketOptions(self.bot))
def setup(bot):
bot.add_cog(TicketSystem(bot))
class TicketOptions(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
options = [
discord.SelectOption(label="Buy", emoji="", description="Open an buy ticket here.", value="1"),
discord.SelectOption(label="Support", emoji="", description="Open an support ticket here", value="2"),
discord.SelectOption(label="Partner", emoji="", description="Open an Partner ticket here", value="3")
]
@discord.ui.select(
min_values=1,
max_values=1,
placeholder="Was möchtest du?",
options=options,
custom_id="drop"
)
ich guck mal gleih weiter
Du übergibst etwas was du nicht erwartest
Du übergibst an die klasse den Bot, ohne es in der klasse festzulegen
Ne
Muss ich nicht angeben ?? Aber dann wird das dropdown nicht angezeigt
weil wenn ich es jetzt abschicke den command ohen das ich das übergeben habe ist kein dopdown dran
das liegt aber nicht daran
woran könnte das liegen ??
code:
from pydoc import describe
import discord
import asyncio
import json
import os
from discord.ext import commands
from discord.commands import Option
from discord.ext.commands import MissingAnyRole
from discord.ext.commands import MissingPermissions
from discord.commands import slash_command, Option
import io
import requests
import chat_exporter
def get_config(name):
with open("config.json", "r") as f:
json_file = json.load(f)
return json_file[name]
class TicketSystem(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
self.bot.add_view(TicketOptions())
self.bot.add_view(CloseButton())
self.bot.add_view(ReopenButton(self.bot))
self.bot.add_view(SelectView(self.bot))
#----------------------------------------------TICKET SYSTEM----------------------------------------------#
@slash_command(description="🎫 Ticket Command | Sends the ticket embed")
@commands.has_permissions(administrator=True)
async def ticketsend(self, ctx):
embed = discord.Embed(title="\🎫 Create ticket", description="Here you can create an ticket and get support.", color=0x1067a3)
embed.set_author(name="Side Service", icon_url="https://cdn.discordapp.com/avatars/1134995790654341180/c1833eb9b875d547da3a9a45cf3a3bec.png?size=1024")
embed.set_footer(text="Side Service - sideservice.de", icon_url="https://cdn.discordapp.com/avatars/1134995790654341180/c1833eb9b875d547da3a9a45cf3a3bec.png?size=1024")
embed.set_thumbnail(url="https://cdn.discordapp.com/avatars/1134995790654341180/c1833eb9b875d547da3a9a45cf3a3bec.png?size=1024")
embed.set_image(url="https://media.discordapp.net/attachments/1099308632551723039/1177999057365504030/sideservice_serverbanner_winter.png?ex=65748c1d&is=6562171d&hm=85a66f62c3cd734770a8cd4bc6460c0829779bd2d24417b8d214d4c4f24ef33b&=&format=webp&width=1201&height=675")
await ctx.respond(embed=embed, view=TicketOptions())
def setup(bot):
bot.add_cog(TicketSystem(bot))
class TicketOptions(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
options = [
discord.SelectOption(label="Buy", emoji="", description="Open an buy ticket here.", value="1"),
discord.SelectOption(label="Support", emoji="", description="Open an support ticket here", value="2"),
discord.SelectOption(label="Partner", emoji="", description="Open an Partner ticket here", value="3")
]
@discord.ui.select(
min_values=1,
max_values=1,
placeholder="Was möchtest du?",
options=options,
custom_id="drop"
)
schau mal auf deine einrückung
wie bekomme ich varaiabeln vie z.b self.test = True von der einen cog klasse in eine andere cog klasse
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github ► https://github.com/tibue99/tutorial-bot
Discord Developer Portal ► https://discord.com/developers/applications
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discord.gg/pycord
Heute klären wir eine Frage, die ...
Ignoring exception in view <TicketOptions timeout=None children=1> for item <Select type=<ComponentType.string_select: 3> placeholder='Was möchtest du?' min_values=1 max_values=1 options=[<SelectOption label='Buy' value='1' description='Open an buy ticket here.' emoji=<PartialEmoji animated=False name='ps_support' id=1120008742256251051> default=False>, <SelectOption label='Support' value='2' description='Open an support ticket here' emoji=<PartialEmoji animated=False name='ps_buy' id=1120009767272845323> default=False>, <SelectOption label='Partner' value='3' description='Open an Partner ticket here' emoji=<PartialEmoji animated=False name='ps_ipchange' id=1120009768757637183> default=False>] channel_types=[] disabled=False>:
Traceback (most recent call last):
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "c:\Users\felix\Desktop\Backend\Neuer Test Bot\cogs\ticketv2.py", line 120, in select_callback
category = self.bot.get_channel(int(get_config("Support_Category")))
^^^^^^^^
AttributeError: 'TicketOptions' object has no attribute 'bot'
habe ich hier irgendwas falsch gemacht bei dem channel getten?
if "2" in select.values:
category = self.bot.get_channel(int(get_config("Support_Category")))
channel = await category.create_text_channel(f"🎫・support {interaction.user.name}", topic=f"Author {interaction.user.mention} | {interaction.user.id}")
everyone = interaction.guild.get_role(int(get_config("Guild_ID")))
team = interaction.guild.get_role(int(get_config("Support_Accessrole")))
await channel.set_permissions(everyone, view_channel=False, send_messages=True)
ich brauch die aber in einer anderen datei
Nur aus interesse: Kann das so funktionieren?
channel = guild.get_channel(1128384695592300664)
await channel.send(member.mention, embed=lvlup)
denke scho´n
Is das in einer View klasse?
Dann musst du den Bot übergeben, oder du nutzt einfach interaction.client statt self.bot.
Dann musst du auch nix übergeben
wie bekomme ich varaiabeln vie z.b self.test = True von der einen cog klasse in eine andere cog klasse diese liegt aber in einer anderen datei
ah danke
sorry ich will nicht stören aber ich habe das gleiche problem ich kann aber oben nd self.bot in die klasse schreiben vom reopen button
error_
TypeError: ReopenButton.__init__() missing 1 required positional argument: 'bot'
Ignoring exception in view <TicketOptions timeout=None children=1> for item <Select type=<ComponentType.string_select: 3> placeholder='Was möchtest du?' min_values=1 max_values=1 options=[<SelectOption label='Buy' value='1' description='Open an buy ticket here.' emoji=<PartialEmoji animated=False name='ps_support' id=1120008742256251051> default=False>, <SelectOption label='Support' value='2' description='Open an support ticket here' emoji=<PartialEmoji animated=False name='ps_buy' id=1120009767272845323> default=False>, <SelectOption label='Partner' value='3' description='Open an Partner ticket here' emoji=<PartialEmoji animated=False name='ps_ipchange' id=1120009768757637183> default=False>] channel_types=[] disabled=False>:
Traceback (most recent call last):
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "c:\Users\felix\Desktop\Backend\Neuer Test Bot\cogs\ticketv2.py", line 132, in select_callback
await channel.send(content="<@&" + get_config("Support_Ticketping") + ">", embed=embed, view=ReopenButton())
^^^^^^^^^^^^^^
TypeError: ReopenButton.__init__() missing 1 required positional argument: 'bot'
code:
if "2" in select.values:
category = interaction.client.get_channel(int(get_config("Support_Category")))
channel = await category.create_text_channel(f"🎫・support {interaction.user.name}", topic=f"Author {interaction.user.mention} | {interaction.user.id}")
everyone = interaction.guild.get_role(int(get_config("Guild_ID")))
team = interaction.guild.get_role(int(get_config("Support_Accessrole")))
await channel.set_permissions(everyone, view_channel=False, send_messages=True)
await channel.set_permissions(interaction.user, view_channel=True)
await channel.set_permissions(team, view_channel=True, send_messages=True)
embed = discord.Embed(title="Ticket created!", description=f"> The **Side Service** team will with you shortly!\n\n**Ticket Owner:**\n > {interaction.user.mention}\n\n**Ticket Category:**\n> Support", color=0x1067a3)
embed.set_author(name="Side Service", icon_url="https://cdn.discordapp.com/avatars/1134995790654341180/c1833eb9b875d547da3a9a45cf3a3bec.png?size=1024")
embed.set_footer(text="Side Service - sideservice.de", icon_url="https://cdn.discordapp.com/avatars/1134995790654341180/c1833eb9b875d547da3a9a45cf3a3bec.png?size=1024")
embed.set_thumbnail(url="https://cdn.discordapp.com/avatars/1134995790654341180/c1833eb9b875d547da3a9a45cf3a3bec.png?size=1024")
embed.set_image(url="https://media.discordapp.net/attachments/1099308632551723039/1177999057365504030/sideservice_serverbanner_winter.png?ex=65748c1d&is=6562171d&hm=85a66f62c3cd734770a8cd4bc6460c0829779bd2d24417b8d214d4c4f24ef33b&=&format=webp&width=1201&height=675")
embed.set_image(url=f"https://cdn.discordapp.com/attachments/1086713212726161603/1086743118818312343/Banner2.gif")
await channel.send(content="<@&" + get_config("Support_Ticketping") + ">", embed=embed, view=ReopenButton())
Du erwartest in ReopenButton einen Bot.
Also musst du ihn auch übergeben.
Bitte lern erstmal die Grundlagen von Klassen, bevor du damit arbeitest
ich hatte es auch voher so aber da kommt halt auch immer ein error warte
dann kommt halt immer das
Ignoring exception in view <TicketOptions timeout=None children=1> for item <Select type=<ComponentType.string_select: 3> placeholder='Was möchtest du?' min_values=1 max_values=1 options=[<SelectOption label='Buy' value='1' description='Open an buy ticket here.' emoji=<PartialEmoji animated=False name='ps_support' id=1120008742256251051> default=False>, <SelectOption label='Support' value='2' description='Open an support ticket here' emoji=<PartialEmoji animated=False name='ps_buy' id=1120009767272845323> default=False>, <SelectOption label='Partner' value='3' description='Open an Partner ticket here' emoji=<PartialEmoji animated=False name='ps_ipchange' id=1120009768757637183> default=False>] channel_types=[] disabled=False>:
Traceback (most recent call last):
File "C:\Users\felix\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "c:\Users\felix\Desktop\Backend\Neuer Test Bot\cogs\ticketv2.py", line 132, in select_callback
await channel.send(content="<@&" + get_config("Support_Ticketping") + ">", embed=embed, view=ReopenButton(self.bot))
^^^^^^^^
AttributeError: 'TicketOptions' object has no attribute 'bot'
Zeig mal deine klasse.
Hast du denn self.bot definiert?
yes
class TicketSystem(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
self.bot.add_view(TicketOptions())
self.bot.add_view(CloseButton())
self.bot.add_view(ReopenButton(self.bot))
self.bot.add_view(SelectView(self.bot))
Nicht die...
class TicketOptions(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
die über der optionen
Du übergibst in dieser klasse ja nicht den bot und definierst nicht "self.bot", wie willst du es denn dann da nutzen?
Nutz da am besten interaction.client statt self.bot
Er hat's geschafft er hat das Ding jetzt
Moin Leute, Weiß jemand von euch zufällig wie man in ein Server jeden User ein dm schreiben kann ohne das der bot gebannt wird?
lass das lieber, das zählt als spam
alright, danke trd
Hey brauche einmal Bitte hilfe
dann schreibe hier den error
Hey okay.
wieso ist im ersten code "Deactive" beim Printen unten true und beim 2.ten code false (2 unterschiedliche datein die variable hab ich aber importet
code1:
Deactive = False
class OnInteraction(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_interaction(self, interaction: discord.Interaction):
if interaction.type == discord.InteractionType.application_command:
if interaction.data["name"] == "setup-antilink":
try:
msg1 = await interaction.client.wait_for("message", timeout=120)
msg1 = await interaction.channel.fetch_message(msg1.id)
msg2 = await interaction.client.wait_for("message", timeout=220)
msg2 = await interaction.channel.fetch_message(msg2.id)
db = await aiosqlite.connect("databases/settings.db")
async with db.cursor() as cursor:
await cursor.execute(f"SELECT * FROM antilink WHERE guild = ?", (interaction.guild.id,))
res = await cursor.fetchall()
alinks = []
for i in res:
alinks.append(i[1])
print(alinks)
if msg2.content in alinks:
print("if success")
Deactive = True
print(Deactive)
except asyncio.TimeoutError:
return```
code2:
```py
from events.on_interaction import Deavtive
async with db.cursor() as cursor:
await cursor.execute(f"SELECT * FROM antilink WHERE guild = ?", (msg.guild.id,))
res = await cursor.fetchall()
if len(res) == 0:
return
await asyncio.sleep(0.5)
print(Deactive)
if Deactive is True:
return```
das sind die sachen die es schon der reihe nach printet so wie sie sein sollen
das Deactive in code 1 ist eine lokale variable, die nur innerhalb von on_interaction existiert
wie würde man die global bekommen
ich weiß das es da sowas wie global und dan die variable dahinter
zum beispiel mit dem global keyword
ok dankeschöm
wäre des dann so richtig?
Deactive = False
class OnInteraction(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_interaction(self, interaction: discord.Interaction):
if interaction.type == discord.InteractionType.application_command:
if interaction.data["name"] == "setup-antilink":
try:
msg1 = await interaction.client.wait_for("message", timeout=120)
msg1 = await interaction.channel.fetch_message(msg1.id)
msg2 = await interaction.client.wait_for("message", timeout=220)
msg2 = await interaction.channel.fetch_message(msg2.id)
db = await aiosqlite.connect("databases/settings.db")
async with db.cursor() as cursor:
await cursor.execute(f"SELECT * FROM antilink WHERE guild = ?", (interaction.guild.id,))
res = await cursor.fetchall()
alinks = []
for i in res:
alinks.append(i[1])
print(alinks)
if msg2.content in alinks:
print("if success")
global Deactive
Deactive = True
print(Deactive)
oder muss ich in der zweiten datei noch etwas ändern?
wenns funktioniert sollte es richtig sein
habs gerade funkttoniertt geht leider nicht heißt dann wohl das was nichtt richtig ist
jetzt kommt der error mitt bei dem code:
from events.on_interaction import Deactive
class on_message(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_message(self, msg: discord.Message):
await asyncio.sleep(0.5)
global Deactive
if Deactive is True:
global Deactive
Deactive = False
return```
error:
```Traceback (most recent call last):
File "C:\Python310\lib\site-packages\discord\cog.py", line 777, in _load_from_module_spec
spec.loader.exec_module(lib) # type: ignore
File "<frozen importlib._bootstrap_external>", line 879, in exec_module
File "<frozen importlib._bootstrap_external>", line 1017, in get_code
File "<frozen importlib._bootstrap_external>", line 947, in source_to_code
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "a:\Coding\New Bot shop bot\events\on_message.py", line 76
global Deactive
^^^^^^^^^^^^^^^
SyntaxError: name 'Deactive' is used prior to global declaration
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "a:\Coding\New Bot shop bot\main.py", line 150, in <module>
bot.load_extension(f'events.{file[:-3]}')
File "C:\Python310\lib\site-packages\discord\cog.py", line 913, in load_extension
self._load_from_module_spec(spec, name)
File "C:\Python310\lib\site-packages\discord\cog.py", line 780, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'events.on_message' raised an error: SyntaxError: name 'Deactive' is used prior to global declaration (on_message.py, line 76)```
mit globals kenne ich mich auch nicht aus, aber wieso nutzt u 2 mal global?
ich dachte man muss es nochmal schreiben um sie aufzurufen
bin bei der 3 folge beim dashboard und habe diesen fehler wenn ich auf der seite zugreifen will
und auf der seite steht "Internal Server Error"
from events.on_interaction import Deactive
class on_message(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.Deactive = None
@commands.Cog.listener()
async def on_message(self, msg: discord.Message):
await asyncio.sleep(0.5)
if self.Deactive:
self.Deactive = False
return
```Dies macht es viel einfacher ig
hast du den bot gestartet?
ne aber jetzt geht es dannke
gerne
aber kann man irgendwie machen das wenn man die main startet das der bot code auch automtisch mit startet ?
Woran kann das passieren das ich ein embed command von mir 1zu1 kopiere und einfüge das er trotzdem nicht geht ?
Halt der gleiche Command nur halt das / anders
Oke jetzt geht es irgendwie keine Ahnung was bei dem bre falsch war
bitte um hilfe
die runden klammern hinter TutorialView() fehlen
Danke dir! hast mein leben gerettet
was ist denn für den buttonstyle die farbe gelb? gibt yellow da nich
nein gelb gibt es leider nicht
schadee hab mich nähmlich gewundert steht gefühlt jede farbe außer gelb
sorry das ich störe aber kann man das noch irgendwie fixxen
nachricht wird trotzdem abgesendet
Jaa wenn ich Ctx.respond nehme dann steht ganz oben trotzdem das mit verwendet /applymessage das will ich ja weg haben
in dem fall musst du trotzdem ctx.respond nutzen, aber das kannst du dann ephemeral machen
Ich verstehe leider absolut nichts 😂😂
da hab ich was für dich
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
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.dev/
Guide ► https://guide.pycord.dev/i...
ist halt python, wenn du java oder c# benutzt sieht es ganz anders aus, also javascript geht auch noch
wie kann ich das modal senden lassen? mit interaction geht das nicht
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github ► https://github.com/tibue99/tutorial-bot
Discord Developer Portal ► https://discord.com/developers/applications
Tutorial Playlist ► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/int...
await interaction.response.send_modal(modal)
Glaube ich
yes habs grad auch so probiert hat geklappt
Ok
Yo, kennst du dich aus mit ezcord
Jo
Ja warum
weil ich vllt ein ticket system in ezcord coden will
dann kannst du mir ja helfen lol
Aber dir ist bewusst, dass ezcord nur eine erweiterung für py-cord ist.
Also machst du dein Ticket System ja mit py-cord
ja, aber isst ja irrelevant
das weiss ich ja
Wollts nur gesagt haben, gibt paar komische Menschen, die den Unterschied nicht kennen
Joa das stimmt
Ja
Oo
TypeError: WillkommenView.button_callback2() missing 1 required positional argument: 'button'
class WillkommenView(discord.ui.View):
def __init__(self, bot, member, db_connection, use_buttons):
super().__init__(timeout=None)
self.bot = bot
self.member = member
self.db_connection = db_connection
self.use_buttons = use_buttons
if use_buttons:
button = discord.ui.Button(
label="hallo",
style=discord.ButtonStyle.primary,
emoji="🙋♂️",
custom_id="begrüßt",
row=1,
)
button.callback = self.button_callback2 # Assign the callback function
self.add_item(button)
async def button_callback2(self, interaction, button):
# await interaction.response.edit_message(content="", embed=None, view=self)
button.disabled = True
async def begrüße_benutzer(self, interaction):
# Remove the redundant isinstance check
begrüßungs_text = f"Willkommen, {self.member.mention}! Du wurdest von {interaction.user.name} begrüßt."
mitglieder_zahl = len(interaction.guild.members)
embed = discord.Embed(
title="Willkommen!",
description=begrüßungs_text,
color=discord.Color.green(),
)
embed.set_footer(text=f"Du bist Mitglied #{mitglieder_zahl}")
await interaction.message.edit(content="", embed=embed, view=self)
Weiss jemand warum der button param nicht registered wird
wv = WillkommenView()
await wv.button_callback2(...)``` ich glaube so bin mir aber nicht sicher probiere es mal aus xD
Heißt das jetzt das die pterodactyl instaliert wurde?
schau nach
ne geht nicht deswegen
die info bringt ihn ja viel xD
weiß einer wie ich das so bei einen slash command machen kann das man den command nur einmal am tag nutzen kann? oder so ein 24 h cooldown hat
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
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.dev/
Guide ► https://guide.pycord.dev/i...
danke
import discord
import os
from dotenv import load_dotenv
intents = discord.Intents.all()
bot =discord.Bot(intents=intents)
bin ich irgendwie doch dumm gewrden nach langer zeit xD? (ist discord.py)
discord.Bot gibt's nicht mehr
commands.Bot
ach ich schwöre ich verwechse es immer mit pycord aber danke
🤣 wie heißt der import ding nochmal
from discord.ext import commands
danke
und du hast ein leerzeichen nach dem = vergessen
haha guter witz muss man nicht
achso okay
weiß einer wie man so ein random code erstellen kann also z.b ein gute´scheincode mit zahlen un buchstaben
Also einfach zufällige buchstaben und zahlen?
ja so ein gutschein code halt
der generiert wird für alle user unterschiedlich
Du kannst die string library nutzen dafür.
Gibt hier beispiele:
https://stackoverflow.com/questions/3854692/generate-password-in-python
oder du nutzt die uuid library.
Die kann dann halt solche "Codes" generieren, und jedes ist einzigartig
also awaiten funktioniert nicht und ohne das ebenso
Du bist ja auch nicht in einer asyncronen function.
Dann kann man natürlich nicht awaiten
wie mache ichs dann hab seit nen jahr alles vergessen
Danke
guild und channel id wird nicht in db gepackt
async def add_channel(self, guild_id, channel_id):
await self.exec(
"INSERT OR IGNORE INTO ticket_settings (guild_id) VALUES (?)", guild_id
)
await self.exec(
"UPDATE ticket_settings SET channel_id=? WHERE guild_id=?",
channel_id,
guild_id,
)```
```py
@slash_command(name="ticketsetup")
async def setup(
self,
ctx: discord.ApplicationContext,
channel: Option(discord.TextChannel, required=True),
):
await db.add_channel(ctx.guild.id, channel.id)
embed = discord.Embed(
title="Setup Success!",
description="Setup was successful!",
color=discord.Color.green(),
)
embed.add_field(name="Channel", value=channel.mention, inline=False)
embed.set_thumbnail(url=ctx.guild.icon.url)
embed.set_footer(text=f"Set up by {ctx.author.name}")
await ctx.respond(embed=embed)```
@solid ingot wird in ezcord automatisch commited?
ja hat er im video gesagt, also sollte so sein wenn ich nicht komisch höre
Okay, ja hab sein video nicht geschaut, deshalb weiß ich das ja nicht
Joa ist ja kein ding
ich guck lieber noch mal ob das commited wird
Warum machst du zwei executes?
Du kannst den channel ja auch beim INSERT OR IGNORE hinzufügen.
stimmt und dann ein update channel command machen
ok warte
oha eif nur sowas kann das fixen, danke
Is es gefixxt?
weisst du warum der mir none sagt wenn da eine channel id in der db steht
@slash_command(name="ticketchannel")
async def channel(
self,
ctx: discord.ApplicationContext,
):
embed = discord.Embed(title="Ticket Channel", color=discord.Color.green())
channel = await db.get_channel(ctx.guild.id)
channel1 = self.bot.get_channel(channel)
if channel1 is not None:
embed.add_field(name="Channel", value=channel1.mention, inline=False)
else:
embed.add_field(name="Channel", value="Not selected", inline=False)
embed.set_thumbnail(url=ctx.guild.icon.url)
await ctx.respond(embed=embed)```
Ich kenn deine get_channel-function nicht
ok warte ich sende
async def get_channel(self, guild_id):
return await self.exec(
"SELECT channel_id FROM ticket_settings WHERE guild_id=?", guild_id
)```
Ersetz das exec mal mit nem one
Wie schlau bist du, danke hast gefixt
sorry fals ich nerve ich benutze dbs kaum
Schlau? Ich weiß eigentlich nicht mal wie diese ezcord datenbank funktioniert ._.
Also kenne mich mit ezcord allgemein nicht aus
@lucid furnace aber falls du wieder dabei hilfe brauchst, schau am besten hier
Hab da auch kurz geschaut
ok mach ich, danke
kann wer helfen bin Grade lost (discord.py)
bei discord.py musst du cogs mit "await" laden
Musst du awaiten.
Das laden der Cogs, ist asyncron in discord.py
...
await kannst du nur ein einer async-funktion nutzen
brudda ich hab alles vergessen legit und will eigentlich nur das eine wissen :/
ne digga scheiß drauf gehe auf pycord rüber
Okay tu das
weiß wer wie man windows löschen kann? hab es 2 mal
._.
ja eig dachte ich win ist dann raus da ich eine neue ssd eingebaut habe
google es doch
gut das ich darauf nicht gekommen bin Spoiler ||https://www.computerbild.de/artikel/cb-Tipps-Windows-Dual-Boot-Zwei-Windows-Systeme-einrichten-31543991.html||
hehehehee

Guten Abend,
ich weiß wie ich Modals erstelle, aber wie erstelle ich ein Modal was als Nachricht schon im Chat steht und über einen Button ausgefüllt werden kann?
Wie ge´nau meinst du?
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github ► https://github.com/tibue99/tutorial-bot
Discord Developer Portal ► https://discord.com/developers/applications
Tutorial Playlist ► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/int...
Na wenn ich ein Modal erstelle muss ich das über einen Comand machen und ich möchte das eine Embed Nachricht mit einem Button in einem Chat ist, wo man dann auf den Button drücken muss um das Modal auszufüllen
ist in dem video doch gezeigt?
ab der 7.Minute
Traceback (most recent call last):
File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311-32\Lib\site-packages\discord\commands\core.py", line 124, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311-32\Lib\site-packages\discord\commands\core.py", line 978, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "C:\Users\Schüler\Documents\Revolt\cogs\Moderator.py", line 62, in news
await ctx.respond("News wurden gesendet", ephemeral=True, view=NewsModal(title="News"))
File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311-32\Lib\site-packages\discord\commands\context.py", line 282, in respond
return await self.interaction.response.send_message(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311-32\Lib\site-packages\discord\interactions.py", line 825, in send_message
await self._locked_response(
File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311-32\Lib\site-packages\discord\interactions.py", line 1090, in _locked_response
await coro
File "C:\Users\Schüler\AppData\Local\Programs\Python\Python311-32\Lib\site-packages\discord\webhook\async_.py", line 221, 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 Moderator(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command()
async def news(
self,
ctx
):
await ctx.respond("News wurden gesendet", ephemeral=True, view=NewsModal(title="News"))
class NewsModal(discord.ui.Modal):
def __init__(self, *args, **kwargs):
super().__init__(
discord.ui.InputText(
label="News Title",
placeholder="Placeholder",
required=True
),
discord.ui.InputText(
label="News Beschreibung",
placeholder="Placeholder",
style=discord.InputTextStyle.long,
required=True
),
*args,
**kwargs
)
async def callback(self, interaction):
embed = discord.Embed(
title=self.children[0].value,
description=self.children[1].value,
color=discord.Color.green()
)
await interaction.response.send_message(embed=embed)
NewsModal ist ein Modal, keine View.
So schickst man es nicht ab
ok
@solid ingot Wie kann ich beim prefixbot in ezcord denn prefix hinzufügen
im grunde genau wie ohne ezcord, mit command_prefix= glaub ich
ka
Noob
gibt es in cogs eine grenze fuer slash commands? denn ab einem bestimmten punkt laden alle restlichen commands nicht mehr bei mir
Soweit ich weiß gibt es keine Grenze
Was mach ich denn hier gerade falsch?
Versuche nur einen String als language zu übergeben.
muss noch einen Tab nach rechts
weist wer wie ich ein error handler machen kann
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
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.dev/
Guide ► https://guide.pycord.dev/i...
Hi
Und weißt Du warum der Button seine Farbe nicht ändert?
Kommt nur "Diese Interaktion ist fehlgeschlagen!"
Upps, wollte ohne Ping machen. ^^
Wie macht mann das
Timestamp
Ok
finde mal heraus wieso die methode dunkelgrau markiert ist, das heißt, dass siese nicht genutzt wird
ansonsten musst du aber auch auf die interaktion antworten, also mit interaction.response
zeig mal deine requirements.txt datei
aber die lib heißt doch pymongo und nicht pymango
ah da ist der fehler xD
warum laden manche commands nicht
z.b der cog hier
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
import ezcord
class AfkDB(ezcord.DBHandler):
def __init__(self):
super().__init__("Afk.db")
async def setup(self):
await self.exec(
"""
CREATE TABLE IF NOT EXISTS afk (
user_id INTEGER NOT NULL,
reason TEXT NOT NULL,
afk BOOLEAN
)
"""
)
async def add_afk_user(self, user_id, reason, afk):
await self.exec(
"INSERT OR IGNORE INTO afk (user_id, reason, afk) VALUES (?,?,?)",
user_id,
reason,
afk,
)
async def get_afk_user(self, user_id):
await self.one("SELECT afk FROM afk WHERE user_id=?", user_id)
async def remove_afk_user(self, user_id):
await self.exec("DELETE FROM afk WHERE user_id=?", user_id)
db = AfkDB()
class Afk(commands.Cog):
def __init__(self, bot: discord.Bot):
self.bot = bot
@slash_command()
async def afk(
self,
ctx: discord.ApplicationContext,
user: Option(discord.Member, required=True),
reason: Option(str, required=True),
):
await db.add_afk_user(user.id, reason, True)
embed = discord.Embed(
title="AFK",
description=f"{user.mention} is now AFK because: {reason}!",
color=discord.Color.green(),
)
embed.set_thumbnail(url=user.avatar.url)
await ctx.respond(embed=embed)
@commands.Cog.listener()
async def on_message(self, message: discord.Message):
if message.author.id == self.bot.user.id:
return
if message.author.bot:
return
afk = await db.get_afk_user(message.author.id)
print(afk)
def setup(bot: discord.Bot):
bot.add_cog(Afk(bot))
läuft dein bot schon irgendwo
was benutzt du discord.py pycord etc
zeig mal main.py code. ohne token
bot = MyBot()?
was macht das
mach die so hier
bot = commands.Bot()
oder
bot = discord.Bot()
der untershied von
bot = commands.Bot()
und
bot = discord.Bot()
oder der untershied von
bot = MyBot()?
ich bin nicht gut in erklärn aber bot = commands.Bot() läst dich prefix commands nutzen aber wenn du keine prefix command nutzts dann kannst du discord.Bot() nutzen
und warum importest du so viel
@commands.slash_command(name = "set-anti-link", description = "Set the anti-link system the way you want it!")
async def set_anti_link(ctx:discord.ApplicationContext, settings:Option(str, required = True, description="Choose how the anti-link system should behave!",
choices = ['All messages with a discord invitation link will be deleted',
'All messages with a link will be deleted exceptions: pictures, videos (discord links will be deleted)',
'All messages with a link will be deleted',
'Deactivate anti-link system!']),
timeout:Option(int, max_value = 60, required = True, description="Choose how long the user who violates the anti link system should be timed out! (Optional)", choices = [0, 5, 10, 20, 30, 40, 50, 60])):
print(settings)
emb = discord.Embed(title=f"{Emojis.settings_emoji}",
description=f"""{Emojis.dot_emoji}.
{settings} """)
await ctx.respond(embed=emb)
Weiß wer warum die Erste Option nicht angezeigt wird wenn ich den command auswähle?
self fehlt
Kurze Frage zu den Video mit dem Level System & Datenbanken? Was wenn ich den Bot auf mehreren Servern nutzen möchte? Haben die dann den selben Level wie auf dem anderen Server?
im video haben die user auf jedem server dasselbe level. wenn du ein level pro server haben willst, musst du noch die guild ID in der datenbank abspeichern
Ok danke
eigentlch sollte ein error kommen, aber es könnte sein das eine der choices zu lang ist (maximal 100 zeichen)
oh lucky hat ja schon gesagt dass das self fehlt
Weißt du zufellig wie ich rausfinde was ausgewählt wurde weil der gibt mir den Text zurück und da müsste ich ja im code alle texte dann abgleichen
Kann man die GitHub Repo mit dem vServer verbinden z.B. mit KeksHosting damit man da zusammenarbeiten kann?
Hallo ich habe ein Problem mein Fehler ist
await ctx.respond(f"Hallo {user.author}")
^^^^^^^^^^^
AttributeError: 'Member' object has no attribute 'author'
mein code von der datei:
class Greet(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command()
async def greet(self, ctx, user: Option(discord.Member, "Wähle einen Member aus den Du grüßen möchtest!")):
await ctx.respond(f"Hallo {user.author}")
nicht der ganze code ist enthalten!
Es gibt user.author nicht
mach das .author weg
aber sollte es doch eigentlich oder nicht weil es ein user ist?
Nein es gibt sowas nicht
es ist ein Member, kein user
Models are classes that are received from Discord and are not meant to be created by the user of the library. Attributes key, url. Methods def is_animated, async read, def replace, async save, def ...
Hier findest du alles von discord.Member was das für funktionen hat
dankeschön danach suchte ich schon
Aber ich habe ja ```py
user: Option(discord.Member, ...)
das ist doch dann eigentlich ein Member oder nicht?
Hi, wenn ich nun diese repo auf meinen KeksHosting klonen würde, würde alles klar gehen? Erstelle zwar noch ein Backup, aber z.B. ändert sich ja die .db Datei auf dem VPS automatisch. Wie funktioniert das dann? Muss ich die .db Datein auch in die .gitignore packen?
ja genau, die DB Dateien solltest du in die gitignote packen
".db" reicht oder?
achso und muss ich es auf öffentlich machen die repo oder kann ich es iwie privat lassen?
privat sollte auch gehen, ich kenne mich da aber leider selbst nicht so gut aus
ah ok. trotzdem danke
Für Private Repo's musst du hier einen Access Token erstellen.
nice dankee
Soll ich noch meinen Git username eingeben? Da wird iwie nichts geklont
Ja, mach das mal.
Tut sich nix
Habe ich irgendwas vergessen? Repo erstellt, repo gelinkt, token angegeben, username
ich Habe eine frage im meinem code habe ich stehen
if user.name == ctx.name:
print("Du kannst dich nicht selbst kicken!")
else:
...
aber wie kann ich den namen vom ctx zugreifen ich kann ctx.author aber da bekomme ich ja noch den Tag
schau mal auf deine einrückung
hab ich im code richtig
dankeschön wusste ich nicht
Nächstes mal in den Docs schauen oder googlen
hab ich da steht aber nur author
Klick doch mal auf author
wo steht da jetzt bitte was davon?
ctx.author gibt nen interaction.user wieder, und interaction.user ist entweder ein discord.User oder discord.Member Objekt, das bedeutet, du musst in den Docs unter discord.User oder discord.Member schaune
ah dankeschön
Wieso wird mir der Command nicht angezeigt in dc ?
import discord
import aiosqlite
from discord.ext import commands
from discord.commands import slash_command
from datetime import datetime
class Abmeldungen(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
async with aiosqlite.connect("database/abmeldung.db") as db:
async with db.cursor() as cursor:
await cursor.execute(
"""CREATE TABLE IF NOT EXISTS abmeldungen (
guild_id INTEGER,
user_id INTEGER,
user_name TEXT,
grund TEXT,
zeitraum TEXT
)"""
)
await db.commit()
@slash_command(name="abmeldung", description="Abmeldungssystem")
async def abmeldung(self, ctx, grund: str, zeitraum: str):
await ctx.send("Du wurdest erfolgreich abgemeldet!" + grund + zeitraum)
def setup(bot):
bot.add_cog(Abmeldungen(bot))
Bei mir muss ich manchmal einfach discord neustarten.
Sonst sieht es auf den ersten blick richtig aus
Hat geholfen
Hast du presence Intents aktiviert?
Im Code und im Dev Portal
es geht danke
Bitte
kann man auch ein cooldown bei buttons machen?
ja, das müsstest du aber selbst einbauen
beim tempvoice system habe ich es so gemacht wie in diesem video: https://www.youtube.com/watch?v=fPlFhYq_2TI
In this video, we will work on making a button with a cooldown in discord.py with Cooldown Mapping.
If you found this video helpful, please do consider liking the video, subscribing, and sharing it to someone who might find this video helpful (I know a lot of people say this, but it really does help the channel 🙂). If you have any questions, fe...
okay danke
Hab mir dieses Hosting Video angesehen von Timo aber irgendwie geht mein bot immer offline
Dann hast du das Video wohl nicht aufmerksam geschaut.
Doch sogar 3 mal
Hmm komisch, bei mir gehts immer.
Welches Betriebssystem benutzt du?
Linux
Bruh, welches? Debian, Ubuntu?
verstehe das nicht hab das in meiner requirements.txt
py-cord
python-dotenv
PyNaCl
pytz
ezcord
pyarmor
hey, Python wird bei meinen visual studio code nicht regristiert
vllt findest du hier was
https://pyarmor.readthedocs.io/en/latest/questions.html#the-final-bundle-does-not-work
was kommt für ein error?
@ivory cipher installiere mal das
https://marketplace.visualstudio.com/items?itemName=ms-python.python
hab ich schon installiert
Ok
ich hab ihn schon dabei geholfen aber in vsc wird sin python nd regristriert
Ok
oha das video ist voll cool kenne des
man sagt Danke
Ne
moin bei meinem command bekomme ich ein fehler
code ```py
from datetime import datetime
from discord.ext import commands, tasks
from discord.commands import slash_command, Option
import discord
import ezcord
class eventDB(ezcord.DBHandler):
def init(self):
super().init("haupt.db")
async def setup(self):
await self.execute(
"""CREATE TABLE IF NOT EXISTS events(
date TEXT PRIMARY KEY,
channel_id INTEGER,
text TEXT
)"""
)
async def get_event_by_date_and_channel(self, date, channel_id):
return await self.all("SELECT * FROM events WHERE date = ? AND channel_id = ?", date, channel_id)
async def insert_event(self, date, channel_id, text):
await self.execute("INSERT INTO events (date, channel_id, text) VALUES (?, ?, ?)", date, channel_id, text)
db = eventDB()
class Event(commands.Cog):
def init(self, bot):
self.bot = bot
self.check_event_date.start()
def cog_unload(self):
self.check_event_date.cancel()
@tasks.loop(minutes=5)
async def check_event_date(self):
events = await db.get_event_by_date_and_channel(datetime.utcnow().strftime('%d.%m.%Y'), 1165077875188322435)
for event_data in events:
event_date = datetime.strptime(event_data['date'], '%d.%m.%Y')
if event_date <= datetime.utcnow():
event_channel_id = event_data['channel_id']
event_text = event_data['text']
event_channel = self.bot.get_channel(event_channel_id)
if event_channel:
embed = discord.Embed(
title=f"{event_text} vorbei",
description=f"Das {event_text} ist nun vorbei!",
color=discord.Color.red()
)
await event_channel.send(embed=embed)
@slash_command(description="Schicke eine Event-Nachricht ab")
@commands.has_permissions(administrator=True)
async def event(self, ctx,
text: Option(str, "Wähle einen Text aus", choices=[
"Coin Event",
"XP Event",
"Levelup belohnung"
], required=True),
date: Option(str, "Wähle ein Datum aus", required=True),
channel: discord.TextChannel = None
):
date_formatted = discord.utils.format_dt(datetime.strptime(date, "%d.%m.%Y"), "T")
if text == "Coin Event":
if not channel:
channel = ctx.channel
embed = discord.Embed(
title="Coin Event",
description="Ihr bekommt 2x so viele Coins!\n\n"
f"Das Event geht bis zum {date_formatted}",
color=discord.Color.random()
)
await db.insert_event(date_formatted, channel.id, text)
await channel.send(embed=embed)
def setup(bot):
bot.add_cog(Event(bot))
Fehler: Ungültiger Befehl für Interaktions-Anwendung
Kann man eine Rich Precense coden? und ist es Bannbar?
Ja kann man, warum sollte es Bannbar sein?
Weil man seinen Token doch hosted wenn man es mit ein Code macht
Hm??
Du brauchst deinen User Token dafür nicht ?
Hab ja auch eins gemacht
Echt wie dann?
Du musst einfach nh ID von einem deiner Bots angeben.
Also Rich Precense auf eigenen Account nicht Bot meine ich
https://www.youtube.com/watch?v=-YUIRdb5Dv8&t=51s Vielleicht hilft dir das Video
After all our pain and suffering, the solution was there the whole time...
Is this the endgame? Probably, Discord Rich Presences used to be a massive pain to setup because dealing with Discord's image processing time was annoying and time consuming. However, euz#6972 found Deviant#6491 rocking an animated Discord rich presence and brought it to...
Naja ist aber kein Code
import time
from pypresence import Presence
client_id = "client_id "
RPC = Presence(client_id)
if __name__ == "__main__":
RPC.connect()
RPC.update(
start=time.time(),
large_image="deinImage",
large_text="Text",
state="state",
details="ein text",
buttons=[
{
"label": "label",
"url": "https://hehehehe.com/"
}
]
)
So ungefähr @lofty rock
Schau das video: https://www.youtube.com/watch?v=o-XdyzYijNw
Hey!
Thanks for watching today's video, I hope you enjoyed and joined my discorddd... also thanks for 3.27K subscribers!!
LINKS -
Join my Discord - https://discord.gg/twHW4UUJGq
Developer Portal - https://discord.com/developers/applications
Learn Bot Dev - https://youtu.be/e9SYmj1QF8I
Thanks if you read all of this and I...
Achsoo, du willst es selber coden
Ja, es wird auf deinem Account sein.
Dein Code ermittelt automatisch deinen Account
Kommt die Rich Precense immer wenn ich Online bin dann?
Wenn ich den Code hoste
Du musst den Code halt starten
Und der Code funktioniert nur, wenn du Discord gestartet hast
Kann ich den einfach hosten lassen?
Garnicht?
Es muss über dein PC laufen, soweit ich weiß
Achso also geht es nicht wenn ich am Handy on bin?
nope
einf acc über website hosten xD
Traceback (most recent call last):
File "/home/container/main.py", line 8, in <module>
RPC.connect()
File "/home/container/.local/lib/python3.10/site-packages/pypresence/presence.py", line 43, in connect
self.loop.run_until_complete(self.handshake())
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
return future.result()
File "/home/container/.local/lib/python3.10/site-packages/pypresence/baseclient.py", line 108, in handshake
raise DiscordNotFound
pypresence.exceptions.DiscordNotFound: Could not find Discord installed and running on this machine.
Der Fehler kommt dann.
Also klappt das nicht
Oh okay
Du kannst aber machen, dass dein Script gestartet wird, wenn du dein PC Startest.
Musst aber auch Code schreiben, der Detectet, ob du Discord Startest und so
Traceback (most recent call last):
File "C:\Python311\Lib\site-packages\discord\commands\core.py", line 131, in wrapped
ret = await coro(arg)
^^^^^^^^^^^^^^^
File "C:Python311\Lib\site-packages\discord\commands\core.py", line 1000, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "c:Open Bot\commands\premium.py", line 170, in premium_info
timestamp = format_dt(premium_end, style="R")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python\Python311\Lib\site-packages\discord\utils.py", line 1280, in format_dt
return f"<t:{int(dt.timestamp())}:{style}>"
^^^^^^^^^^^^^^
OSError: [Errno 22] Invalid argument
wieso machst du nicht einf statt Style :R>
Wie meinst du?
return f"<t:{int(dt.timestamp())}:R>"
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Links aus diesem Video
► https://www.w3schools.com/python/python_datetime.asp
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Inhalt 📚
Heute stelle ich euch das Datetime Module von Python vor, damit ihr wisst, wie ihr mit verschiedenen Zeitformen in Python umgehen und rechnen könnt.
Timestamps 🕑
0:00 | Begrüßung
0:4...
datee = datetime.strptime(date, "%d.%m.%Y")
date_formatted = discord.utils.format_dt(datee, "%X")```
bin verwirrt warum geht es nicht es kommt "<t:946681200:%X>" kp why
ja?
Du hast im code %X stehen
ja
mit großem T
also so:
datee = datetime.strptime(date, "%d.%m.%Y")
date_formatted = discord.utils.format_dt(datee, "T")
<t:1701559018:T>
möchte das steht <t:1701559440:R>
ah
wait habs glaube ich
genau wie du es gerade gemacht hast 
ja mit r
Ja
R
?
kann mann auch die unterordner anzeigen beim ezccord help command
welche unterordner?
General -> Timoo4dev.py
das dann im dropdown der ordner wo der file drinne ist da steht
im dropdown werden alle cogs angezeigt, die geladen wurden
ja, aber es werden keine ordner geladen
Ordner kannst du mit der load_cogs Funktion laden wenn du subdirectories auf True setzt
hab ich
und das cog wird nicht geladen?
manche
cogs werden nur beim Help Command angezeigt, wenn mindestens 1 Command vorhanden ist, für den du permissions hast
ok
wie macht man das so dass wen nman ein command macht das der channel sich in eine andere kategorie verschiebt?
discord.errors.ExtensionFailed: Extension 'Commands.W�rfeln' raised an error: SyntaxError: keyword argument repeated: name (W�rfeln.py, line 9)```
```py
class Würfeln(
ezcord.Cog, name="Würfel", description="Würfel eine nummer", emoji="🎲"
):```
kann das sein das ü nicht geht
Traceback (most recent call last):
File "/home/tdius/.local/lib/python3.10/site-packages/discord/commands/core.py", line 124, in wrapped
ret = await coro(arg)
File "/home/tdius/.local/lib/python3.10/site-packages/discord/commands/core.py", line 978, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "/home/tdius/.local/lib/python3.10/site-packages/ezcord/cogs/help.py", line 163, in help
await ctx.respond(view=view, embed=embed, ephemeral=self.bot.help.ephemeral)
File "/home/tdius/.local/lib/python3.10/site-packages/discord/commands/context.py", line 282, in respond
return await self.interaction.response.send_message(
File "/home/tdius/.local/lib/python3.10/site-packages/discord/interactions.py", line 825, in send_message
await self._locked_response(
File "/home/tdius/.local/lib/python3.10/site-packages/discord/interactions.py", line 1090, in _locked_response
await coro
File "/home/tdius/.local/lib/python3.10/site-packages/discord/webhook/async_.py", line 221, in request
raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In data.components.0.components.0.options.4.value: Must be between 1 and 100 in length.```
ezcord automatischer help befehl
channel.edit
ist irgendein cog name von dir über 100 Zeichen lang?
Wie viele zeichen sind ein Ü
aber ich guck kurz
Statt ü kannst du ue benutzen
ok mal gucken ob das was ändert
Ok
Es geht eher um den Namen der Class, oder nimmt ezcord die Dateinamen?
Hier der Error max
Dachte es geht um den
weis ich nd
nein der andere der help command
Ok
Glaube 2 Zeichen
er sagt mir jetzt
In data.components.0.components.0.options.3.value: Must be between 1 and 100 in length.
anstadt
In data.components.0.components.0.options.4.value: Must be between 1 and 100 in length.
Hast du das ü geändert
ja
Hmmm
Versuch Mal dir alle cog Namen Printen zu lassen und schau ob ein Name 0 Zeichen oder über 100 Zeichen lang ist
for cog in bot.cogs:
print(cog)
ok
wo wurde ich das hin schreiben
Main Datei
irgendwo, wo du auf den bot zugreifen kannst
Ja
geh Mal alle durch und schau welcher der leere ist, dann änder da einfach den namen
oh nice habs
danke
super, ich Bau bei ezcord noch ein Check ein ob die Länge von Namen stimmt
😯
Hey zusammen wieder! 🙂 Ich war ziemlich lange weg da ich eine Auszeit hatte. Nun bin ich wieder dabei den Server Manager von meinem Developer zu benutzen. Der Server Manager von meinem Developer wurde so gebaut das es eine sehr große Datenbank hat, ein Admin System und vieles mehr. Wir haben damals den Server Manager von meinem Developer mit anderen Scripten eines erweiterten Developer über RCON/UDP verbunden und es lief alles wunderbar. Nun wollte ich es wieder einrichten und der Erweiterte Developer hat sämtliche neue Scripte/Dateien raus gebracht die ich eigentlich nur in unserem Server Manager einzufügen brauche und es würde mit der neusten Version laufen was es auch tut. Jetzt ist das Problem... der erweiterte Developer hat das UDP Sockets geändert das heißt es war vorher das NanoSockets und jetzt ist es das System.Net.Sockets wodurch der Server Manager keine RCON/UDP Verbindung mehr zu den Erweiterten Scripten aufbauen kann. Nun die Frage kann oder ist jemand in der Lage dazu das wieder Kompatibel zu machen?
Der Server Manager meines Developer wurde mit Python codiert und das Erweiterte Scripts vom anderen Developer mit C++ geschrieben. Das RCON/UDP Protocol wurde über Python codiert und hat auch damals einwandfrei zugriff zum erweiterten Script Packet gehabt.
Gerne sende ich auch mal hier eine Script datei über das RCON/UDP Protocoll wie das aufgebaut ist was vorher auf NanoSockets gelaufen ist. Ich hoffe der eine oder der andere könnte mir dabei helfen? Zum Schluss noch es geht um das Spiel "Assetto Corsa"
Um es kurz zu machen hier seine Frage: Kann oder ist jemand in der Lage dazu das wieder kompatibel zu machen?
Danke 🙂
Wie kann ich in ein embeds anzeigen wieviele command mein bot hat
bot.commands
Geht aber nicht
Dann versuch in einem Cog: len(self.bot.commands)
Oder in der Main:
len(bot.commands)
Ok
er zeigt 0 commands an
{len(bot.commands)}
@twilit anvil geht net
@tawdry leaf kannst du mir helfen
damit
Dumm gefragt: aber wieviel Cmds hast du denn bis jz
🫶 xD
bei main.py habe ich auch 0
musst des in einen cog machen
Kannst ja übergeben Bzw in DB speichern und Dann addieren
Ok
Kann man. Das ezcord help command auch in cogs machen
ne
das ist der alte bot der ist mit discord.py
oke
bei mir wirt das richtige angezeigt in der main
Wie viele commands der bot hat
Moin ich habe ein giveaway system. Das ganze läuft im modal bereich, heißt der code das er zeit runterzählt ist im modal wodurch beim neustart das ganze nicht mehr funktioniert(habe daten von usern in einer datenbank) wie kann ich das so abspielen lassen das es auch bei einem neustart/downtime weitergeht?
Code pls
habe das ganze so das er für die zeit die das giveaway dauert halt pause macht
wait
Oben ist noch command zum erstellen udn rerollen, habe ich jetzt nicht reingemacht
Theoretisch kann ich das mit dem auswerten des giveaways ja weiterbenutzen und muss nur den timer irgendwie anders lösen
Meine idee wäre jetzt einfach die zeit in der db zu speichern und alle ... minuten zu ändern, wie ich das umsetzen soll(also eine schleife die dauerthaft überprüft welche giveaways noich laufen, und welche auch funktioniert wenn der bot neustartet keine ahnung
Und weitere frage
Wie kann ich den namen eines buttons mit einer variable entscheiden die ich mitnehme in den button?
Habe die variable oben benannt aber zeigt mir die rot an bei name=
class PollButton(discord.ui.View):
def __init__(self, msg,items):
super().__init__(timeout=None)
self.items =items
yes = self.items[3]
@discord.ui.button(label=, style=discord.ButtonStyle.green, custom_id="yes")
async def button_callback(self, button, interaction):```
Danke
dafür bräuchtest du eine Button Klasse
Bump und einen kleinen Logs sende ich auch noch dazu. Keine Ahnung was immerhin UDP Loop bedeutet ? Klingt für mich nach einer Endlosschleife?
^ Noch kurz dazu wäre denn jemand dazu in der Lage dieses eine Script in TCP umzucodieren? Ich habe nämlich gerade erfahren das RCON gar nicht über UDP gehen sollte. Seltsam das es die ganze Zeit mit UDP funktioniert hatte. 😳
Hallo ich Habe ein Problem beim Dashboard wenn ich den bot Starten will bekomme ich ein Fehler
du musst vorher die packages Noch installieren
Hallo Leute, wie kann man Custom namen/Leertaste für Slash commands erstellen also wie z.b /bla bla
lib: pycord v2
wenn du leerzeichen willst, geht mit slash command groups
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot
PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discord.gg/pycord
Discord Developer Portal ► https://discord...
Man kann doch mehrere Groups erstellen oder?
ja
Ok, Danke 
Wie kann ich denn bei einem bereits gesendeten Embed die Description editieren?
Kann hierbei noch auf das embed zugreifen.
wenn du die nachricht hast kannst du das embed mit message.embeds[0] zugreifen
Ne, habe es ja als embed in nem Command definiert und möchte es noch im selben Command nach ner Gewissen Zeit editieren.
Delay ist drinnen, aber editieren will net.
embed.description = "Neue Beschreibung"
Muss ich das awaiten?
Hat nicht geklappt.
Description ist dieselbe.
nein
code?
embed = discord.Embed(
title=' Ticket-System wird installiert...',
description='Bitte warte, während das Ticket-System installiert wird!\n\n'
' Kategorie erstellen...\n'
' Channel erstellen\n'
' Rollen erstellen\n\n'
'Die Installation kann bis zu 30 Sekunden dauern!',
color=discord.Color.blurple()
)
embed.set_thumbnail(url=ctx.author.display_avatar.url)
embed.set_footer(
text=f'{os.getenv("BOT_NAME")} {os.getenv("BOT_VERSION")} • Verwendet von @{ctx.author.name}',
icon_url=self.bot.user.avatar.url)
await ctx.respond(embed=embed)
embed.description = 'Bitte warte, während das Ticket-System installiert wird!\n\n Kategorie erstellen\n Channel erstellen...\n Rollen erstellen\n\nDie Installation kann bis zu 30 Sekunden dauern!'```
Bei 'Kategorie erstellen' hab ich abgeändert.
vergiss nicht das du respond nur einmal nutzen kannst ig
du musst die nachricht auch mit dem neuen embed bearbeiten, nachdem es das embed geändert hast
AttributeError: 'Interaction' object has no attribute 'edit'
response = await ctx.respond(embed=embed)
embed.description = 'Bitte warte, während das Ticket-System installiert wird!\n\n**Schritt 2 von 4:**\n Kategorie erstellen\n Channel erstellen...\n Rollen erstellen\n Datenbank validieren\n\nDie Installation kann bis zu 30 Sekunden dauern!'
await response.edit(embed=embed)```
versuch ctx.edit
Merci, hat geklappt. 🙂
das ist doch eine buttonklasse?
oder was meinste mit button klasse? Habe ja class PollButton(discord.ui.View): usw.
Zurzeit hast du nh View Klasse
oh
was ist der unterschied zwischen einer view und einer button class?
Bin Grad im Unterricht, schaffs nicht dir zu erklären
Google einfach
alles gut danke
Bump
Gibt es eine alternative zu Tmux? Da bei mir der bot off geht nach paar Stunden
PuttY
Aber nutz systemctl auf Linux
hab für beides ein Beispiel im Button Tutorial
View class kannst du direkt zu einer Nachricht hinzufügen und button class musst du erst nen view erstelle;wo der button reingeht
weiß du vielleicht der bot off geht in dc aber in der console eig noch on ist
Docker oder pm2
Zeig mal später
Kann mir denn keiner Helfen? 😳
Hi ich habe alle Sachen so im Video gemacht und alle Libraries installiert aber es kommt der Fehler das die Library nicht installiert ist
Mein Code aus bot.py :
import discord
import ezcord
from discord.ext.ipc import server
class Bot(ezcord.Bot):
def __init__(self):
super().__init__(intents=discord.Intents.default())
self.ipc = server(self, secret_key="kjadskwu8")
async def on_ready(self):
await self.ipc.start()
print(f"{self.user} ist Online")
@server.route()
async def guild_count(self, _):
return str(len(self.guilds))
async def on_ipc_error(self, endpoint: str, exc: Exception):
raise exc
bot = Bot()
bot.run("TOKEN Here")```
viellecht hast du die libraries für eine andere python version installiert, als du benutzt
Wie kann man das überprüfen
wenn du eine datei mit 200 zeilen schickst, ist die wahrscheinlichkeit geringer dass jemand antwortet, als wenn du nur den code schickst, der für das problem relevant ist. wenn deine frage im allgemeinen hilfe chat untergeht, kannst du auch gerne einen post erstellen. dieser channel ist hauptsächlich für kleiner probleme gedacht
Jetzt kommt der gleiche fehler aber mit ezcord
python --version
Da die Datei nicht von mir stammt sondern von meinem damaligen Entwickler habe ich überhaupt keine Ahnung welcher code relevant sein soll über diesen Fehler? Alles was der Entwickler mir sagte das es mit dieser Datei zu tun hat. 🤔 Deswegen schickte ich die komplette Datei damit ein anderer es besser verstehen könnte und es sieht so aus das dass ganze Script umgeschrieben werden müsste wenn sich das NanoSockets zu System.Net.Sockets geändert hat? 😳 🤔 Und Danke für den Tipp dann werde ich mal den anderen Channel auf Glück versuchen. 😉
Hmmmm seltsam wo ich den Post erstellen sollte? Konnte es nur unter #1027677692730036294 tun...
Wenn du einen Post erstellen möchtest dann mach das doch hier in #1019643517573799936. seltsam..

Wow.... dieser Channel wurde ja gar nicht mal angezeigt.... erst nach dem ich deinen Link geklickt habe kann ich ihn sehen. 🤦♂️ 👍
Aber Allgemeine hilfe (dieser Chat) ist doch im help Kanal? hmmm seltsam 
Keine Ahnung was da Schief gelaufen ist vielleicht ein Bug was weiß ich. Hauptsache ich kann ihn jetzt sehen. 👀


