#Allgemeine Hilfe
1 messages · Page 9 of 1
so unlustig vallah
den bot will ich da nicht hosten sondern die datenbank drauf benutzten
Achso ja wenn du extern drauf zugreifen kannst dann sollte das auf jedenfall möglich sein
Doch der bre ist mega der lustige Dude
hab
Wenn ich halt im Select Menü Information auswähle dann bearbeitetet sich das Embed wie gewollt, wenn ich aber im Select Menü Fun oder Moderation auswähle wird das Embed nicht bearbeitet...
Was meinst du? xD
report modal
Ich hab es schon
ey
meins hätte dir auch nix gebracht weil des nur ein cmd wäre 😅
wäre es möglich mithilfe von json's ein levelsystem zu coden?
stimmt xD
Wie macht man 2. Buttons in eine Klasse?
das musst du dann in einer view klasse machen
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...
Einfach mit on_interaction arbeiten 🙃
so geht es ja nicht:
class ButtonsView(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
@discord.ui.button(label="Fehler melden", style=discord.ButtonStyle.red)
async def button_callback1(self, button, interaction):
await interaction.response.send_modal(Bug_Modal())
@discord.ui.button(label="Idee einreichen", style=discord.ButtonStyle.green)
async def button_callback2(self, button, interaction):
await interaction.response.send_modal(Idee_Modal())
Dann wird nur der erste Button angezeigt
der zweite Button ist halt nur im Code sichtbar
doch so gehts
loser
Einfach richtige Version installieren
war ja auch
und jetzt gehen diese buttons auch nicht
wie kann ich mit pillow text auf ein bild schreiben?
mit dem .text arg
wie genau ich kriege es einfach nicht hin
würde dir eher easy_pil empfehlen
docs einfach googlen da wirds es Recht gut eigentlich erklärt
Wie kann man bei @discord.default_permissions 2 mögliche **Permissions ** machen, so dass man nur eine von den 2 braucht?
@discord.default_permissions(administrator=True or kick_members=True)
Problem ist or
Mach doch einfach:
@discord.default_permissions(kick_members=True)```
Ein Administrator hat eh alle Rechte.
Achso, okay, danke
Kann man die Farbe von dem Banner bei den bots irgendwie ändern?
nur indem man das profilbild des bots ändert
Danke
Weiß jemand warum ich bei diesem Code:
class Counting(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_message(
self,
message
):
current = MongoAPI.get('aenoxic_bot', 'discord_games', 'game', 'count_to_infinity', 'count')
result = str(current + 1)
print(f'Erhalten: {message.content} || Erwartet: {result}')
if message.channel.id == 1051099605959442513:
if message.author.bot:
return
if message.content == result:
MongoAPI.update('aenoxic_bot', 'discord_games', 'game', 'count_to_infinity', 'count', current + 1)
else:
print("Falsche Zahl!")
def setup(bot):
bot.add_cog(Counting(bot))```
immer geprinted bekomme: `Erhalten: || Erwartet: 2` ??
message.content wirft da irgendwie nix aus.
hast du den message content intent aktiviert?
Im Bot selbst oder bei Discord-Developers?
im code und im developer portal
Danke, das war der Fehler.
super
Danke dir. 🙂
Achso und noch was:
Ist es möglich auf einer response-Nachricht des Bots eine add_reaction zu machen?
ja das geht
Wie? 😄
so müsste das gehen
Okay, teste ich nachher. Danke. 🙂
Das ist für dich wahrscheinlich nicht mehr relevant, aber ich habe gerade herausgefunden, dass es doch möglich ist, versteckte Infos in Choices einzubauen. Ich bin selbst verblüfft
fortnite
await message.add_reaction(emoji=":+1:")```
uii hab’s schon anders gelöst, aber gut zu wissen
Wissen da jemand was? 👀
brauchst die emoji id
Könnte also auch Custom Emojis nehmen?
ja
Einfach die ID oder im Format name:ID?
format
Danke. 🙂
kein problem
await message.add_reaction(emoji="")```
Unknown emoji
Immer noch unknown
1 sekunde
Keine Hektik.
Muss der Emoji auf dem selben Server sein?
glaube schon aber bin mir nicht sicher
Teste gleich mal..
natürlich
also bot muss auf den server vom emoji sein
Hat geklappt. Danke euch zweien.
Moin zusammen,
await db.execute(
"INSERT OR IGNORE INTO users (user_id) VALUES (?)", (interaction.user.id,)
)w
damit schreibe ich ihn meine Datenbank, das funktioniert aber die user_id ist jedes mal anders beim drücken des Buttons. Kann mir jemand sagen sagen wieso ? Sollte die user.id nicht immer die selbe sein ?
hm, die User ID eines User bleibt definitiv immer gleich
beachte, dass jeder User immer nur einmal eingefügt werden kann. wenn du also das insert statement ausführst, obwohl der User schon in der DB ist, passiert nichts
Das steht in meiner Callback funktion.
async with aiosqlite.connect("plantage.db") as db:
await db.execute(
"INSERT OR IGNORE INTO users (user_id) VALUES (?)", (interaction.user.id,))
await db.execute(
"INSERT OR IGNORE INTO users (user_nickname) VALUES (?)", (interaction.user.display_name,))
await db.commit()
und das kommt raus wenn ich ihn drücke mehrmals
was ist dein primary key?
user_id INTEGER PRIMARY KEY
ah ich weiß wieso, du solltest User ID und Username mit demselben Befehl einfügen
wenn du erst die ID einfügst und danach den Namen, wird für den Namen eine neue Zeile erstellt, bei der die ID dann automatisch 1 hochgezählt wird
randomBot = ['Schere', 'Stein', 'Papier']
result = randomBot[randomInt]```
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: IndexError: list index out of range
Wissen jemand was?
musst 0-2 machen
listen fangen bei 0 an
user rollen auch 👀
Moin moin, hier Coden doch bestimmt leute mit VSCode. Naja jedenfalls ist seit gerade eben VSCode voll weird, meine ganzen Dc imports werden gelb unterstrichen mit dem fehler reportMissingImports kann mir da jemand weiter helfen?
müsste an deiner init liegen denke ich
Tibue kann ich wegen dem neuen Video auch per blob Datei vom Datenbank schicken?
Wie meinst du und wo?
Ist halt im jeden file so. Pycord habe ich auch neu installiert
und ist auch in der main datei so
nö habe keine
da speichern sich die imports und die Änderungen
das ist eine File die man mit python mit installiert.
aso und wie kann ich das änder 
gute Frage
._.
ich habe da dann eine andere IDE benutzt xD
xD
hatte bei pycharm des problem gehabt
interpreter ändern maybe
sonst würde ich vorschlagen python neu zu installieren -_-
Wie kann ich den Interpreter bei VSCode bearbeiten?
na hööörr maaal
kann ich bei pilow den text auch irgenwie auf der x achse zentrieren? und die schrift größer machen?
Habs ;)
wieso nicht 😐
danke^^ @tawdry leaf 
gerne
ja aber wie?
ich bin kein developer 🙂
Um dieses Problem zu beheben, sollten Sie sicherstellen, dass Sie die neueste Version von Pycord verwenden und dass Sie das User-Objekt korrekt über die get_user-Methode abrufen. Sie können dann versuchen, auf die status-Eigenschaft des User-Objekts zuzugreifen, um den aktuellen Status des Benutzers abzurufen.```hat openai gedroppt wie hilft es mir weiter?
der code ist alt
Hast du auch discord etc Importiert
Installiert
Wie zeichnet man ein Bild mit Tkinter
ob das mit tkinter geht weiß ich nicht aber soweit ich weiß geht das mit turtle glaube ich
Ignoring exception in on_member_join
Traceback (most recent call last):
File "C:\Python310\lib\site-packages\discord\client.py", line 377, in _run_event
await coro(*args, **kwargs)
File "e:\fire-bot\cogs\welcome_channel.py", line 64, in on_member_join
welcome_bild_status = await self.get_welcome_bild_status(member.guild.id)
File "e:\fire-bot\cogs\welcome_channel.py", line 53, in get_welcome_bild_status
async with db.execute("SELECT welcome_bild FROM setup WHERE guild_id = ?", (guild_id)) as cursor:
File "C:\Python310\lib\site-packages\aiosqlite\context.py", line 41, in __aenter__
self._obj = await self._coro
File "C:\Python310\lib\site-packages\aiosqlite\core.py", line 184, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
File "C:\Python310\lib\site-packages\aiosqlite\core.py", line 129, in _execute
return await future
File "C:\Python310\lib\site-packages\aiosqlite\core.py", line 102, in run
result = function()
ValueError: parameters are of unsupported type```
weiß wer was hier falsch ist?
supi
@commands.Cog.listener()
async def on_member_join(self, member):
await self.check_guild(member.guild.id)
await self.check_user(member.id)
welcome_bild_status = await self.get_welcome_bild_status(member.guild.id)
welcome_id = await self.get_weclome_id(member.guild.id)
try:
role_id = await self.get_role_id(member.guild.id)
join_role = member.guild.get_role(role_id)
await member.add_roles(join_role)
except:
return```
if welcome_bild_status == "aktiviert":
try:
W = 1100
H = 500
size = W, H
img = Image.new('RGB', size, 'black')
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("Baby Pilot.ttf", 64)
# draw.text((x, y),"Sample Text",(r,g,b))
_, _, w, h = draw.textbbox((0, 0),f'Willkommen {member.name}\n\n auf dem Server {member.guild}\n\n Member Nummer: {member.guild.member_count}', font=font)
draw.text(((W-w)/2, (H-h)/2),f"Willkommen {member.name}\n\n auf dem Server {member.guild}\n\n Member Nummer: {member.guild.member_count}",'white',font=font)
if not os.path.exists(f'welcome_bilder\{member.guild}'):
os.makedirs(f'welcome_bilder\{member.guild}')
img.save(f'welcome_bilder\{member.guild}\{member}.png')
async with aiosqlite.connect(self.DB) as db:
await db.execute(
"UPDATE econemy SET flame = flame + 10 WHERE user_id = ?", (member.id,)
)
await db.commit()
file = discord.File(f"welcome_bilder\{member.guild}\{member}.png", filename="image.png")
channel = await self.bot.fetch_channel(welcome_id, )
embed=discord.Embed(title=f"**Schön das du da bist \n\nHier hast du 10 Flammen! Verbrenne dich nicht!**", color=discord.Color.brand_green())
await channel.send(f"{member.mention}",embed=embed, file=file)
except:
return```
elif welcome_bild_status == "deaktiviert":
try:
async with aiosqlite.connect(self.DB) as db:
await db.execute(
"UPDATE econemy SET flame = flame + 10 WHERE user_id = ?", (member.id,)
)
await db.commit()
channel = await self.bot.fetch_channel(welcome_id, )
embed=discord.Embed(title=f"__**Willkommen {member}**__", description=f"**Schön das du da bist \n\nHier hast du 10 Flammen! Verbrenne dich nicht!**", color=discord.Color.brand_green())
await channel.send(f"{member.mention}",embed=embed)
except:
return```
was ist welcome_bild für ein datentyp?
async def get_welcome_bild_status(self, guild_id):
await self.check_guild(guild_id)
async with aiosqlite.connect(self.DB) as db:
async with db.execute("SELECT welcome_bild FROM setup WHERE guild_id = ?", (guild_id)) as cursor:
result = await cursor.fetchone()
return result[0]
```
das ist text
Wieso kommt hier keine Nachricht, wenn ich den Button drücke?
also die nachricht kommt mit dem button, aber es passiert nix, wenn ich ihn drücke
hast du eine eigene klasse für den button gemacht?
also die callback methode einfach ons on_member_join event reinzutun geht nicht denke ich
ich empfehle immer eine eigene klasse zu machen
Ok, dann mach ich das, danke
Wie erwähne ich halt durch einen Button einen gejointen user?
{member} wird dann halt bei der interaction.response msg nicht erkannt
Wie meinst du?

error keiner 
das ist immer geil xD
habe halt ein event wodurch neue mitglieder begrüßt werden, habe auch einen Button geaddet wenn man auf den Button klickt soll auch teilweise angezeigt werden welcher user gejoint ist...
um halt anzeigen zu lassen ... begrüßt ...
also ich habe hier dann eine definition von member:discord.Member gemacht...
Übergibst du den Member denn auch?
nein, deswegen wollte ich fragen wie ich es mache
schick mal deinen code
ja, solange du es im view init annimst
noch ideen ?
ich habe das probelm mit den Option das es nicht geht
wie findest du das
wahrscheinlich ist deine pycord version zu alt. prüf das mal, indem du pip freeze eingibst
nicht wirklich
joo, hab's verstanden danke :)
einf wie jeder gute Programmierer die Reise zum Erdkern machen
from discord.commands import Option```
statt ```py
from discord import Option```
ich habe discord.py 2.1.0 oder brauch ich auch pycode
dann ist der error bei commands und Option
Soweit ich weiß ist d.py mit Pycord nicht kompatibel
Kommt drauf an was du nutzen willst
sollte beides gehen
mast schummeös
Korrekt
true
oder einfach bei Discord.py beides nicht 😎
man kann doch sicher durch einen command halt z.B. einen textkanal von einer json file ändern oder?
sicher
versuch ich später, danke 👍
kd
danke übrigens für die ganze hilfe die du hier gibst entchen, wenn du nichts dagegen hast würde ich dir die rolle Freiwilliger Helfer geben, du kennst dich ja ziemlich gut aus
@dense magnet hier ping damit du nicht in 4. Tagen antworten musst und er aufgrund Inaktivität seine Meinung ändern muss
xD
Haha immer gerne. Kannst mir die Rolle gerne geben
@solid ingot lucky musst du auch freiwilliger helfer xD
Danke dir 
Ich mag nur nachtreten 🙂
@dense magnet bin neidisch
weil er nicht stinkt und du schon
wirst du auch safe 👍
@urban glen falls du noch Hilfe benötigst #1020759567421931620 ist noch frei 😂
haha
Dass mache ich mit den Servern wo du deinen Bot hostest:
Die haben irgendwie grad Geldprobleme 😅
haha, wechsel einf. zu Alpha-Host die haben sowas nicht
die haben einen rotz ping
da müsste ich den ping manuell im code ändern ^^
aber weiß du wie ich denerror weg bekomme?
wozu eig Option bre
hahahhaha 😭
einf user:discord.Member=None dann ist es keine erforderliche Option mehr
wenn es darum grad geht
schick mal deine pip freeze liste
mach from discord.commands import slash_command, Option

du used pycord also 
aiohttp==3.8.3
aiosignal==1.3.1
async-generator==1.10
async-timeout==4.0.2
attrs==22.1.0
certifi==2022.9.24
cffi==1.15.1
charset-normalizer==2.1.1
discord.py==2.1.0
frozenlist==1.3.3
h11==0.14.0
idna==3.4
multidict==6.0.3
outcome==1.2.0
py-cord==2.3.2
pycparser==2.21
PySocks==1.7.1
selenium==4.7.2
sniffio==1.3.0
sortedcontainers==2.4.0
neee das wäre mir zu hässlich
Schreib option klein
deswegen hab ich es nicht 😄
geht dass überhaupt bei d.py
coding session 👀
nö
Nö
pip uninstall discord.py
haha
hm
und den virus pycord installieren 👀
ich meinte doch schon vorhin d.py ist nicht mit pycord kompatibelbar
für den maximalen Bruch
🤫
diese Aussage ist so unlogisch
davor hatte ich auch nicht py
Ah bruh ignorier meinen Kommentar du meintest doch das richtige Option 🙃 arbeitest ja nicht aktiv effizient wie ich 🫶🏻
du sagst discord.PYTHON ist nicht mit PYTHON kompatibel
Ich glaub mich drehts
einf. 00:22 schon wieder verging die zeit so schnell 😭
streits über die beste library gehören nicht in #1019974414487535736 jungs
pycord ist aber schon die beste

Hallo Discord.py ist nur für C# also echt
d.py ist discord.py
und ich meinte doch pycord
Die Reise zum Erdkern fängt an
Chill ma er hat sich offensichtlich verschrieben
ich hab jetzt mal py-cord deinstalliert
Warum PyCord
wolltest du nicht discord.py deinstallieren
🙂
ka
das brauch ich doch für das alles oder nicht#
Du used doch PyCord 😂
Ne du brauchst PyCord 🥲
discord.py brauchst du Nicht

du brauchst pycord
wieso werden dann manchmal fragen zu nextcord unter #1019643517573799936 gestellt 
Was soll man machen
Weil nextcord user beschränkt sind

und damit würde ich sagen
Aufgabenstellung lesen +1
ich bin so lost dass ich für die pycord docs ein extra tutorial bräuchte wie man dass alles versteht
ich brauch ein extra code
Alles gut Lucky kann auch keine docs lesen
ja schummeln darf man nicht
Auch wenn die eig nur aus Python basics bestehen :p
ich dachte ich sei der einzige 😭
Ja Save
Python Server
Aber was verstehst du denn nicht die sind doch Ezz
ich sehe hier nix was meine Nachricht revidiert
Dir wird ja quasi alles angezeigt
rund um Python steht da 🤔
Ja gestern nicht
ja vllt hat es so gestunken das es zu Python wurde
ne ist alles zu kompliziert dargestellt um es zu verstehen
ey kann man einen channel mit textkanal.mention erwähnen?
ja versuch mal
später muss gerade einen anderen cog fertig coden
uiii
steht auf meiner liste 
Lüge
welche liste 
Mach es bitte mit @urban glen zsm damit du den Bruch auch siehst
muss man modal & button classen im cog oder auserhalbes des cogs machen?
Du brauchst einen der im Talk ist den du es erklärst und er danach noch weniger versteht 😂
auf der liste mit videos die ich noch machen will
ahh
sag doch einf. to do liste

Zeitung )
was für zeitung
Bild
Was heißt dass? xD
das die den Typen nicht akzeptieren
Das du dein Fenster öffnen sollst und nach Hilfe rufen musst
oder Clash of clans schreien und es auf tiktok hochladen 🙄

COC
Na ihr seid ja hilfreich 👀
code?
Konnte es schon beheben 👍
top
in die Reise zum Erdkern
Kann man halt wenn ein User durch ein Modal etwas eingereicht hat und ich dann auf annehmen klicke bei einem button wodurch dann der vorherige interaction.user vom modal eine dm bekommen würde, geht dass ohne db?
Ja
Wenn du zum modal direkt den Button erstellt was man eig immer macht kannst du dort des ja so coden das der Interaktion User der ist der die dm bekommt
Morgen. Habe mir mal das Dropdown-Select Video von tibue angeschaut. Wie läuft das da ab, wenn ich jemanden da eine Rolle zuweisen möchte?
zuerst musst du die Rolle über die ID bekommen, dann kannst du interaction.user.add_roles benutzen
Müsste dann auch ne Abfrage machen, was alles ausgewählt wurde?
ja
Und wie bekomme ich die Role? interaction.user.guild.get_role()?
das user kannst du weglassen
Ja nh :D
Und in die Klammern muss die ID
Danke 😂
Also brauche ich nichts abspeichern, damit wenn ich auf einen button klicke der interaction.user vom modal eine dm bekommt?
ja
Yo
wieso bei all meinen Buttons geht das so
das b von button muss klein geschrieben werden
Geht es dann auch nachdem Bot-Neustart?
wenn du den View persistent machst ja
solange du nur auf interaction.user zugreifen willst musst du nichts abspeichern
Kann mir jmd helfen und sagen warum wenn ich als alert das eingebe: a\nb\nc
das es so angezigt wird: a\nb\nc
und nicht so:
a
b
c
?
@discord.guild_only()
async def alert(self, ctx, alert: Option(str, "Veröffentliche eine Neuikeit")):
channel = 0
if ctx.channel.id == SERVER_SYSTEM["news_channel"]:
channel = self.bot.get_channel(SERVER_SYSTEM["news_channel"])
role = ROLLEN["allgemeine-neuigkeiten"]
embed = discord.Embed(title=f"**Neuigkeiten**", description=f"{alert}")
elif ctx.channel.id == SERVER_SYSTEM["hosting_channel"]:
channel = self.bot.get_channel(SERVER_SYSTEM["hosting_channel"])
role = ROLLEN["hosting"]
embed = discord.Embed(title=f"**Hosting Neuigkeiten**", description=f"{alert}")
elif ctx.channel.id == SERVER_SYSTEM["bot_channel"]:
channel = self.bot.get_channel(SERVER_SYSTEM["bot_channel"])
role = ROLLEN["hosting"]
embed = discord.Embed(title=f"**Hosting/Allgemeine Neuigkeiten**", description=f"{alert}")
else:
await ctx.respond("Bitte Nutze die Richitgen Channel für diese Funktion", ephemeral=True)
await ctx.respond("Du hast eine Neue Veröffentlicung getätigt!", ephemeral=True)
msg = await channel.send(f"<@&{role}> \n", embed=embed)```
wie xD
und wie greife ich halt auf den vorherigen interacton.user zu der das modal genutzt hat
wie übergebe ich dass 
mach's als r-string
#post reaction
@bot.event
async def on_thread_create(thread):
if thread.parent is discord.ForumChannel:
await thread.send("Hallo")
``` ich brauche hilfe der will keine nachricht rein senden
dann steht da {alert}
ne das alert selbst als r string
wie geht das also klar snstatt nen f nen r aber wo?
kein Error? hat der vor Zugriff?
da wo du dein alert definierst
das wäre ja dann hier
kein error
(self, ctx, alert: Option(str, "Veröffentliche eine Neuikeit")):
zu griff hat er ja
ich will, wenn ich ein neuen forum thread aufmache, dass er hallo reinschreibt
wohin willst du das denn übergeben?
generell kannst du Sachen so zwischen Klassen übergeben:
https://youtu.be/Zdexqb8XxJE
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 ...
an einen button halt
jo ty
tibue?
*Neuigkeit
könnte mir bitte jemand kurz hier helfen?
import discord
from discord.ui import Button, View
from discord.ext import commands
import asyncio
bot = commands.Bot(command_prefix="!", intents=discord.Intents.all())
GUILD_ID = 798144883016859689
TEAM_ROLE = 800726841329057822
TICKET_CHANNEL = 840882678681305098
CATEGORY_ID = 840882129880481822
@bot.event
async def on_ready():
print(f"{bot.user} ist online")
@bot.command()
@commands.is_owner()
async def ticketmsg(ctx):
button1 = Button(label="Ticket öffnen!", style=discord.ButtonStyle.blurple, custom_id="ticket_button")
view = View()
view.add_item(button1)
embed = discord.Embed(description=f"Beschreibe dein Anliegen!", title=f"Ticket System")
channel = bot.get_channel(TICKET_CHANNEL)
await channel.send(embed=embed, view=view)
await ctx.reply("Gesendet!")
@bot.event
async def on_interaction(interaction):
if interaction.channel.id == TICKET_CHANNEL:
if "ticket_button" in str(interaction.data):
guild = bot.get_guild(GUILD_ID)
for ticket in guild.channels:
if str(interaction.user.id) in ticket.name:
embed = discord.Embed(description=f"Du kannst nur ein Ticket gleichzeitig öffnen! {ticket.mention}")
await interaction.response.send_message(embed=embed, ephemeral=True)
return
category = bot.get_channel(CATEGORY_ID)
ticket_channel = await guild.create_text_channel(f"ticket-{interaction.user.id}", category=category,
topic=f"Ticket von {interaction.user} \nClient-ID: {interaction.user.id}")
await ticket_channel.set_permissions(guild.get_role(TEAM_ROLE), send_message=True, read_message=True, add_reations=False,
embed_links=True, attach_files=True, read_message_history=True,
external_emojis=True)
await ticket_channel.set_permissions(interaction.user, send_message=True, read_message=True, add_reations=False,
embed_links=True, attach_files=True, read_message_history=True,
external_emojis=True)
embed = discord.Embed(description=f'Willkommen im Ticket {interaction.user.mention}!\n'
f'Hier packst du deine Beschreibung rein!\n'
f'Ticket mit `!close`schließen',
color=62719)
embed.set_author(name=f'Neues Ticket!')
mess_2 = await ticket_channel.send(embed=embed)
embed = discord.Embed(title="Ticket geöffnet!",
description=f'Dein Ticket wurde erstellt! {ticket_channel.mention}',
color=discord.colour.Color.green())
await interaction.response.send_message(embed=embed, ephemeral=True)
return
@bot.command()
async def close(ctx):
if "ticket" in ctx.channel.name:
embed = discord.Embed(
description=f'Ticket schließt in 5 Sekunden automatisch!',
color=16711680)
await ctx.channel.send(embed=embed)
await asyncio.sleep(5)
await ctx.channel.delete()```
Wieso geht der code nicht richtig
wie mache ich das der button eine nachricht sendet und den button daraufhin gleich disable macht
await interaction.response.send_message(f'test')
button.disabled = True
await interaction.response.edit_message(view=self) ```
aber das geht ja nicht weil eine interaction schon davor da ist
Danke
await interaction.response.defer()
channel1 = bot.get_channel(1048658002024083588)
embed = discord.Embed(
title="Custom Code",
description=f"**Here ist the custom Code:** `{self.code.content}`",
color=0x9461cb
)
embed.set_footer(
text="Nuzaki coded for NXTUP ESPORTS | EU 🎃",
icon_url="https://cdn.discordapp.com/attachments/1045464812177604669/1048240399560478761/Nxtup_Player_Picture.PNG"
)
embed.set_author(
icon_url="https://cdn.discordapp.com/attachments/1045464812177604669/1048240399560478761/Nxtup_Player_Picture.PNG",
name="By Nuzaki"
)
embed.set_thumbnail(
url="https://cdn.discordapp.com/attachments/1045464812177604669/1048254754171670558/video.mkv.png"
)
await interaction.user.send(embed=embed)
embed1 = discord.Embed(
title="Code Unlock",
description=f"{interaction.user.mention} Has unlocked the the custom games code",
color=0x9461cb
)
embed1.set_footer(
text="Nuzaki coded for NXTUP ESPORTS | EU 🎃",
icon_url="https://cdn.discordapp.com/attachments/1045464812177604669/1048240399560478761/Nxtup_Player_Picture.PNG"
)
embed1.set_author(
icon_url="https://cdn.discordapp.com/attachments/1045464812177604669/1048240399560478761/Nxtup_Player_Picture.PNG",
name="By Nuzaki"
)
embed1.set_thumbnail(
url="https://cdn.discordapp.com/attachments/1045464812177604669/1048254754171670558/video.mkv.png"
)
await channel1.send(embed=embed1)
button.disabled = True
await interaction.response.edit_message(view=self)```
Kann mir bitte wer sagen wieso dieser fehler auftritt
kannst nur einmal interaction.send nutzen
einfach klauen von meins Oda was xd
nein das kann man öfters benutzen
ne
kann man Net machen
nur bei If abfragen, try except else und so jam
normal net
ich use await interaction.channel.send
ja das weiß ich doch aber ich weiß nicht wie man das dann so machen kann der der button trotzdessen er reagier hat so einen error bringt mit Interaktion fehlgeschlagen
ja auch nur so geht es
wenn ich das response.defer weglasse kommt nachdem ich auf den Button gedrückt habe die feehler meldung: Interaktion Fehlgeschlagen
es sendet halt nur die Nachricht ich bevorzuge eher das es auf die Nachricht antwortet also interaction.response.send_message halt
es soll doch aber keine Message senden
stimmt
es sollte bloß den Button deaktivieren ohne das in Dc ein error kommt aber egal ich hab es hinbekommen und der fehler war nicht beim respont
?
@thick haven
ohne eine genaue fehlermeldung ist das schwer zu sagen
@indigo sapphire
du bist einer der wenigen die das benutzen xD
Also wenn du zb. /say <channel> a\nb\nc machst dann geht es nd
Naja ich halt ein embed haben wwo die description mehr zeilig ist also /say <text> a}nb}nc
Also willst du einen embedbuilder machen oder wie soll ich das verstehen
schick mal ein screen wie das aussieht also
so als beispiel
FORTNITE
fortnait
naja also als embed descript halt nen custom text
mhm
Also /embed <title> <description="A\nb\nc" und dann soll das halt
<title>
a
b
c
sein oder?
right
Das geht nicht
Du könntest es umständlich machen ungefähr so:
/embed <title> <line1=blahblah> <line2=blahblah>, etc
Und in deinem code in die Desc: f"{line1}\n{line2}"
musst nur die beiden einträge in der replace methode tauschen
Kennt ihr eine Seite die mir eine bestimme anzahl character in "teile" die eine bestimme anzahl character hat umwandelt?
also ABCD zu AB CD?
Ja zum beispiel
hm website weiß nicht, könntest du aber auch schnell in python selbst machen mit einer for schleife
schenk mir lieber ein keks 
anzahl = 2
text = "ABCDEF"
result = ""
for index, char in enumerate(text):
result += char
if (index + 1) % anzahl == 0:
result += " "
print(result)
und anzahl = 2 zu wie viele character ich will right?
ja
schau mal in #🔗・bots
danke @solid ingot
@solid ingot
Tibue wie geht's es mit Blob?
So wie diese Video:
Ich hoffe Werbung ist erlaubt lmao
https://youtube.com/shorts/IzvVdvFmiAY
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...

meinst du blurple?
Nein blob ist ein bild Speicherung für SQlite
Anstatt das Bild direkt am PC zu speichern hollt man es sich aus der Datenbank.
@solid ingot
das kann ich selbst nicht :D ich empfehle URLs zu benutzen
was willst du mit damit sagen
Wenn ich es schaffe mach ich ein Guide für dich lmao

schick code xD mit ner leeren konsole kann ich nix anfangen
Ich schick dir per dm

ist nh js code drin
du kannst nicht einfach python code in ne js datei schreiben
bist du echt von pycord zu discord.js gewechselt?
Guck dms
ja hab
ja
python code gehört immer noch nicht in ne JS datei
du hast mit ne txt datei geschickt xD
ja, weil ich kopiert hab und discord instatt .txt macht
Frag Chat GPT der schreibt dir bestimmt code der nen string splittet
Also Programmier mir in Python ein Script der mir einen String in eine bestimmte anzahl teilt ?
🖕

also mein code sollte auch funktionieren aber mit dem JS und Python in einer Datei kann ich dir nicht weiterhelfen
# Define the input string and the number of parts to split it into
string = "This is a sample string"
num_parts = 3
# Calculate the length of each part (rounded up to the nearest integer)
part_length = len(string) / num_parts
part_length = int(part_length + 0.5)
# Split the string into the specified number of parts
parts = []
for i in range(num_parts):
# Extract the substring for the current part
start = i * part_length
end = start + part_length
part = string[start:end]
# Add the part to the list of parts
parts.append(part)
# Print the resulting parts
print(parts)
das hab ich jz
geil
typischer screenshot eines JS users
Ja
hab ich in der txt nicht so gut erkannt
# Dieses Skript teilt einen String in Abschnitte und nummeriert diese
# Definieren Sie hier den String, den Sie teilen möchten
string = "Dies ist ein Beispielstring, der in Abschnitte geteilt wird"
# Definieren Sie hier, wie viele Abschnitte Sie erstellen möchten
num_sections = 4
# Berechnen Sie hier die Länge eines jeden Abschnitts
section_length = len(string) // num_sections
# Teilen Sie hier den String in Abschnitte
sections = [string[i:i+section_length] for i in range(0, len(string), section_length)]
# Nummerieren Sie hier die Abschnitte
for i, section in enumerate(sections):
print(f"Abschnitt {i+1}: {section}")
``` 🤣
Hab jz das
# Dieses Skript teilt einen String in Abschnitte mit einer festen Länge
# Definieren Sie hier den String, den Sie teilen möchten
string = "Dies ist ein Beispielstring, der in Abschnitte geteilt wird"
# Definieren Sie hier die Länge der Abschnitte
section_length = 700
# Teilen Sie hier den String in Abschnitte
sections = [string[i:i+section_length] for i in range(0, len(string), section_length)]
# Drucken Sie hier die Abschnitte aus
for i, section in enumerate(sections):
print(f"Abschnitt {i+1}: {section}")
geil
warte warte
ich hab jetzt erst richtig verstanden was du machen willst
bin bisschen eingeschränkt weil ich nicht zu hause bin
nimm nochmal meinen code
kanns sein dass du einfach nur das print am ende vergessen hast
dann wird auch nicht ausgegeben
anzahl = 2
text = "ABCDEF"
result = ""
for index, char in enumerate(text):
result += char
if (index + 1) % anzahl == 0:
result += " "
print(result)
ist doch ein print
aber nicht in dem code den du geschickt hast
print(f"Abschnitt {i+1}: {section}")
ich weiß nicht genau was du mit dem JS code vor hast, aber ich glaube es wäre einfacher alles von vorne in python zu machen
Das hat mein JS freund gecodet
wasn das?
von nh website die eine sprache in eine andere üebrsetzt

wie kann ich es machen das jeder user nur einmal auf den Button klicken kann
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...
wofür ist daas f
zum beispielt du machst
blah = "mario"
und willst das dann der Bot diese definition schreibt dann machst du nähmlich
await ctx.respond(f"{blah}")
das blah ist wie ich das oben gennant habe und dann würde der bot mario schreiben
verstanden?
nicht wircklich
Ganz easy gesagt xd
Build diffrent xD
k
´kann ich in einem dropdaown menü alle text kanale zur auswahl stellen und wenn ja wie?
Nein das geht nicht. Wenn dann kannst du selber durch alle channel loopen und die da hinzufügen, da gibts aber nen limit von 25
und wie würde das gehen?
ist das der beste weg den token zu verstecken? oder gibt es einen bessere
Wo definierst du die bal variable?
Du loopst durch die Channel und addest für jeden Channel eine Select Menu Auswahl
Dann schick mal deine get_user_info funktion
mit for in
wieso geht der Mist nichgt
genau
Schick mal bitte so, dass man auch die Code Zeilen sieht
das ist alles auch der Cmd mit dem Name ob!play geht nicht mehr
vor 10 min ging er noch
also for channel in ctx.guild: ?
self.code muss wahrscheinlich üher den super init stehen hab's auch auf blue geschrieben
for channel in ctx.guild.channels:
Wo legst du denn die code variable fest?
Timo hatte das im Video drunter gemacht aber der cmd ob!play funktoniert nicht
ok danke
in ob!play und übergebe sie einem button diesen button mache ich als persitent view
Aber hier wird sie ja nicht übergeben
kann ich dropdowns in pageinator packen?
wie meinst du?
das ich den paginator habe und auf der einen seite ist das dropdown und auf der andene seite ist ein anderer dropdown
ka benutze paginator nicht probiers aus
jo
ok wie?
print den fetch mal und sag was drin steht
Fortnite
und wi kann ich machen das für jeden channel ein option hinzugefügt wird?
wie erstelle ich das nach 2 stunden immer ein embed gepostet wird?
mit einem task und dann sleep(2std in sec)
Du kannst zb eine Liste erstellen und für jeden Channel die SelectOption in diese Liste adden
wie adde ich die selectoption
zu der liste?
zu den optionen
soll ich für dich dass kurz coden?
jo wait
import asyncio
@commands.Cog.listener()
async def on_ready(self):
channel = self.bot.get_channel(HIER DIE ID VOM CHANNEL EINFÜGEN)
while True:
await channel.send(embed=discord.Embed(title="Fortnite", description="Für Fortnait", color=0x5865F2))
await asyncio.sleep(7200)
wie geht das mit der list nochmal?
option: Option(str, "Bla bla", choices=["Fortnite", "Fortnäit", "Fortnait", "Fortnitteeee"]
der schick dann jede 2 stunden das embed rein?
Für jeden Channel addest du ein SelectOption Objekt in eine Liste und gibst diese am ende an das select menü
Ja, await asyncio.sleep(7200) ist weil man dafür immer die Zeit umberechnen muss
Hat wer ne ideee
Traceback (most recent call last):
File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 124, in wrapped
ret = await coro(arg)
File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 976, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "/home/container/cogs/xenority/xenority.py", line 404, in left
await ctx.respond(datetime.date(2022,12,31)-datetime.date.today().days)
TypeError: descriptor 'date' for 'datetime.datetime' objects doesn't apply to a 'int' object
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/container/.local/lib/python3.10/site-packages/discord/client.py", line 377, in _run_event
await coro(*args, **kwargs)
File "/home/container/bot.py", line 110, in on_application_command_error
raise error
File "/home/container/.local/lib/python3.10/site-packages/discord/bot.py", line 1114, in invoke_application_command
await ctx.command.invoke(ctx)
File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 375, in invoke
await injected(ctx)
File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 132, in wrapped
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: TypeError: descriptor 'date' for 'datetime.datetime' objects doesn't apply to a 'int' object```
await ctx.respond(datetime.date(2022,12,31)-datetime.date.today().days)

Fortnite
code?
wie geht das durch gestrichene ist gleich zeichen?
!=
aber eig solltest du nd einfach den code abschreiben xd
Schick mal Code wo das ist?
Zeile 2
Bitte in Blocks
Versuch mal die Klammern bzw. Den ganzen Text nochmals zu schreiben
bringt nichts
da
Hm
hab ich schon versucht
Wie bitte?
Weiß ich net weiter.
er hat die nachricht zu code blöcken / in code blöcken überarbeitet
îch hab es in blocks gemacht
hä sihst dus ned oder iwe
a
Du hast da eif. nur 1en ` gemacht solltest aber oben 3 davon dahinter "py" dann dein Eror und ganz unten wieder 3 von den
`
ja ebend das sind 3
nutz lieber mal nen pc
Komisch
Traceback (most recent call last):
File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 124, in wrapped
ret = await coro(arg)
File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 976, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "/home/container/cogs/xenority/xenority.py", line 404, in left
await ctx.respond(datetime.date(2022,12,31)-datetime.date.today().days)
TypeError: descriptor 'date' for 'datetime.datetime' objects doesn't apply to a 'int' object
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/container/.local/lib/python3.10/site-packages/discord/client.py", line 377, in _run_event
await coro(*args, **kwargs)
File "/home/container/bot.py", line 110, in on_application_command_error
raise error
File "/home/container/.local/lib/python3.10/site-packages/discord/bot.py", line 1114, in invoke_application_command
await ctx.command.invoke(ctx)
File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 375, in invoke
await injected(ctx)
File "/home/container/.local/lib/python3.10/site-packages/discord/commands/core.py", line 132, in wrapped
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: TypeError: descriptor 'date' for 'datetime.datetime' objects doesn't apply to a 'int' object```
jetzt bei dir
@tasks.loop(hours=2)
chnnels ist bei mir nicht difiniert
module.exports = client => {
const channelId = "1050870005715181598"
client.on("guildMemberAdd", (member) =>{
console.log (member)
const message = `Willkommen zu meiner Schule <@${member.id}>`;
const channel = member.guild.channels.cache.get (channelId);
channel.send(message);
});
};
Is da irgendwas falsch?
Eu parado no bailão
Nochmal du solltest das auch nicht abschreiben. Wenn du den 1:1 abschreibst geht der genau deswegen auch nicth xd
Kann ich irgendwem mein DC Link kurz schicken um zu schauen ob der funktioniert?
const channelId
was ist da falsch?
oder ne doch nicht
da fehlt ein "." oder?
wurde bei mir so weird angezeigt dieses "I"
ka wende dich doch an einen js coding sup server
Eu parado no bailão, no bailão
ja kenne keinen
Okay reicht
O popozão no chão
O popozão no chão
O popozão no chão

ok wird langsam weird
WEIRD
.gg / javascript
hab es mit den leerzeichen geschrieben weil es sonst der automod filtern würde
ich dribbel automod
Python server
deswegen darfst du hier nicht chillen 🤔
😄
sei still
schisser
Weiß jemand warum (trotz dass alles funktioniert) die Meldung kommt "Diese Interaktion ist fehgeschlagen"?
Du respondest nicht zu der interaction
wie?
damit die interaktion nicht fehlschlägt, musst du auf sie responden. Du könntest zb await interaction.channel.send mit interaction.response.send_message ersetzen. Da hätte den selben effekt, gilt aber als response
Merci. 🙂
Immer gerne
ich kann die Datei gerade nicht öffnen weil ich am handy bin, allgemein ist der beste weg eine .env datei
in tutorial folge 5 wird dazu etwas erzählt
weiß wer wie ich self diefieneiren kann ?+
class welchanView(discord.ui.View):
options = []
for channel in self.guild.channels:
if channel.Type == discord.ChannelType.text:
options.append(discord.SelectOption(label=channel.name, value=str(channel.id)))
super().__init__(options=options, placeholder="Select a Channel", custom_id="WelcomeChannelDropdown")
@discord.ui.select(
min_values=1,
max_values=1,
placeholder="Wähle einen Willkommen Channel",
options=options
)
async def select_callback(self, select, interaction):
wie meinst du das genau?
macht interaction.channel.send einfach die Nachricht ohne darauf zu reagieren?
exactly
kk
wie mache ich das wenn der Button gedrückt wird gleich der Button disable wird und die Nachricht versendet
weil Response und edit hintereinander geht ja net
🤔
Wie kann ich denn eine Liste beleidigender Wörter abfragen?
Läuft leider nicht so perfekt..
Also z.B. so:
badWord = ["Arsch", "Arschloch"]
if badWord in message.content:
print('Böses Wort!')```
Cooler anfang
Ahhaha
von ne Datei abfragen lassen
gibt's vieles dazu in Internet
Hab die Wörter ja in der List abgespeichert. Brauch ja keine Datei für.
@silk gulch hilft ja nicht weiter mit der Aussage "läuft leider nicht so perfekt"
bräuchten schon Errors oder wobei du Hilfe benötigst
das self ist nicht definiert
Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Users\maxme\Infinitely\lib\site-packages\discord\client.py", line 377, in _run_event
await coro(*args, **kwargs)
File "C:\Users\maxme\Desktop\Aenoxic Bot\listener\OnMessage.py", line 22, in on_message
if badWord in message.content:
TypeError: 'in <string>' requires string as left operand, not list```
if str(badWord) in message.conent:
achso bruh
erstell nennrichtigen Button
mit ne class pls
Mhh.. Jetzt macht er garnix. Egal ob ich die Wörter schreibe oder nicht.
jungs hilfe
.id entfernen
musst es darüber dann guild und Textchannel nochmal definieren
ich?
ja
was muss ich den installieren damit ich die errors davon weg bekomm
pip install py-cord
immer noch ich habe das jetzt alles was davon draf ich nicht haben weil manche sagen dass das und das nicht geht
geht das so?
ne
wie sonst=?
Google discord.ui.button py-cord
da kommen examples
und dann siehst du ein Beispiel mit disable beim py-cord guide
...
wow
wozu bin ich denn im support?
naja debug guild eig unnötig
wait
*Button
ne
klein
class MyView(discord.ui.View):
@discord.ui.button(label="A button", style=discord.ButtonStyle.primary)
async def button_callback(self, button, interaction):
button.disabled = True # set button.disabled to True to disable the button
button.label = "No more pressing!" # change the button's label to something else
await interaction.response.edit_message(view=self) # edit the message's view```
@vivid sky
aso ja 
discord.py löschen
und unten dann?
alles von discord.py?
und wieder installieren
Ja
baruch ich das weil @tawdry leaf sagt wieder installieren
war ein scherz
Nein
ne
jetzt hab ich nur noch den error
j

du musst alle wörter aus der liste mit einer for schleife durchgehen
Wie geht das so ugf.?
? so
bad_words = ["Arsch", "Arschloch"]
for word in bad_words:
if word in message.content:
print('Böses Wort!')
self.bot
Danke dir. ❤️
🤔
ich habs doch oben gemacht

ist unmöglich das kann nur @dense magnet beantworten..
ich finde die Übersicht des Codes auch supi
wie soll man helfen wenn der code in halber sicht nur da ist 👀
meinste mich?
jo
innerhalb der cog class und außerhalb?
soll ich ein scheiß 500 zeilen code posten?

wenn da der error ist und du hilfe brauchst ja 
damit ein kleines kiddie wieder mein code klaut und in #1027677692730036294 reinpostet?
nein danke kein bedarf
🤔
um schreiben.
@solid ingot Hilf Mal XD warte seit nen Tag 🥹
geben und nehmen 
hab es jetzt gemacht aber er sendet das embed nicht mit dem claim button und es kommt kein error
zeig Mal den Code wo es die Nachricht sendet und die Views addet
macht er denke grad im Call
ich schicke dir das mal per dm denn ganzen code
hast du dir doch schon selbst beantwortet 👀
obwohl ne
Lost xd
aber musst halt interaction.message benutzen
will das es auf die Nachricht reply wird und dazu der Button disable wird beim edit
wus
await interaction.message.edit
mach bei dem event von dem Button einf des rein
Das war irgendwie button.disabled=True und dann den view nochmal neu bearbeiten in der selben Response
hab ich
Ja bin am Handy seh nix
erst interaction.message.edit(), dann interaction.response.send_message()
button.disabled = True
await interaction.message.edit(view=self)```?
try it 😐
Ty geht

Was
ich hab kein placeholder was mehr als 100 zeichen hat

Hat hier wer eine Option das ich MIT meinem Rechner Telefonieren kann also über meine Mobile sim karte ? Ohne Festnetz Anschluss und das ganze für iPhone ausgelegt
Hab mir gerade eben extra nh 6€ app im store gekauft absoluter müll
Also wenn ich mich nicht täusche gab es doch mal ne windows app die handy oder so hieß
hey tibue ich hab mal vor lange zeit gefragt wie man beim slash command bilder/datei einbinden kann?
ich frage noch zusäzlich kann ich auch diese datei in einem ordner irgenwie abspeichern wie zb ein bild?
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Links aus diesem Video
► https://media.tenor.com/epNMHGvRyHcAAAAd/gigachad-chad.gif
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
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/
D...

ähm wtf?
lost
zb ordner: IMG
mit slash zb
/img file: bild.jpg
speichert in ordner: IMG
so das du es verstehst
qusi sowas
nur für slash command
oder modal
Node.js ist doch Java oder nicht
JavaScript
Genau
wie kann man so eine anzeige machen wie viel server der bot schon drauf ist?
client.guilds
Wait
einfach in activity name rein?
activity=discord.Activity(
type=discord.ActivityType.watching,
name=f'nach Updates'
)
Mehr oder weniger j
und warum client?
Ja
Wenn du bot.command benutzt bot.guilds
Okay also bot.guilds dann kommt die Zahlen?
Ja
Wenn du es richtig machst
In geschweifte Klammern weil ist eine variable und kein Text Input
bot nicht diffiniert
als error
bot = bridge.Bot(
command_prefix=prefix,
status=status,
activity=discord.Activity(
type=discord.ActivityType.watching,
name=f"in Server:{bot.guilds}"
),
intents=intents,
case_insensitive=True,
)
ja das geht
nein im modal kann man keine bilder hochladen
Kein file?
Nach was soll ich googlen?
nach gar nichts, du sollst in den docs schauen bei attachment
hab dir den link geschickt
Lul bei dc.py wird es mit a geschrieben
bei pycord doch auch oder
Wie meinst du attachment suchen?
@indigo sapphire klick einfach auf diesen link, ich habs dir schon rausgesucht
Da steht doch modals
?

nein
achso, modal und model ist was komplett anderes

hab nichts mit coding zu tun aber wie macht man das nicht den jahren? @limpid wolf
Gute Frage
Timestamps, https://r.3v.fi/discord-timestamps/
Viel spaß damit 
danke
Ty
from discord.ui import View, Button
from discord.ext import commands
import os
from dotenv import load_dotenv
import asyncio
bot = commands.Bot(command_prefix="!", intents=discord.Intents.all())
GUILD_ID = 798144883016859689
TEAM_ROLE = 800726841329057822
TICKET_CHANNEL = 840882678681305098
CATEGORY_ID = 840882129880481822
@bot.event
async def on_ready():
print(f"{bot.user} ist online")
@bot.command()
@commands.is_owner()
async def ticketmsg(ctx):
button1 = Button(label="Ticket öffnen!", style=discord.ButtonStyle.blurple, custom_id="ticket_button")
view = View()
view.add_item(button1)
embed = discord.Embed(description=f"Beschreibe dein Anliegen!", title=f"Ticket System")
channel = bot.get_channel(TICKET_CHANNEL)
await channel.send(embed=embed, view=view)
await ctx.reply("Gesendet!")
@bot.event
async def on_interaction(interaction):
if interaction.channel.id == TICKET_CHANNEL:
if "ticket_button" in str(interaction.data):
guild = bot.get_guild(GUILD_ID)
for ticket in guild.channels:
if str(interaction.user.id) in ticket.name:
embed = discord.Embed(description=f"Du kannst nur ein Ticket gleichzeitig öffnen! {ticket.mention}")
await interaction.response.send_message(embed=embed, ephemeral=True)
return
category = bot.get_channel(CATEGORY_ID)
ticket_channel = await guild.create_text_channel(f"ticket-{interaction.user.name}", category=category,
topic=f"Ticket von {interaction.user} \nClient-ID: {interaction.user.id}")
await ticket_channel.set_permissions(guild.get_role(TEAM_ROLE), send_messages=True, read_message=True, add_reations=False, embed_links=True, attach_files=True, read_message_history=True, external_emojis=True)
await ticket_channel.set_permissions(interaction.user, send_message=True, read_message=True, add_reations=False, embed_links=True, attach_files=True, read_message_history=True, external_emojis=True)
embed = discord.Embed(description=f"Willkommen im Ticket {interaction.user.mention}\n"
f"Hier packst du deine Beschreibung rein!\n"
f"Ticket mit `!close`schließen",
color=62719)
embed.set_author(name=f'Neues Ticket!')
mess_2 = await ticket_channel.send(embed=embed)
embed = discord.Embed(title="Ticket geöffnet!",
description=f"Dein Ticket wurde erstellt! {ticket_channel.mention}",
color=discord.colour.Color.green())
await interaction.response.send_message(embed=embed, ephemeral=True)
return
@bot.command()
async def close(ctx):
if "ticket" in ctx.channel.name:
embed = discord.Embed(
description=f"Ticket schließt in 5 Sekunden automatisch!",
color=16711680)
await ctx.channel.send(embed=embed)
await asyncio.sleep(5)
await ctx.channel.delete()
load_dotenv()
bot.run(os.getenv("TOKEN"))
Traceback (most recent call last):
File "C:\Users\Benjamin\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\abc.py", line 918, in set_permissions
overwrite = PermissionOverwrite(**permissions)
File "C:\Users\Benjamin\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\permissions.py", line 736, in __init__
raise ValueError(f"no permission called {key}.")
ValueError: no permission called read_message.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Benjamin\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 377, in _run_event
await coro(*args, **kwargs)
File "D:\Users\Benjamin\Documents\MiniBossPYY\cogs\Ticket.py", line 45, in on_interaction
await ticket_channel.set_permissions(guild.get_role(TEAM_ROLE), send_messages=True, read_message=True, add_reations=False, embed_links=True, attach_files=True, read_message_history=True, external_emojis=True)
File "C:\Users\Benjamin\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\abc.py", line 920, in set_permissions
raise InvalidArgument("Invalid permissions given to keyword arguments.")
discord.errors.InvalidArgument: Invalid permissions given to keyword arguments.
das ist die Fehlerausgabe @solid ingot
lies mal den error genau, du hast ungültige permissions übergeben
read_message sollte zum beispiel read_messages heißen
Aso ups
from discord.ext import commands
from discord.ext import tasks
import sqlite3
GUILD = 798144883016859689
CHANNEL_ID = [925153425019248710]
CHANNEL_DESC = "Es wurden bereits {} Nachrichten gesendet"
db = sqlite3.connect("message_count.sqlite")
cursor = db.cursor()
bot = commands.Bot(intents=discord.Intents.all())
def load_message_db():
open("message_count.sqlite", "w")
cursor.execute('''
CREATE TABLE IF NOT EXISTS message_count(
channel_id INTEGER,
count INTEGER
)
''')
for channel in CHANNEL_ID:
channel_data = cursor.execute(f"SELECT channel_id FROM message_count WHERE channel_id = {channel}")
channel_data = channel_data.fetchone()
if channel_data is None:
cursor.execute(f"INSERT INFO message_count VALUES({channel}, 0)")
db.commit()
@tasks.loop(minutes=1)
async def message_count():
for channel in CHANNEL_ID:
cursor.execute(f"SELECT count FROM message_count WHERE channel_id = {channel}")
channel_count = cursor.fetchone()
channel = bot.get_channel(channel)
await channel.edit(topic=CHANNEL_DESC.format(channel_count[-1]))
@bot.event
async def on_ready():
load_message_db()
message_count.start()
print(f"{bot.user} ist online")
@bot.event
async def on_message(message):
cursor.execute(f"UPDATE message_count SET count = count +1 WHERE channel_id = {message.channel.id}")
db.commit()```py
Traceback (most recent call last):
File "C:\Users\Benjamin\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 377, in _run_event
await coro(*args, **kwargs)
File "D:\Users\Benjamin\Documents\MiniBossPYY\cogs\message_count.py", line 39, in on_ready
load_message_db()
File "D:\Users\Benjamin\Documents\MiniBossPYY\cogs\message_count.py", line 26, in load_message_db
cursor.execute(f"INSERT INFO message_count VALUES({channel}, 0)")
sqlite3.OperationalError: near "INFO": syntax error
```py
wo ist dort jetzt der fehler
und geht irgendwie nicht
from discord.ext import commands
from discord.ext import tasks
import sqlite3
GUILD = 798144883016859689
CHANNEL_ID = [925153425019248710]
CHANNEL_DESC = "Es wurden bereits {} Nachrichten gesendet"
db = sqlite3.connect("message_count.sqlite")
cursor = db.cursor()
bot = commands.Bot(intents=discord.Intents.all())
def load_message_db():
open("message_count.sqlite", "w")
cursor.execute('''
CREATE TABLE IF NOT EXISTS message_count(
channel_id INTEGER,
count INTEGER
)
''')
for channel in CHANNEL_ID:
channel_data = cursor.execute(f"SELECT channel_id FROM message_count WHERE channel_id = {channel}")
channel_data = channel_data.fetchone()
if channel_data is None:
cursor.execute(f"INSERT INFO message_count VALUES({channel}, 0)")
db.commit()
@tasks.loop(minutes=1)
async def message_count():
for channel in CHANNEL_ID:
cursor.execute(f"SELECT count FROM message_count WHERE channel_id = {channel}")
channel_count = cursor.fetchone()
channel = bot.get_channel(channel)
await channel.edit(topic=CHANNEL_DESC.format(channel_count[-1]))
@bot.event
async def on_ready():
load_message_db()
message_count.start()
print(f"{bot.user} ist online")
@bot.event
async def on_message(message):
cursor.execute(f"UPDATE message_count SET count = count +1 WHERE channel_id = {message.channel.id}")
db.commit()
```py
geht nicht bruh
import discord
from discord.ext import commands
from discord.ext import tasks
import sqlite3
GUILD = 798144883016859689
CHANNEL_ID = [925153425019248710]
CHANNEL_DESC = "Es wurden bereits {} Nachrichten gesendet"
db = sqlite3.connect("message_count.sqlite")
cursor = db.cursor()
bot = commands.Bot(intents=discord.Intents.all())
def load_message_db():
open("message_count.sqlite", "w")
cursor.execute('''
CREATE TABLE IF NOT EXISTS message_count(
channel_id INTEGER,
count INTEGER
)
''')
for channel in CHANNEL_ID:
channel_data = cursor.execute(f"SELECT channel_id FROM message_count WHERE channel_id = {channel}")
channel_data = channel_data.fetchone()
if channel_data is None:
cursor.execute(f"INSERT INFO message_count VALUES({channel}, 0)")
db.commit()
@tasks.loop(minutes=1)
async def message_count():
for channel in CHANNEL_ID:
cursor.execute(f"SELECT count FROM message_count WHERE channel_id = {channel}")
channel_count = cursor.fetchone()
channel = bot.get_channel(channel)
await channel.edit(topic=CHANNEL_DESC.format(channel_count[-1]))
@bot.event
async def on_ready():
load_message_db()
message_count.start()
print(f"{bot.user} ist online")
@bot.event
async def on_message(message):
cursor.execute(f"UPDATE message_count SET count = count +1 WHERE channel_id = {message.channel.id}")
db.commit()
ups
könntest du mir vlt bitte gleich helfen tibue?
Ignoring exception in on_ready
Traceback (most recent call last):
File "C:\Users\Benjamin\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 377, in _run_event
await coro(*args, **kwargs)
File "D:\Users\Benjamin\Documents\MiniBossPYY\cogs\message_count.py", line 39, in on_ready
load_message_db()
File "D:\Users\Benjamin\Documents\MiniBossPYY\cogs\message_count.py", line 26, in load_message_db
cursor.execute(f"INSERT INFO message_count VALUES({channel}, 0)")
sqlite3.OperationalError: near "INFO": syntax error
der fehler noch
INSERT INTO
oh man danke
dumm
aber könntest du mir bitte sagen wie ich das alles dann den cogs hinzufüge
weil ich mach das ja jetzt mit bot.run
wie meinst du das?
neija ich hab es es ja so jetzt mit bot.run
das ist gut, ohne bot.run geht es nämlich gar nicht
nee das hab ich ja in der main file
aber ich arbeite ja mit cogs
genau, bot.run muss nur in die main datei
ja und was muss ich jetzt damit machen damit das geht
achso, dazu empfehle ich dir dieses video
https://www.youtube.com/watch?v=TRJsc6VmkDs
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...
du hast ja jetzt aber ne classe da muss ich einfach mein code in nh class packen?
da muss man noch ein paar sachen ändern, schau dir am besten das video an
geht net
kannst dus mir bitte für das eine zeigen dann weiß ich auch was ich bei den anderen machen muss
hey, das zeige ich im video. wenn du noch einen konkreten error hast, helf ich dir dabei gerne weiter 👍🏽
neija aber ich hab ja eig gar keine klasse deswegen hab ich kp was ich jetzt machen muss
wenn du noch keine klasse hast würde ich erstmal eine klasse erstellen
zum beispiel, wird alles im video erklärt
File "C:\Users\Benjamin\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 786, in _load_from_module_spec
setup(self)
File "D:\Users\Benjamin\Documents\MiniBossPYY\cogs\Ticket.py", line 78, in setup
bot.add_cog(db(bot))
File "C:\Users\Benjamin\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 656, in add_cog
cog = cog._inject(self)
File "C:\Users\Benjamin\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 567, in _inject
raise e
File "C:\Users\Benjamin\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 561, in _inject
bot.add_command(command)
AttributeError: 'Bot' object has no attribute 'add_command'. Did you mean: 'all_commands'?
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "D:\Users\Benjamin\Documents\MiniBossPYY\main.py", line 25, in <module>
bot.load_extension(f"cogs.{filename[:-3]}")
File "C:\Users\Benjamin\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\Benjamin\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.Ticket' raised an error: AttributeError: 'Bot' object has no attribute 'add_command'
Process finished with exit code 1
hm, wie das mit prefix commands geht weiß ich ehrlich gesagt gar nicht, ich würde aber auf jeden fall empfehlen die klasse in eine andere python datei zu machen
wie meinst du das
aktuell hast du die klasse in der main datei, ich würde dafür eine neue datei erstellen
das ist nicht die main datei
die datei heißt ticket.py
und wird aus der main datei ausgerufen
das bot = commands.Bot sollte nur in der main datei sein
achso ja vlt gehts dann
was soll ich dann aber für bot einsetzen
weil ich hab das ja 10 mal im code oder so
Wie kann man einen Button & Select Menü halt nh Klasse 24/7 machen?
Persistent?
Ja ka was du meinst aber du weißt sicher was ich meine
Pycord, a maintained fork of discord.py, is a python wrapper for the Discord API - pycord/persistent.py at master · Pycord-Development/pycord

wie soll ich dass verstehen
Das ist ein Beispiel wie du Buttons und Select menüs 24/7 machst
class PersistentViewBot(commands.Bot):
def __init__(self):
intents = discord.Intents.default()
intents.message_content = True
super().__init__(
command_prefix=commands.when_mentioned_or("!"), intents=intents
)
self.persistent_views_added = False
async def on_ready(self):
if not self.persistent_views_added:
# Register the persistent view for listening here.
# Note that this does not send the view to any message.
# In order to do this you need to first send a message with the View, which is shown below.
# If you have the message_id you can also pass it as a keyword argument,
# but for this example we don't have one.
self.add_view(PersistentView())
self.persistent_views_added = True
Durch so einen Code?
ja?
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...
kann man auch das echte alter anzeigen
dass wird da doch nicht gezeigt?
Geht nicht
ok schade
glaub mir entfern dass mit alter
dass ist unnötig dann kann jeder user bei deinem alter 10 oder so eingeben
hätte ich auch
jo
doch
hab ich dann übersehen xD
Kann jemand kurz meinem DC Server joinen damit ich Welcome testen kann
kann man sein server private machen und wenn ja wie kann man ihn wieder öffenlich machen
Discord-Server?
wenn du niemanden einlädst ist er ja sozusagen privat, dann kann niemand joinen. um ihn öffentlich zu machen, kannst du zum beispiel "community" in den server einstellungen aktivieren
genau
nutze am besten einen zweitaccount, das ist vor allem hilfreich wenn du etwas öfter testen musst
@mystic sentinel man kann discord server in der regel nicht privat machen solange schon mitglieder drauf sind
alles klar
Soooo
ich hab meine freunde als tester xD
wenn man allen rollen die invite rechte wegnimmt, können auch keine neuen leute joinen
ja ik was wäre aber dann noch privat wenn der server schon 5. Mitglieder hat?
achso




