#Allgemeine Hilfe
1 messages · Page 13 of 1
Man kann nur 2 oder 3 geben
wo den?
du darfst nur 2übergeben aber hast 5
Man kann 2 oder 3 übergeben aber nd 5
zeile
als ob hab ja nur 3?
zeile 597 @indigo sapphire
ist diese code da oben

check den fehler nicht
bei jede funktioniert ? und hier nicht?
aha die letzten children dinger müssen in eine klaamer und slamein argument übergeben weden
@indigo sapphire
genauer erklären bitte oder als code?
digga du stellst mir keine vorderungen
ist eine bitte
siese drei argumente in eine klammer packen
anstatt (1,2,3,4) madhst du (1,(1,2,3))
fehler:
Ignoring exception in modal <cogs.SevenDSGC.ADD_EditModalViewInput_All_Name object at 0x0000016F856C2A10>:
Traceback (most recent call last):
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\modal.py", line 324, in dispatch
await value.callback(interaction)
File "c:\Users\Manuel Berchtold\OneDrive - Kantonale Schule für Berufsbildung\Dokumente\Programmieren\Python\ShrioLaplaceBot\ShiroSystem\cogs\SevenDSGC.py", line 597, in callback
async with db.execute('SELECT * FROM SevenDSGC_Unit WHERE Unit_Title_Name=? OR Alias LIKE "%?%" OR Unit_Name LIKE "%?%"', (self.children[0].value, self.children[0].value, self.children[0].value,)) as cursor:
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\context.py", line 41, in __aenter__
self._obj = await self._coro
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 184, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 129, in _execute
return await future
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 102, in run
result = function()
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 3 supplied.
code:
async with db.execute('SELECT * FROM SevenDSGC_Unit WHERE Unit_Title_Name=? OR Alias LIKE "%?%" OR Unit_Name LIKE "%?%"', (self.children[0].value, self.children[0].value, self.children[0].value,)) as cursor:
nicht mal chatgpt kann das lösen lmao
ahhhh
ich denke die fragezeichen zwischen den prozenten werden nicht erkannt, die anführungszeichen braucht es glaub nicht
nein nicht prozent anführungszeichen weg
hab es so gelöst:
(self.children[0].value, f'%{self.children[0].value}%', f'%{self.children[0].value}%'))
SELECT * FROM SevenDSGC_Unit WHERE Unit_Title_Name=? OR Alias LIKE ? OR Unit_Name LIKE ?'
hatte es mal ausbrobiert der ChatGPT so nö geht so nicht
xD
haha
den error deine methode:
Ignoring exception in modal <cogs.SevenDSGC.TextInputModalView object at 0x0000020414752FB0>:
Traceback (most recent call last):
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\modal.py", line 324, in dispatch
await value.callback(interaction)
File "c:\Users\Manuel Berchtold\OneDrive - Kantonale Schule für Berufsbildung\Dokumente\Programmieren\Python\ShrioLaplaceBot\ShiroSystem\cogs\SevenDSGC.py", line 645, in callback
async with db.execute(f"""
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\context.py", line 41, in __aenter__
self._obj = await self._coro
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 184, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 129, in _execute
return await future
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 102, in run
result = function()
sqlite3.OperationalError: near "%": syntax error
hhhm dieses prozent ding macht wieder faxen
ey weiss jemand wie man eine list in py zu string umwandelt und wieder zurück???
? ich bin zu dumm
ich muss auch immer wieder nachschauen
ich empfehle dir die beispiele bei w3schools anzuschauen
hey, am besten wäre es, wenn du die datenbankabfragen in externe methoden auslagern würdest. dann kannst du beispielsweise immer eine methode aufrufen, wenn du den kontostand eines users abfragen möchtest. außerdem verhinderst du so doppelten code
ein beispiel dafür findest du in meiner datenbankserie
da könntest du auch eine methode machen, nur dass du dann jedes mal den namen und den preis an die methode übergibst
um einen wirklichen unterschied bei der performance zu merken, müsstest du schon sehr viele items einfügen, das sollte kein problem sein.
es gibt aber mit großer wahrscheinlichkeit auch einen weg, den code ohne if bedingungen für die items zu schreiben, der für alle items direkt funktioniert
dann würde ich auf keinen fall für jedes item eine if bedingung machen.
du kannst im grunde den ganzen code in eine methode machen, und den name/preis jedes mal an diese methode übergeben
ah okay. eine lösung wäre zum beispiel ein dictionary oder eine json, datei. damit könntest du mit demselben code jedes mal individuell den preis für ein item bekommen
achso, dann würde ich ein dictionary empfehlen. da kannst du für jedes item den preis abspeichern und dann dann dynamisch in einer methode laden statt if bedingungen zu nutzen
hier ist ein beispiel: https://www.w3schools.com/python/python_dictionaries.asp
so kannst du zb den preis laden
items = {
"kettensäge": 250,
"ball": 50
}
async def test(name):
preis = items[name]
# hier kommt der restliche code hin
@bot.command()
def buy(self, ctx, name):
await self.test(name)
hm bestimmt, das kommt ein bisschen darauf an wie es funktionieren soll. generell kannst du immer versuchen doppelten code in methoden auszulagern, dann ist der code schon sehr viel besser
Nh Frage welche Pycord und Python Version nutzt ihr? Bei mir buggt der slash command dauernd herum
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: RateLimitError: You exceeded your current quota, please check your plan and billing details.
``` Was ist hier falsch?
manchmal werden die selbstprogrammierten commands angezeigt und dann gehen die einfach nicht mehr
also ich benutz python 3.10
die Version sollte passen, pycord 2.3 hat schon Support für 3.11
Ja aber ich habe schon in nem Post versucht
und da konnte ich mir irgendwie temporär selber helfen
jetzt wird da halt gar nichts mehr angezeigt
Was kann ich dagegen unternehmen?
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: RateLimitError: You exceeded your current quota, please check your plan and billing details.
hm schwierig, vlt hast du irgendein rate Limit erreicht?
Versuch den Code Mal mit dem anderen bot zu starten
ja
unbedingt
ich heule gleich wenn ich hier nicht weiter komme
@urban glen schreibt...

Daraus könnte ein meme werden für Tibue Discord Server

Traceback (most recent call last):
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
TypeError: object NoneType can't be used in 'await' expression```
Code?
admin = guild.get_role(1056737490419060777)
if admin in interaction.user.roles:
await msg.delete()
view2 = View(timeout=None)
publish_button = Button(label="Publish", emoji="🚀", style=discord.ButtonStyle.blurple, custom_id="publish")
view2.add_item(publish_button)
def publish_callback(interaction):
print("published!")
publish_button.callback = publish_callback
embed = discord.Embed(
title = "Shop Approved ✅",
description = f"Congratulations, your shop has been approved"
)
embed.add_field(name="Shop approved by:", value=interaction.user.mention)
embed.add_field(name="Get Help:", value="/shop help")
await interaction.response.send_message(embed=embed, view=view2)
else:
await interaction.response.send_message("Only Admins can use that!", ephemeral=True)```
view2.add_item(Button(label="Publish", emoji=":rocket:", style=discord.ButtonStyle.blurple, custom_id="publish"))```
Probier mal so die returns bei pycord sind weird
und wie soll ich dann ein callback machen
Traceback (most recent call last):
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "c:\workspace\python\Discord Bots\Marketplace\main.py", line 112, in approve_callback
await interaction.response.send_message(embed=embed, view=view2)
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\interactions.py", line 825, in send_message
await self._locked_response(
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\interactions.py", line 1090, in _locked_response
await coro
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\webhook\async_.py", line 217, in request
raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In data.components.0.components.0.emoji.name: Invalid emoji```
ah i see das hab ich nd mal gesehen. Du solltest diese Art von Callbacks lieber nicht benutzen. Mach das am besten direkt über View Callbacks. Scheinst du ja eh gemacht zu haben
uhm
wie meinst du das?
einfach eine View Klasse und dann darin die callback methode?
@dense magnet
was ist denn jetzt los
admin = guild.get_role(1056737490419060777)
if admin in interaction.user.roles:
await msg.delete()
class PublishView(discord.ui.View):
@discord.ui.Button(label="Publish", emoji=":rocket:", style=discord.ButtonStyle.blurple, custom_id="publish")
async def publish_callback():
print("published!")
embed = discord.Embed(
title = "Shop Approved ✅",
description = f"Congratulations, your shop has been approved"
)
embed.add_field(name="Shop approved by:", value=interaction.user.mention)
embed.add_field(name="Get Help:", value="/shop help")
await interaction.response.send_message(embed=embed, view=PublishView())
else:
await interaction.response.send_message("Only Admins can use that!", ephemeral=True)
Traceback (most recent call last):
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "c:\workspace\python\Discord Bots\Marketplace\main.py", line 100, in approve_callback
class PublishView(discord.ui.View):
File "c:\workspace\python\Discord Bots\Marketplace\main.py", line 102, in PublishView
async def publish_callback():
TypeError: 'Button' object is not callable```
Fehlt im async def publish_callback(): nicht noch einiges?
Also ich meine async def publish_callback(button: discord.ui.Button, interaction: discord.Interaction):
._.
gleicher fehler
Traceback (most recent call last):
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "c:\workspace\python\Discord Bots\Marketplace\main.py", line 100, in approve_callback
class PublishView(discord.ui.View):
File "c:\workspace\python\Discord Bots\Marketplace\main.py", line 103, in PublishView
async def publish_callback(button: discord.Button, interaction: discord.Interaction):
TypeError: 'Button' object is not callable```
Button klein
@discord.ui.button(label="Publish", emoji=":rocket:", style=discord.ButtonStyle.blurple, custom_id="publish")
Ya
.......
........
Traceback (most recent call last):
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "c:\workspace\python\Discord Bots\Marketplace\main.py", line 116, in approve_callback
await interaction.response.send_message(embed=embed, view=PublishView())
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\interactions.py", line 825, in send_message
await self._locked_response(
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\interactions.py", line 1090, in _locked_response
await coro
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\webhook\async_.py", line 217, in request
raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In data.components.0.components.0.emoji.name: Invalid emoji```
Steht in deinem Code :rocket: oder 🚀
Also is es im Code als Text so oder das Emoji direkt?
Also stand es ausgeschrieben?
Oder als Emoji?
Ja musst als Emoji machen
Traceback (most recent call last):
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "c:\workspace\python\Discord Bots\Marketplace\main.py", line 116, in approve_callback
await interaction.response.send_message(embed=embed, view=PublishView())
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\interactions.py", line 825, in send_message
await self._locked_response(
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\interactions.py", line 1090, in _locked_response
await coro
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\webhook\async_.py", line 217, in request
raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In data.components.0.components.0.emoji.name: Invalid emoji
PS C:\workspace\python\Discord Bots\Marketplace> & C:/Users/aange/AppData/Local/Programs/Python/Python310/python.exe "c:/workspace/python/Discord Bots/Marketplace/main.py"
Ignoring exception in view <PublishView timeout=180.0 children=1> for item <Button style=<ButtonStyle.primary: 1> url=None disabled=False label='Publish' emoji=<PartialEmoji animated=False name='🚀' id=None> row=None>:
Traceback (most recent call last):
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
TypeError: ShopModal.callback.<locals>.CategoryView.select_callback.<locals>.approve_callback.<locals>.PublishView.publish_callback() takes 1 positional argument but 3 were given```
print("published!")```
warum 3 were given?
admin = guild.get_role(1056737490419060777)
if admin in interaction.user.roles:
await msg.delete()
class PublishView(discord.ui.View):
@discord.ui.button(label="Publish", emoji="🚀", style=discord.ButtonStyle.blurple, custom_id="publish")
async def publish_callback(interaction):
print("published!")
embed = discord.Embed(
title = "Shop Approved ✅",
description = f"Congratulations, your shop has been approved"
)
embed.add_field(name="Shop approved by:", value=interaction.user.mention)
embed.add_field(name="Get Help:", value="/shop help")
await interaction.response.send_message(embed=embed, view=PublishView())
else:
await interaction.response.send_message("Only Admins can use that!", ephemeral=True)```
Kann mir hier bitte jemand helfen?
Code:
import discord
import os
from dotenv import load_dotenv
from asyncio import sleep
intents = discord.Intents.default()
intents.members = True
bot = discord.Bot(intents=intents)
@bot.event
async def on_ready():
print(f"{bot.user} ist nun online!")
while True:
await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.playing, name="Text"))
await sleep(10)
await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="Text"))
await sleep(10)
if __name__ == "__main__":
for filename in os.listdir("cogs"):
if filename.endswith(".py"):
bot.load_extension(f"cogs.{filename[:-3]}")
load_dotenv()
bot.run(os.getenv("TOKEN"))
der token wird anscheinend nicht richtig geladen oder gefunden
@urban glen zeig Mal die .env Datei aber ohne den token
TOKEN=Hier der Token
ist die .env datei im selben verzeichnis wie die main datei?
Hab den Fehler schon gefunden aber trotzdem Danke
Jetzt hab ich dafür diesen Error der Bot startet zwar ganz normal aber der Error kommt halt
Wofür machst du den stuff eigentlich unkenntlich?
hat der bot zugriff auf alle server IDs bei den debug guilds?
Hatte debug_guilds statt debug_guild
Das war der Grund des Errors
Weil da mein echter name drinnen steht
Dann kannst du ja nur den Namen weg machen ._.
meinst du ctx.author.avatar.url ?
krasse antwort
Kann ich mehre Views auf einmal hinzufügen
nein, aber du kannst mehrere elemente zu einem view hinzufügen
beim blue discord gibts doch mehrere views bei einer nachricht? sprich mehrere views oder bin ich doof
oder sprichst du von view.add_item()
mehrere views bei einer nachricht sind nicht möglich, es können aber mehrere buttons oder auch andere komponenten zur selben view klasse hinzugefügt werden.
entweder mit view.add_item oder mit direkt in der view klasse
Wie mach ich eine if abfrage ob in der Methode sogesagt Groß-Buchstaben sind?
Meinst nh String?
In Python, we can check if a string contains uppercase by checking each letter to see if that letter is uppercase in a loop.
Ich hab 0 ahnung wie ich das einbauen soll
# Importieren Sie die benötigten Bibliotheken
import pyautogui
import keyboard
from colorama import Fore
print(Fore.BLUE + f'Willkommen beim kleinem Spam Tool!\nDu musst nur bei "Text" reinschreiben was gespammt werden soll.\nBei Hot-Key alles klein eingeben. Als beispiel "enter".')
text = str(input(Fore.MAGENTA + "Text: "))
hotkey = str(input(Fore.MAGENTA + "Hotkey: "))
# Definiert eine Funktion zum Eingeben von Text
def enter_text():
# Geben Sie den Text ein
pyautogui.write(text)
# Drücken Sie die Enter-Taste, um die Eingabe abzuschließen
pyautogui.press('enter')
keyboard.add_hotkey(f'{hotkey}', enter_text)
print(Fore.GREEN + f"Du kannst nun jetzt spammen.")
print(Fore.RED + f'Text der gespammt wird: {text}')
print(Fore.YELLOW + f"Hotkey zum Spammen: {hotkey}")
# Warten Sie auf Hotkey-Eingaben
while True:
keyboard.wait()
was ist das?
Schau dir den Code an dann weißt du es
ein code den du aus dem internet kopiert hast mit zu vielen komentaren
if chatgpt != internet:
du seien dumm
?
wtf
Ja
wow
Kannst du auch so sagen und musst nicht auf Bester Programmieren tun
ey keine ahnung fü wasjbrauchst du das wojwillst du das einbauen
Kannst nicht mal schreiben
mach ich nicht sry
halt die fresse
chill mal digga
er hat angefangen
Leute, ruhig bleiben.
Hahahaha
wenn der bot ne Nachricht anspinnt wie mache ich das die system Nachricht gelöscht wird?
meinst du das?
if message.type is discord.MessageType.pins_add:
await message.delete()
Müsste so sein
äh und wie mache ich es wenn der bot nach senden der Nachricht die Nachricht Anspinnt
wie lösche ich dann die system Nachricht
Einf Message.delete ist wie eine normale msg kann jeder löschen
In dem 4 Tutorial wurde gezeigt, dass man mit await ctx.respond(embed=embed) das Embed senden kann, aber bei ctx zeigt es bei mir ganze Zeit ein Fehler an.
Kann mir jemand helfen?
``@bot.slash_command(description="Zeige Infos über einen User", name="userinfo")
async def info(ctx,
alter: Option(int, "Das Alter", min_value=1, max_value=99),
user: Option(discord.Member, "Gib einen User an", default=None)
):
if user is None:
user = ctx.author
embed = discord.Embed(
title=f"Infos über {user.name}",
description=f"Hier siehst du alle Details über {user.mention}"
)
await ctx.respond(embed=embed)``
hast du es richtig eingerückt?
Ich hab alles gleich eingegeben
Hab mehrfach kontrolliert
hast du überall 4leerzeichen als einrückung. weil er sagt das await nixht in der f nktion ist
Wo liegt denn das Problem?
Falsch eingerückt
ja falsch eingerückt
Und wie rücke ich es richtig?
Und wie mache ich es richtig?
embed und await cx. respond muss eins weiter eingerückt werden
Du gehts vor das await und drückst die Tab Taste
Okay alles klar. Schaue später nach.
Ist ein discord Fehler ig
also unknown interaction kommt zum beispiel wenn der bot länger als 3 sekunden zum antworten braucht, aber hier wurde ja schon eine response gesendet, deswegen weiß ich nicht woran es liegt
er braucht länger als 3 sekunden für den respond deswegen...
@umbral goblet @tender horizon Vielen Dank für die Hilfe.
• Account erstellt: <t:1468518971:R>
• Server Beigetreten: <t:1661091335:R>
<t:1668302322:d> - tibue99#3529
<t:1672361333:d> - tibuNullˡᵘˡ
<t:1672360026:d> - tibüNullˡᵘˡ
<t:1671746659:d> - tibue99
<t:1671739929:d> - tibue98
<t:1671739553:d> - tibue99
<t:1671736787:d> - tibue98
@solid ingot
@solid ingot
@solid ingot
@solid ingot
@solid ingot
@solid ingot
• Account erstellt: <t:1660561029:R>
• Server Beigetreten: <t:1668881988:R>
@past temple • Avatar • Profil • BannerID: 1008690808582590494
Dieser User hat aktuell 1 Warnung.
<t:1672563772:d> - Webind#6969
<t:1671485222:d> - WednesdayBohrtInDerNase#6969
<t:1671263620:d> - Dein Nachbar#5729
<t:1670952835:d> - WednesdayBohrtInDerNase#5729
<t:1670940699:d> - SimpForWednesday#5729
<t:1670435239:d> - Dein Nachbar#5729
<t:1670012467:d> - Lucifer Morningstar#5729
<t:1668878466:d> - Luxifer#5729

muss ich haben
Ja bei discord 
kein problem
Natürlich
Kann ja sein das dies irgendein NPC gemacht hat der es in einer
Json
Speichert
Timo hat das aber gemacht und du weißt das der keine Jsons benutzt
und du weißt
Woher soll ich das wissen ._.
ja der code sieht gut aus
Aber wieso wird es dann bei mir nicht angezeigt? Hab auch schon das Tutorial dazu angeschaut.
wird die Activity angezeigt wenn du sie zum bot hinzufügst?
Ja
Dort steht immer nur online, obwohl ich bitte nicht stören machen wollte
genauso wenn ich offline aktiviere
@solid ingot Weißt du wie ich den Fehler beheben kann?
leider nicht, bei mir funktioniert der code
benutzt du pycord und änderst du noch irgendwo anders im code den status?
Könntest du vielleicht kurz im call den Code durchschauen?
hm, der code ist 1:1 so wie in dem tutorial, aber ich kann gleich trotzdem mal kurz schauen wenn du magst
wie kann ich machen das wenn ich ein embed editiere das image was ich hinzugefügt hab wieder weg ist
embed.remove_image()
embed.set_image(url=None) müsste auch gehen, oder?
Bin grad nd sicher xD
idk denke aber nd xD
Woran liegt es, dass self z.B. bei async def nummer(self) nicht lila wird?
ist die methode innerhalb von einer klasse?
ja
dann ist wahrscheinlich die einrückung falsch, oder die klasse ist falsch formatiert
jo wie kann ich mein bot wenn er in voice Joint die kopfhörer deaktiviert hat?
welches Programm nutzt du
PyCharm
überall falsch eingerückt xd
alles muss eins nach links
also unter def
und es ist nicht lila weil der Code Fehler hat
Hab eingerückt und es ist lila geworden. Aber wieso wird manchmal rot angezeigt?
Nach seconds=10 z.B.
rot = Error Fehler
auch wegen der einrückung dürfte das sein
Vielen Dank jetzt ist alles normal
Kurze Frage wann bekommt man eigentlich dieses Aktiver Entwickler Abzeichen? Ein Tag ist schon um und ich hab diese Slash Commands
schau dir das Video von @solid ingot an
Für was?
damit du weißt wie du das active developer badge bekommest
was sonst
Hattest bei der falschen Nachricht mit geantwortet
Also wie man es bekommt weiß ich, merkwürdigerweise ist die Funktion zum abholen noch nicht da
Wenn er zu schnell paar Messages Veröffentlicht musst du paar stunden warten
Liegt maybe daran
was meinien die mit thread ist gejoint?
Wird immer dann aufgerufen, wenn ein Thread neu hinzugefügt wird.
was ist hiermit
Idk gibt bestimmt nh Unterschied
Teste es mal aus
ok
Das is glaube ich, wenn sich ein User dem Thread anschließt
das macht sinn
??
Idk von pycord
Aber sieht so aus, als könntest du kein datetime.datetime objekt als option machen
ich versteh den err aber wie fix ich den
Mehr Code?
@bot.slash_command(description = "Timeoute ein Member")
@discord.default_permissions(kick_members=True)
@discord.guild_only()
async def timeout(ctx: discord.ApplicationContext, member: Option(discord.Member, "Wer soll getimeoutet werden"), zeit: Option(datetime.datetime, "Wie lange soll der Timeout sein")):
try:
await member.timeout(until=zeit, reason="Timeout")
except discord.Forbidden as e:
await ctx.respond("Der Bot hat dazu keine Berechtigungen", ephemeral=True)
print(e)
return
guild = ctx.guild.name
await ctx.respond(f"{member.mention} wurde erfolgreich getimeoutet", ephemeral=True)
await member.send(f"Du wurdest von {guild} getimeoutet. Zeit: {zeit} Minuten")
Wofür das datetime.datetime objekt überhaupt?
die zeit für die der user getimeoutet werden soll
Mach das lieber mit humanfriendly
humeanfriendly?
@bot.slash_command(description = "Timeoute ein Member")
@discord.default_permissions(kick_members=True)
@discord.guild_only()
async def timeout(ctx: discord.ApplicationContext, member: Option(discord.Member, "Wer soll getimeoutet werden"), zeit: Option(int, "Wie lange soll der Timeout sein")):
time = humanfriendly.parse_timespan(zeit)
try:
await member.timeout(until=discord.utils.utcnow() + datetime.timedelta(seconds=time), reason="Timeout")
except discord.Forbidden as e:
await ctx.respond("Der Bot hat dazu keine Berechtigungen", ephemeral=True)
print(e)
return
guild = ctx.guild.name
await ctx.respond(f"{member.mention} wurde erfolgreich getimeoutet", ephemeral=True)
await member.send(f"Du wurdest von {guild} getimeoutet. Zeit: {zeit} Minuten")
Würde dann so aussehen
makl schauen
thx
er ist on

falls du noch keine lösung hast: versuch es mit channel.purge
admin = guild.get_role(1056737490419060777)
if admin in interaction.user.roles:
await msg.delete()
class PublishView(discord.ui.View):
@discord.ui.button(label="Publish", emoji="🚀", style=discord.ButtonStyle.blurple, custom_id="publish")
async def publish_callback(interaction):
print("published!")
embed = discord.Embed(
title = "Shop Approved ✅",
description = f"Congratulations, your shop has been approved"
)```
Traceback (most recent call last):
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
TypeError: ShopModal.callback.<locals>.CategoryView.select_callback.<locals>.approve_callback.<locals>.PublishView.publish_callback() takes 1 positional argument but 3 were given```
[LISTENER] OnMessage.py geladen!
[LISTENER] LogListener.py geladen!
[LISTENER] OnReady.py geladen!
[LISTENER] Counting.py geladen!
[TASK] DailyTask.py geladen!
[TASK] StatusTask.py geladen!
Ignoring exception in on_connect
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/discord/client.py", line 377, in _run_event
await coro(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/discord/bot.py", line 1164, in on_connect
await self.sync_commands()
File "/usr/local/lib/python3.8/site-packages/discord/bot.py", line 738, in sync_commands
app_cmds = await self.register_commands(
File "/usr/local/lib/python3.8/site-packages/discord/bot.py", line 531, in register_commands
prefetched_commands = await self._bot.http.get_guild_commands(
File "/usr/local/lib/python3.8/site-packages/discord/http.py", line 360, in request
raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access```
Bekomme den Fehler gerade zum ersten Mal. Weiß da wer was? 😄
ich habe eine frage und zwar angenommen du hast eine liste: [klasse1,klasse2] wie kann ich dann in der klasse selber die klasse aus dem array löschen?
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/discord/cog.py", line 780, in _load_from_module_spec
setup = getattr(lib, "setup")
AttributeError: module 'commands.main' has no attribute 'setup'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 33, in <module>
bot.load_extension(f'commands.{filename[:-3]}')
File "/usr/local/lib/python3.8/site-packages/discord/cog.py", line 910, in load_extension
self._load_from_module_spec(spec, name)
File "/usr/local/lib/python3.8/site-packages/discord/cog.py", line 783, in _load_from_module_spec
raise errors.NoEntryPointError(key)
discord.errors.NoEntryPointError: Extension 'commands.main' has no 'setup' function.```
Habe keine commands.main Extension..
Hab die gerade bekommen
Kann man sich auch über Botghost holen dafür muss man keinen eigenen bot programmieren 😂 und discord unterstütz BotGhost und nix hier Fake badge 😂😂
dumm oder so?
niemand sagt hier Fake badge alter
😮
Bezeichnet sich als "Dev" in seiner About Me und promoted BotGhost..
Was hat das eine mit dem anderen zutun
😂
War nur so ein Tipp aber kopf hoch du Gnom
XD
Discord is changing their Active Developer Badge to make a bit more sense. Instead of being able to run a command once and have a badge forever, you may be forced to run your discord bot every 30 days.
This video not only updates you on the Discord active developer badge, but it also shows you how to get the active developer badge using methods...
Es gehen fake badge rum
Ab Januar wird discord nicht mehr jede Methode unterstützten
Deshalb sagte ich das Botghost unterstütz wird
besser so
geht es da nicht irgendwie um die, die nur einen slash command ausgeführt haben und dann nichts mehr gemacht haben?
Wie hier jeder aus der haut fährt hahaha
also die "inaktiven"
nicht nur
ah okay
discord entfernt bald alle active badge die inaktiv sind
Es gibt webseiten zur Unterstützung gür die badge
und die die nicht mehr unterstützt werden
Die werden nicht mehr unterstütz
Entweder Codes komplett selbst oder hast pech
Aber Hilfe Stellungen wird dan in Zukunft nicht mehr geben
die slash commands müssen öffentlich sein damit man das badge bekommt/behält oder?
Darüber rede ich garnicht
Ja das ist ja die Voraussetzung für die badge
Weiß irgendjemand wie man eine Nachricht macht, die beispielsweise jede Stunde in einen bestimmten Kanal gesendet wird?
ja mit loops, soweit ich weiß hat CodingKeks dazu ein tutorial
Hab das Video schon angeschaut, aber wie kann man dort den Raum hinzufügen?
den channel meinst du?
Jo
Okay
Und wie kann ich machen, dass mehrere Messages zur einer bestimmten Zeit kommen?
Hey, worum geht's denn grad? xD
Möchte nicht hochscrollen xD
WEBIND
HILF MIR
admin = guild.get_role(1056737490419060777)
if admin in interaction.user.roles:
await msg.delete()
class PublishView(discord.ui.View):
@discord.ui.button(label="Publish", emoji="🚀", style=discord.ButtonStyle.blurple, custom_id="publish")
async def publish_callback(interaction):
await interaction.response.send_message("Hello")
embed = discord.Embed(
title = "Shop Approved ✅",
description = f"Congratulations, your shop has been approved"
)
embed.add_field(name="Shop approved by:", value=interaction.user.mention)
embed.add_field(name="Get Help:", value="/shop help")
await interaction.response.send_message(embed=embed, view=PublishView())
else:
await interaction.response.send_message("Only Admins can use that!", ephemeral=True)```
Traceback (most recent call last):
File "C:\Users\aange\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\view.py", line 414, in _scheduled_task
await item.callback(interaction)
TypeError: ShopModal.callback.<locals>.CategoryView.select_callback.<locals>.approve_callback.<locals>.PublishView.publish_callback() takes 1 positional argument but 3 were given```
Ahh oke bin aufm stand.
Ja du kannst tasks.loops nutzen, da kannst du dann die bestimmte Zeit angeben.
In minutes, seconds, hours und days
Also ich möchte das viele Nachrichten nacheinander zur einer bestimmten in einen Kanal gesendet werden.
warum "takes 1 positional argument but 3 were given" ????
@tasks.loop(minutes=6)
async def test():
channel = bot.get_channel(dieID)
await channel.send(1)
await channel.send(2)
# rest...
Ungefähr so könnte es aussehen
Dann wird alle 6 Minuten die nachrichten geschickt
Gibt es bisschen meh Error?
Oder is das alles
das ist alles
im selben channel?
Jo
So @urban glen
Okay 👍
Jo danke
ups bei mir hatten die anderen nachrichten nicht geladen
Für Partnerschaften ist das sehr praktisch.
Danke
@limber pewter #🔗・bots
async def approve_callback(interaction):
admin = guild.get_role(1056737490419060777)
if admin in interaction.user.roles:
await msg.delete()
class PublishView(discord.ui.View):
async def publish_callback(self, interaction):
await interaction.response.send_message("Hello")
embed = discord.Embed(title = "Shop Approved ✅", description = f"Congratulations, your shop has been approved")
embed.add_field(name="Shop approved by:", value=interaction.user.mention)
embed.add_field(name="Get Help:", value="/shop help")
await interaction.response.send_message(embed=embed, view=PublishView())
else:
await interaction.response.send_message("Only Admins can use that!", ephemeral=True)
Probiers mal so @limber pewter
jetzt geht garnichts mehr 😂
kein error
nur nachricht wird nd gesendet
btw
es geht um die
publish callback methode
das approve funktioniert perfekt
Wird "hello" gesendet?
nein
da kommt ja nur dieser error
kann dir das auf dem server zeigen kurz
wenn du bock hast
ist ein cooler server 😎
Wir klären das mal mit Live Share xD
Einfach Ghostping gespräch xD
Wollte auf die obere Nachricht nochmal antworten und vertippt
Unter den zwei Kanälen kommen die Nachrichten die gesendet werden?
Sieht so aus xD
in await channel.send(nachricht)
Stimmt
wie kann ich das fixen bot.load_extension(f"cogs.{filtername[:-3]}") der sagt das geht nd
Kann man die Nachrichten auch als Embed verfassen?
schick mal den error
das ist der SyntaxError: invalid syntax
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\erika\PycharmProjects\TΞST SYSTΞM\main.py", line 28, in <module>
bot.load_extension(f"cogs.{filtername[:-3]}")
File "C:\Users\erika\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\erika\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\cog.py", line 777, in _load_from_module_spec
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.leave' raised an error: SyntaxError: invalid syntax (leave.py, line 9)
Process finished with exit code 1
ich habe ka wie man das fixst
@limber pewter problem is fixxed
Schick mal deinen Code aus der leave.py datei
Als Screenshot, auf hastebin oder hier als Codeblock bitte
alles gut habe geschafft zu fixen aber danke für deine hilfe
Was war'n das Problem da in Zeile 9 xD
hatte ein - im code
Wenn ein User seine erste Nachricht reinschreibt, ab dann wird er rechts gelistet und ich glaube das es das ist.
Dachte ich auch erstmal, hab dann mit nem 2 Acc in nem Thread nh erste nachricht geschickt und es ist nichts passiert
Also es kam nur etwas als das Thread eröffnet wurde
@urban glen das könnte so aussehen:
@client.event
async def on_message(message):
if message.type == discord.MessageType.premium_guild_subscription:
await message.channel.send(f"{message.author.mention} vielen Dank für deinen Boost")
Was dann?
Musst deine frage genauer definieren
Achso dem Post
Ich dachte du meinst Boosts
Idk hab nie was mit Posts zutun gehabt als ich mit discord bots gearbeitet hab
Hab ich eben auch reingeschickt xD
.
haha
Lmao
Hey das ist ein Code von BLUE, dieser tut wenn jemand ein Posts erstellt (beim Forum) das der Bot automatisch in diesen eine Nachricht Absender
Disclaimer: Nicht von mir sondern von BLUE!
@bot.event
async def on_thread_create(thread):
if thread.parent_id == CHANNEL_ID:
embed = discord.Embed(description=f'', colour=discord.Colour.blue())
await asyncio.sleep(10)
await thread.send(embed=embed)```
Ah ok
ne
Kann man die Nachrichten auch als Embed verfassen?
Klar kannst du embeds schicken
Okay dann schaue ich mal später wie ich es nochmal mache.
das funktioniert nicht
sonst ne idee wie ich das bild wegkriege?
schick mal deinen code
elif self.values[0] == "bankkonto":
bar_geld= await get_money(interaction.user.id)
bank_konto = await get_bankkonto(interaction.user.id)
embed = discord.Embed(title=f"Bankkonto von {interaction.user}", color=discord.Color.yellow())
embed.set_thumbnail(url=interaction.user.avatar.url)
embed.add_field(name="Kontostand", value=f"{bar_geld}$", inline=False)
embed.add_field(name="Bargeld", value=f"{bank_konto}$")
embed.remove_image()
button1=bargeldeinzahlen()
button2=bargeldauszahlen()
button3=home_button()
view=discord.ui.View(timeout=None)
view.add_item(button1)
view.add_item(button2)
view.add_item(button3)
await interaction.response.edit_message(embed=embed, view=view)
naja du setzt ja das thumbnail, nicht das image
dann musst du remove_thumbnail benutzen
das image ist schon gestezt
@slash_command(description="Zeige dein Zuhause")
async def home(self, ctx):
await check_user_home(ctx.author.id)
lager = await lager_raum_len(ctx.author.id)
home_id = await get_home(ctx.author.id)
bar_geld= await get_money(ctx.author.id)
bank_konto = await get_bankkonto(ctx.author.id)
ges_geld = bar_geld + bank_konto
hausnummer = await get_hausnummer(ctx.author.id)
file = discord.File("stadt.jpg", filename="image.png")
embed = discord.Embed(title=f"Zuhause von {ctx.author}", description=f"**Hausnummer: {hausnummer}**", color=discord.Color.dark_green())
embed.add_field(name="Inventar",value=f"Abstellraum: {lager}/20")
embed.add_field(name="Geld", value=f"Bankkonto: {bank_konto}$\nBargeld: {bar_geld}$\nGesammtes Geld: {ges_geld}$", inline=False)
embed.set_thumbnail(url=ctx.author.avatar.url)
embed.set_image(url="attachment://image.png")
select=home_select()
view=discord.ui.View(timeout=None)
view.add_item(select)
await ctx.respond(embed=embed, file=file, view=view, ephemeral=True)
hier setzte ich das image und in dem ersten will ich es wieder entfernen
Was codest du eigentlich?
einen großen RPG bot
Aha?
Aber ich werde angeschissen, wenn ich Pinge
ich weiß garnicht was das du meinst
wié kann ich den fehler fixen:
Ignoring exception in on_connect
Traceback (most recent call last):
File "C:\Users\Long\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\client.py", line 377, in _run_event
await coro(*args, **kwargs)
File "C:\Users\Long\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\bot.py", line 1164, in on_connect
await self.sync_commands()
File "C:\Users\Long\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\bot.py", line 738, in sync_commands
app_cmds = await self.register_commands(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Long\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\bot.py", line 599, in register_commands
registered = await register("bulk", data, _log=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Long\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\http.py", line 366, in request
raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In options.5: Required options must be placed before non-required options```
es gibt halt keinen einzigen verweis auf meinen code
du hast bei deinem slash befehl sachen die nicht benötigt werden und die müssen vor sachen stehen die benötigt sind
was
bei deinem slash befehl die sachen wo none require ist müssen hinten stehen
ich versteh deine satz nicht
bei welchem slsh cmd?
ist das der ganze fehler?
ja
welcher ist der letzte den du gemacht hast?
ok dann keine ahung
kann es sein das es als fiel noch gestetzt wird?
what that error?:
Ignoring exception in on_connect
Traceback (most recent call last):
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 382, in _run_event
await coro(*args, **kwargs)
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 1055, in on_connect
await self.sync_commands()
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 642, in sync_commands
registered_commands = await self.register_commands(
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 541, in register_commands
registered = await register("bulk", data, _log=False)
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\http.py", line 359, in request
raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In 2.options.0.options.1: Required options must be placed before non-required options
options mit default value dürfen erst nach verpflichtenden options kommen
Wo ist denn "word" definiert?
hm
word war nirgendwo definiert
embed.set_footer(text='Quiz zu schwer? Verwende "/emojiquiz skip"', icon_url="https://cdn.discordapp.com/attachments/1052617061513318400/1059906201418207432/Screenshot_2023-01-02_114643.png%22)
So maybe?
Code?
Aber er findet die Message nicht
wo soll ich den wissen welche error es ist lmao
idk???
er sagt nicht mal von wo der error ist
def __int__(self, bot):
self.bot = bot
@slash_command()
@commands.cooldown(1, 30 * 60, commands.BucketType.user)
async def test(self, ctx):
await ctx.respond("Test")
@staticmethod
def convert_time(seconds):
if seconds < 60:
return f"{round(seconds)} Sekunden"
minutes = seconds / 60
if minutes < 60:
return f"{round(minutes)} Minuten"
hours = minutes / 60
return f"{round(hours)} Stunden"
@commands.Cog.listener()
async def on_application_command_error(self, ctx, error):
if isinstance(error, commands.CommandOnCooldown):
seconds = ctx.command.get_cooldown_retry_after(ctx)
final_time = self.convert_time(seconds)
await ctx.respond(f"Du musst noch {final_time} warten", ephemeral=True)```
Ich versuche den Cooldown bei der Rolle zu machen und immer wenn ich ihn nochmal ausführe, dann steht dort Du musst noch None warten. Weiß jemand was ich falsch gemacht hab?
Will das dort die Minuten stehen
hey, sieht so aus als wäre der code zu weit nach rechts eingerückt, und so wird nur etwas zurückgegeben wenn die if bedingung mit den seconds true wird
Vielen Dank
Du könntest Künstler werden xD


guten morgen
approvedmsg = await interaction.response.send_message(embed=embed, view=PublishView())
kann mir jemand sagen wie man diese interaction responses löscht?
ich hätte jetzt einfach gesagt approvedmsg.delete()
da kommt aber folgender error: AttributeError: 'Interaction' object has no attribute 'delete'
Warum nicht einfach delet?
Tibue sagt immer gerne schau in Pycord Bibliothek oder recherchiere in stack overflow
Its my first time using buttons in discord.py
I want the embed to delete itself when someone clicks the delete button. This is my code but there are some problems.
Anyone can delete the message by
@limber pewter
hab ich doch gesagt
aber es ist ja nicht nur eine message
wenn es einfach nur ctx.send oder channel.send wäre
würde es auch gehen
aber bei einer response auf eine interaction scheint es anders zu gehen
wie gesagt kommt bei der delete funktion ein fehler
AttributeError: 'Interaction' object has no attribute 'delete'
Frag doch mal chatgpt
was oder wer ist chatgpt
ist ja auch egal
habe es jz mit channel.purge(limit=1) gemacht
In welcher zeile is der error?
Doch da steht es doch
da steht dass es eben nicht geht
da sagt einer er fragt sich wie das geht
und der andere antwortet dass man es nur nach einer zeit löschen kann
wo steht denn da dass es geht???
bist du verrückt
Wie kann ich ein einem Loop zufällige Zeit machen?
Also das manchmal nach 5 Minuten etwas geschickt wird, dann maybe nach 7 minuten und dann nach 3 minuten und so weiter
Also halt zufällig.
Kein pycharm
Ich finde pycharm nerfig weil man da imma nen Interpreter einstellen muss
Vsc ist besser
Ebend
Ich meine bei vsc installierst dir einfach pyht9n und fertig
👑
Pycharm ist halt eine direkte IDE für Python
vsc ist ja keine ide
ich würde sagen du schaust dir das "random" modul für python an
damit kannst du quasi random zahlen generieren und im code benutzen
tatsächlich sherlock
Habs schon gemacht xD
@tasks.loop(minutes=randrange(6, 25))
wenn du wusstest was das random modul macht wieso fragst du hier wie du das randomizen kannst
"sherlock"
Weil ich nicht wusste wie man macht, dass sich die Minuten nach der task nochmal ändert
@tasks.loop(minutes=randrange(6, 25))
async def my_background_task(self):
self.my_background_task.change_interval(minutes=randrange(6, 25))
ist doch klar
wie heißt nochmal schnell das gegenteil von on_member_join
on_member_remove
danke dachte on_member_leave
Gibt tatsächlich viele die das selbe gedacht haben xD
das event triggert auch bei kicks und bans, deswegen haben sie es remove genannt denke ich
Bei
I DB ist für mich mysql
Erklär das nochmal genauer pls
xD aktuelle webseite?
hey mal so eine blöde frage kann man eine reload cogs erstellen?
anstatt den bot neuzustarten?
Klar
uiii
ähm würde das funktionieren`?
@bot.command()
@commands.is_owner()
async def reload(ctx, extension):
bot.reload_extension(f"cogs.{extension}")
embed = discord.Embed(title='Reload', description=f'{extension} successfully reloaded', color=0xff00c8)
await ctx.send(embed=embed)
würde das funktionieren?
Versuch es doch einfach.
schick mal den code aus der view klasse
self.bot
bot ist in der class nicht drin
und nicht übertragen worden
nichts klappen
falsch
schau bitte das Tutorial nochmal an
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 ...
https://youtu.be/Timo stinkt
https://youtu.be/Esse gerne Katze
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
self.bot.add.view(FantasyUniverse())
@slash_command()
async def button1(self, ctx):
await ctx.respond("Klicke hier", view=FantasyUniverse())
def setup(bot):
bot.add_cog(Button(bot))
class FantasyUniverse(discord.ui.View):
def __int__(self):
super().__init__(timeout=None)
@discord.ui.button(label="Klicke hier", style=discord.ButtonStyle.primary, emoji=":white_check_mark:", custom_id="button1")
async def button_callback1(self, button, interaction):
await interaction.response.send_message("Du hast die Rolle erhalten", emphemeral=True)
@discord.ui.button(label="Klicke hier 2", style=discord.ButtonStyle.primary, emoji=":white_check_mark:", custom_id="button2")
async def button_callback2(self, button, interaction):
button.disabled = True
await interaction.response.edit_message(view=self)```
Bei den Buttons wird bei mir unten wieder ein Fehler angezeigt, dass die self auf einmal nicht mehr lila sind.
Woher soll ich wissen in welche Richtung ich es einrücken soll?
Als ich das mit super().__(init_timeout=None) hinzugefügt habe, ist dieser Fehler aufgetreten
die buttons müssen nach links gerückt werden, sodass sie auf derselben höhe wie das def init sind
das int musst du noch zu init umbenennen
Alles klar schaue morgen nach
warum machst du 5 mal self.add_item
Weil es ein Modal ist.
Mein Fehler wurde behoben. Dankeschön trotzdem.
hat jemand für mich eventuell ein stichwort wonach ich am besten suchen kann wenn ich Per slash command eine Json datei bearbeiten kann?
Mürde gern somit streamer aus/einfügen in meiner watchlist zeile.
hoffe das war verständlich genug 😄
also ich würde generell nach einem tutorial suchen wie man json dateien modifiziert, und den code dafür dann in den slash command schreiben
habe ich schon gemacht aber irgendwie finde ich nix passendes
ich werd einfach nochmal schauen
das hier ist deine lösung
stark genau das habe ich gesucht
aber wieso stoße ich da nicht drauf 😄
ich glaube ich besuche nochmal ne google schule 😄
Stelle deine fragen genau und du bekomsmt fast immer ysehr gut antworten
habs hinbekommen 😄 sehr starkl
Wie arbeitet man mit Nextcord in Python vsc? Wie benutzt man das?
Hab das versucht, aber dann kommt ein Fehler
pip install nextcord
welcher fehler?
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
self.bot.add.view(FantasyUniverse())
@slash_command()
async def button1(self, ctx):
await ctx.respond("Klicke hier", view=FantasyUniverse())
def setup(bot):
bot.add_cog(Button(bot))
class FantasyUniverse(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
@discord.ui.button(label="Klicke hier", style=discord.ButtonStyle.primary, emoji=":white_check_mark:", custom_id="button1")
async def button_callback1(self, button, interaction):
await interaction.response.send_message("Du hast die Rolle erhalten", emphemeral=True)
@discord.ui.button(label="Klicke hier 2", style=discord.ButtonStyle.primary, emoji=":white_check_mark:", custom_id="button2")
async def button_callback2(self, button, interaction):
button.disabled = True
await interaction.response.edit_message(view=self)```
Dort steht line 13, in on_ready self.bot.add.view
Bot object has no attribute add
Line 377 in _run_event
add_view
Danke jetzt geht es
Beim Button 1 steht immer Interaktion felgeschlagen
Kann man
await interaction.response.send_message("lol")
await interaction.response.edit_message("lol2") machen?
was spricht dagegen
keine ahnung
@solid ingot Beim Button 1 steht immer Interaktion felgeschlagen
Warum pingst du so oft
Hab nur einmal gepingt
Bei einer antwort wird er auch gepingt
Sorry
Beruhigt dich euch

Hat irgendeiner ne Ahnung, wieso ich dotenv nicht installieren kann?
Ah xD
Danke
Und was will der jetzt hier von mir?
bot = commands.Bot(intents=discord.Intents.all(), command_prefix='!', help_command=None)
AttributeError: 'Bot' object has no attribute 'slash_command'. Did you mean: 'add_command'?
du musst anstatt commands.Bot discord.Bot machen
Weil sonst gehen nur Prefix commands
!help als beispiel
intents = discord.Intents.default()
bot = discord.Bot(
intents=intents,
debug_guilds=[123456789] # hier server id einfügen
)
Habe ich schon versucht gehabt ... Keine Sorge, Token sieht man ned 😄
aber warum machst du command_prefix
Hab den Fehler bei mir gefunden.
Hat ja erstmal rein garnichts mit meinem Fehler zutun 😄
import discord , json , os , asyncio
from discord.ext import bridge, commands
from colorama import Fore
client = bridge.Bot(
command_prefix='prefix',
intents=discord.Intents.all(),
help_command=None
)
``` das ist meins
Das ist ein schöner Code nur was hat das jetzt mit meinem Problem zutun? xD
ja das gleiche
aber statt member: discord.Member kommt role: discord.Role
und wenn du die Rolle pingen willst ist das gleiche wie du den member pingst
role.mention?
mach doch einfach <@&ROLE-ID>
Ja
Man kann es einfach machen
du machst 3 choices und wenn die owner choice ist dann ist die id die ID halt
async def weitergeben(self, ctx,
rolle: Option(str, choices=["Owner", "Admin", "Manager", required=True)
):
if rolle == "Owner":
rolle = await self.bot.fetch_role(ROLLENID)
elif status == "Admin":
rolle = await self.bot.fetch_role(ROLLENID)
else:
rolle = await self.bot.fetch_role(ROLLENID)
Option muss importiert werden!!!
Code:
class Claim(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
@discord.ui.button(
label="Beanspruchen",
style=discord.ButtonStyle.green,
custom_id="claimbutton",
emoji="🖐🏼"
)
async def callback1(self, button, interaction):
logc = interaction.guild.get_channel(1058921744636842064)
claime = discord.Embed(
title="Beansprucht",
description=f"Das Ticket wird nun von {interaction.user.mention} bearbeitet.",
color=0x303030
)
logclaim = discord.Embed(
title="Beansprucht",
description=f"Das Ticket {interaction.channel.mention} wird nun von {interaction.user.mention} bearbeitet.\n",
color=0x303030
)
await logc.send(embed=logclaim)
await interaction.response.send_message(embed=claime)
await interaction.response.edit_message(embed=claime, view=Beansprucht())
Error:
discord.errors.InteractionResponded: This interaction has already been responded to before
async def weitergeben(self, ctx,
rolle: Option(str, choices=["Owner", "Admin", "Manager", required=True)
):
if rolle == "Owner":
rolle = await self.bot.fetch_role(ROLLENID)
elif status == "Admin":
rolle = await self.bot.fetch_role(ROLLENID)
else:
rolle = await self.bot.fetch_role(ROLLENID)
await ctx.respond(f" nachricht... {rolle}")
so
bruh anstatt rolle mach rolle.mention
code?
@slash_command()
@commands.has_role(1032007641553174628)
async def weitergeben(self, ctx,
rolle: Option(str, choices=["Owner", "Admin", "Manager", required=True)
):
if rolle == "Owner":
rolle2 = await self.bot.fetch_role(ROLLENID)
elif status == "Admin":
rolle2 = await self.bot.fetch_role(ROLLENID)
else:
rolle2 = await self.bot.fetch_role(ROLLENID)
await ctx.respond(f"**{ctx.author.mention} Braucht Hilfe** \n Deswegen wurde dieses Ticket an {rolle2.mention} weitergegeben")
mach das mal
mach eif
Bei mir geht alles
also liegt es an einer deiner codes
from discord.ext import commands
from discord.commands import slash_command
class Modal(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command()
async def modal(self, ctx):
modal = FantasyModal(title="Erzeuge ein Embed")
await ctx.send_modal(modal)
def setup(bot):
bot.add_cog(Modal(bot))
class FantasyModal(discord.ui.Modal):
def __init__(self, *args, **kwargs):
super().__init__(
discord.ui.InputText(
label="Embed Titel",
placeholder="Placeholder"
),
discord.ui.InputText(
label="Embed Beschreibung",
placeholder="PLaceholder",
style=discord.InputText.long
),
*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(embeds=embed)```
Kann jemand bitte überprüfen, wieso bei mir Anwendung reagiert nicht steht?
Bei mir wird nämlich kein Fehler angezeigt
@fluid leaf hat @hoary loom gepingt.
Nachricht
@hoary loom
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
class TicketClaim(commands.Cog):
def __init__(self, bot):
self.bot =bot
@slash_command()
@commands.has_role(1032007641553174628)
async def claim(self, ctx):
await ctx.respond(f"**Willkommen im Support auf BastiGame Zone!** \n {ctx.author.mention} wird sich um dein Anliegen kümmern.")
@slash_command()
@commands.has_role(1032007641553174628)
async def unclaim(self, ctx):
await ctx.respond(f"**Dieses Ticket wurde gerade unclaimed** \n {ctx.author.mention} wird sich leider nichtmehr um dich kümmern können! \n Aber es kommt bestimmt gleich ein anderer Teamler! \n <@&1005534585293127761>", role_mention=True)
@slash_command()
@commands.has_role(1032007641553174628)
async def weitergeben(self, ctx, rolle: Option(choices=["Owner", "Admin", "Manager"], required=True)):
if rolle == "Owner":
rolle = await self.bot.fetch_role(993590920001884211)
elif rolle == "Admin":
rolle = await self.bot.fetch_role(1061390494946574496)
else:
rolle = await self.bot.fetch_role(1031995441371431013)
await ctx.respond(f"**{ctx.author.mention} Braucht Hilfe** \n Deswegen wurde dieses Ticket an {rolle.mention} weitergegeben")
def setup(bot):
bot.add_cog(TicketClaim(bot))
knecht bot
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
class TicketClaim(commands.Cog):
def __init__(self, bot):
self.bot =bot
@slash_command()
@commands.has_role(1032007641553174628)
async def claim(self, ctx):
await ctx.respond(f"**Willkommen im Support auf BastiGame Zone!** \n {ctx.author.mention} wird sich um dein Anliegen kümmern.")
@slash_command()
@commands.has_role(1032007641553174628)
async def unclaim(self, ctx):
await ctx.respond(f"**Dieses Ticket wurde gerade unclaimed** \n {ctx.author.mention} wird sich leider nichtmehr um dich kümmern können! \n Aber es kommt bestimmt gleich ein anderer Teamler! \n <@&1005534585293127761>", role_mention=True)
@slash_command()
@commands.has_role(1032007641553174628)
async def weitergeben(self, ctx, rolle: Option(choices=["Owner", "Admin", "Manager"], required=True)):
if rolle == "Owner":
rolle2 = await self.bot.fetch_role(993590920001884211)
elif rolle == "Admin":
rolle2 = await self.bot.fetch_role(1061390494946574496)
else:
rolle2 = await self.bot.fetch_role(1031995441371431013)
await ctx.respond(f"**{ctx.author.mention} Braucht Hilfe** \n Deswegen wurde dieses Ticket an {rolle2.mention} weitergegeben")
def setup(bot):
bot.add_cog(TicketClaim(bot))
``` @urban glen das ist der richtige code
Das war nicht für mein Code die Lösung oder?
doch
Okay und wo muss ich das hinzufügen?
vor ctx.send_modal
@slash_command()
async def modal(self, ctx):
modal = FantasyModal(title="Erzeuge ein Embed")
await ctx.respond("Deine Nachricht")
await ctx.send_modal(modal)
dann mach get_role
und mach await weg
hä
Also ich hab es hinzugefügt und es geht immer noch nicht. Außerdem wurde im Tutorial gesagt, dass dieses await ctx.send_modal(modal) das await ctx.respond ersetzt
@slash_command()
@commands.has_role(1032007641553174628)
async def weitergeben(self, ctx, rolle: Option(choices=["Owner", "Admin", "Manager"], required=True)):
if rolle == "Owner":
rolle2 = self.bot.get_role(993590920001884211)
elif rolle == "Admin":
rolle2 = self.bot.get_role(1061390494946574496)
else:
rolle2 = self.bot.get_role(1031995441371431013)
await ctx.respond(f"**{ctx.author.mention} Braucht Hilfe** \n Deswegen wurde dieses Ticket an {rolle2.mention} weitergegeben")
ehm
ka
ich guck kurz nach
nope
Okay
ka
dann keine ahnung um ehrlich zu sein
Okay kann vielleicht Timo helfen?
Musst du halt warten
Jo
import discord
from discord.ext import commands
from discord.commands import slash_command
class Modal(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command()
async def modal(self, ctx):
modal = FantasyModal(title="Erzeuge ein Embed")
await ctx.send_modal(modal)
await ctx.respond("Modal gesendet", ephemeral=True)
def setup(bot):
bot.add_cog(Modal(bot))
class FantasyModal(discord.ui.Modal):
def __init__(self, *args, **kwargs):
super().__init__(
discord.ui.InputText(
label="Embed Titel",
placeholder="Placeholder"
),
discord.ui.InputText(
label="Embed Beschreibung",
placeholder="PLaceholder",
style=discord.InputText.long
),
*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(embeds=embed)```
So sollte der Fehler weg sein.
Oh ich hab nen Typo ... Warte
Jetzt
@slash_command()
@commands.has_role(1032007641553174628)
async def weitergeben(self, ctx, rolle: Option(choices=["Owner", "Admin", "Manager"], required=True)):
owner = "rollenid"
admin = "rollenid"
manager = "rollenid"
if rolle == "Owner":
rolle2 = await self.bot.fetch_role(owner)
elif rolle == "Admin":
rolle2 = await self.bot.fetch_role(admin)
else:
rolle2 = await self.bot.fetch_role(manager)
await ctx.respond(f"**{ctx.author.mention} Braucht Hilfe** \n Deswegen wurde dieses Ticket an {rolle2.mention} weitergegeben")
hätte ich längst gemacht wenn's bei mir geht 😂
xd
channel_id aka {channel} ... Wie heißt die function um den channel von "Allgemeine Hilfe" zu #1019974414487535736 ändern? ... hinter das {channel.blablabla} kommt noch was ich hab vergessen ... xD
channel.mention ... 
Code:
class Claim(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
@discord.ui.button(
label="Beanspruchen",
style=discord.ButtonStyle.green,
custom_id="claimbutton",
emoji="🖐🏼"
)
async def callback1(self, button, interaction):
logc = interaction.guild.get_channel(1058921744636842064)
claime = discord.Embed(
title="Beansprucht",
description=f"Das Ticket wird nun von {interaction.user.mention} bearbeitet.",
color=0x303030
)
logclaim = discord.Embed(
title="Beansprucht",
description=f"Das Ticket {interaction.channel.mention} wird nun von {interaction.user.mention} bearbeitet.\n",
color=0x303030
)
await logc.send(embed=logclaim)
await interaction.response.send_message(embed=claime)
await interaction.response.edit_message(embed=claime, view=Beansprucht())
Error:
discord.errors.InteractionResponded: This interaction has already been responded to before
followup
await interaction.message.edit
du kannst nicht 2x Mal response haben
oder so
das geht auch ._.
😄
Kann mir wer sagen, wie ich ein Modal callback in einen anderen command übertragen kann? ...
öh die parameters?
müsstest die in ne Cache oder DB speichern lasseb
Nah, ich merke grade ... Ich glaube mir fehlt zu meiner Sache noch etwas 
Kann man dich per Pm mal fragen wo das Problem liegt? Ich will mein Code jetzt nicht unbedingt öffentlich machen aber finde das Problem nicht 
error kannste sicher Mal hier reinschicken
Warte
Ignoring exception in modal <__main__.MyModal object at 0x000001E6D92FDA90>:
Traceback (most recent call last):
File "C:\Users\domid\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\modal.py", line 341, in dispatch
await value.callback(interaction)
File "c:\Users\domid\Desktop\Discord Projekt\main.py", line 113, in callback
await cursor.execute("SELECT channel_id FROM servers WHERE server_id = ?", (ctx.guild.id,))
^^^
NameError: name 'ctx' is not defined```
Wenn ich ctx aber adde kommt
Traceback (most recent call last):
File "C:\Users\domid\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\modal.py", line 341, in dispatch
await value.callback(interaction)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: MyModal.callback() missing 1 required positional argument: 'ctx'```
async def callback(self, interaction: discord.Interaction, ctx: discord.ApplicationContext):
OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG
Ich liebe dich
Nach 3 Tagen ... Funktioniert es ... 145 Zeilen in der main.py 
await interaction.send('Bitte setze zuerst einen Channel mit dem /setchannel-Befehl')
AttributeError: 'Interaction' object has no attribute 'send'
Statt interaction dann einfach ... Ich habs vergessen 
sus
ctx
oder was
Ne xD
interaction.guild.id hatten wir da statt ctx.
Das geht beim senden aber ned

await interaction.response.send_message()
Nope ^^
ist im modal callback?
Ich wollte grade sagen
@warn.command(description='Warne einen Benutzer')
@commands.has_role(id=1059236066529382400)
async def add(
self,
interaction: discord.Interaction,
user: Option(discord.Member, 'Welchen User willst du einem Warn geben', required=True),
reason: Option(str, 'Was ist der Grund für den Warn', required=True)
):
warn = await self.get_warn(interaction.guild.id, user.id)
await interaction.response.defer()
await asyncio.sleep(1)
async with aiosqlite.connect(self.DB) as db:
await db.execute("UPDATE warn SET warns = warns + 1 WHERE guild_id = ? AND user_id = ?", (interaction.guild.id, user.id))
await db.commit()
embed = discord.Embed(
title=f'💊 | {user.name} wurde Gewarnt!',
description=f"Moderator: {interaction.user.mention}\n"
f"User: {user.mention}\n"
f"ID: {user.id}\n"
f"Grund: **{reason}**\n"
f"Warn Anzahl: **{warn+1}**",
color=discord.Color.blue(),
timestamp=datetime.now()
)
await interaction.followup.send(embed=embed)
try:
dm = discord.Embed(
title=f"💊 | Du wurdest gewarnt!",
description=f"Moderator: {interaction.user.mention}\n"
f"ID: {user.id}\n"
f"Grund: **{reason}**\n"
f"Warn anzahl: **{warn+1}**",
color=0x303030
)
await user.send(embed=dm)
except:
dmE = discord.Embed(
title=f'❌ | Error',
description=f'{user.mention} wurde gewarnt konnte {user.mention} aber keine DM schreiben.',
color=0x303030
)
await interaction.followup.send(embed=dmE, ephemeral=True)
Es wird nur 1 User eingetragen
Man sollte auch ein kleines wtf ...
error?
Hab kein
und was ist das problem
Ich hab
/warn add <user> <reason> gemacht
und dann in die datenbank geschaut und da war er und alles
aber als ich dann nochmal jmd anderen gewarnt habe wurde er nd hinzugefügt
Es wird kein 2. user eingetragen also ist immer nur einer in der datenbank
idk dann
Ok :(
Ich hab noch ein kleines Problem...
Ich habe das hier :
await cursor.execute("SELECT channel_id FROM servers WHERE server_id = ?", (interaction.guild.id,))
result = await cursor.fetchone()
if result is None:
await interaction.response.send_message('Bitte setze zuerst einen Channel mit dem /setchannel-Befehl')
else:
channel = bot.get_channel(result[0])
await channel.send(f"Da steht was drin, was keiner wissen möchte :D", embed=embed)```
Keine Sorge, in der Server id ist mein Server drinne...
```py
Traceback (most recent call last):
File "C:\Users\domid\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\modal.py", line 341, in dispatch
await value.callback(interaction)
File "c:\Users\domid\Desktop\Discord Projekt\main.py", line 120, in callback
await channel.send(f"Da steht was drin, was keiner wissen möchte :D", embed=embed)
^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'send'```
Wie kann ich das noch abfragen? Sehe grade. Da er den Channel nicht auslesen kann, kann er den "channel.send" nicht ausführen ...
Du hast Channel nicht definiert
ah ich seh
await cursor.execute("SELECT channel_id FROM servers WHERE server_id = ?", (interaction.guild.id,)) Ist das falsch rum?
Ne kann ja nicht
cog oder Main?
ne
main
Also
Wenn meine id NICHT da drinnen ist vom Server (Die ID ist von einem anderem Server(mein test Server)) dann spuckt der das aus. Sobald meine server_id drinnen ist, gibt er mir den Error AttributeError: 'NoneType' object has no attribute 'send'
wo ist das embed definiert?
er kann halt Ner senden
Channel ist none
class MyModal(discord.ui.Modal):
def __init__(self, *args, **kwargs) -> None:
super().__init__(*args, **kwargs)``` Da ^^
Ja aber wenn channel none ist soll er das senden
und was senden?
result = await cursor.fetchone()
if result is None:```
await cursor.execute("SELECT channel_id FROM servers WHERE server_id = ?", (interaction.guild.id,))
result = await cursor.fetchone()
if result is None:
await interaction.response.send_message('Bitte setze zuerst einen Channel mit dem /setchannel-Befehl')```
lösch db
Hab ich schon
So kann man das auch umgehen ^^ Ne ich will ne Nachricht senden wenn der Channel nicht gesetzt wurde ...
Das muss doch gehen 
Nein pass mal auf
oder nimmst nen random channel
mit ne for schleife
Wenn jemand den Befehl /setupchannel macht und kein Channel gesetzt ist, sollte ja das hier passieren :
await cursor.execute("SELECT channel_id FROM servers WHERE server_id = ?", (interaction.guild.id,))
result = await cursor.fetchone()
if result is not None:
await interaction.response.send_message('Bitte setze zuerst einen Channel mit dem /setchannel-Befehl')```
Damit ist irgendwas falsch.
Weil wenn ich **KEINE **server_id drinnen habe, spuckt er den Fehler aus. Da er aber wenn er auf einen Server joint, die server_id einfügt, bringt mir das alles nix.
@bot.event
async def on_guild_join(guild):
# Öffne die Datenbank-Verbindung
db = await aiosqlite.connect('setchannel.db')
cursor = await db.cursor()
# Erstelle die Tabelle "servers", falls sie noch nicht existiert
await cursor.execute('''
CREATE TABLE IF NOT EXISTS servers (
server_id INTEGER PRIMARY KEY,
channel_id INTEGER
)
''')```
._.
Dann darf ich das schon wieder komplett umschreiben -.-
hönwenn du Connect musst du schon asyncen
Was
sind nur 4 zeilen mehr
also Timo machst das anders mit aiosqlite
Also ich habe das jetzt auf 10 Servern versucht, funktioniert einwandfrei. Ausser die Fehlermeldung
naja
Der ließt das falsch aus keine Ahnung

wait wait wait da wird nirgendswo die guild id geaddet
War nicht der komplette Code 😄
await cursor.execute("INSERT INTO servers (server_id) VALUES (?)", (guild.id,)) steht noch unten drunter ^^
Ich sag ja ... Damit ist nichts falsch ... Er ließt es einfach falsch aus aber ich weiß nicht wieso und warum...
Oh warte mal
guild is not defined ... Ne ich änder da nix sonst mach ich wieder alles kaputt. Bin ja schon begeistert, das ich hinbekommen habe das es funktioniert wie es soll.
Ich bin und bleibe der Meinung, das hier was falsch ist... Er ließt beides aus. server_id und channel_id daher der NoneType
# Hole den gespeicherten Channel
await cursor.execute("SELECT channel_id FROM servers WHERE server_id = ?", (interaction.guild.id,))
result = await cursor.fetchone()
if result is None:
await interaction.response.send_message('Bitte setze zuerst einen Channel mit dem /setchannel-Befehl')
else:
# Sende die Nachricht in den gespeicherten Channel```
@tasks.loop(seconds=60) async def voice_time(self):
Wie kann ich hier alle user die sich in einem vocie channel befinden bekommen?
aber wie soll ich den das machen das jede minute man sachen bekommt mit sleep doch ned oder weil das ist doch nicht gut
@solid ingot wie hast du es gemacht?
Das weiß ich selber noch nicht ._. Ich dachte das wäre hilfreich. Sorry
ne alles gut XD aber so wollte ich das ebend ned machen 😉
Habe das noch gefunden aber das ist discord.py
Vielleicht hilft das noch
sowas hab ich auch schon geamcht aber da muss ich schauen wie ich gut umsetzte aber danke ich möchte halt ma schauen wie es der keks gemacht hat
Hat er das gemacht? 
Dann schau doch mal in seinen Videos
ne ebend ned als video
Ja ich sehe grade schon in seinem Github findet man auch nichts leider.
das hat er privat geamcht
ebend deshalb soll ers ma sagen XD
jetzt geh ich pennen hoffe er antwort mir
https://discordapp.com/channels/1010915072694046794/1019974414487535736/1061420566126534796
Ich glaube ich habe den Fehler gefunden 
await cursor.execute("SELECT channel_id FROM servers WHERE server_id = ?", (interaction.guild.id,))```
Er ließt die guild.id aus oder nicht? er soll aber die channel_id auslesen.
Also müsste es doch
```py
await cursor.execute("SELECT channel_id = ? FROM servers WHERE server_id", (channel_id,))
sein oder nicht?
(ich weiß nicht ob mein edit korrekt ist.)
Ich werde nun auch schlafen gehen. Vielleicht hat ja noch jemand eine Idee.
ne ist schon richtig si
du musst nur server_id definierten
Wie würde ich das machen? (tut mir echt leid das ich sowas frage aber was sql angeht bin ich total neu und will nichts falsch machen)
Die neuen Code Highlights sind irgendwie nd besser als davor ._. xD
?
?
(None,)
Ignoring exception in modal <__main__.MyModal object at 0x0000022E7E43A5D0>:
Traceback (most recent call last):
File "C:\Users\domid\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\ui\modal.py", line 341, in dispatch
await value.callback(interaction)
File "c:\Users\domid\Desktop\Discord Projekt\main.py", line 122, in callback
await channel.send(f"Das embed soll gesendet werden wenn der Channel gesetzt wurde mit /setchannel", embed=embed)
^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'send'```
```py
# Hole den gespeicherten Channel
await cursor.execute("SELECT channel_id FROM servers WHERE server_id = ?", (interaction.guild.id,))
result = await cursor.fetchone()
print(result)
if result is None:
await interaction.response.send_message('Bitte setze zuerst einen Channel mit dem /setchannel-Befehl')
print(interaction.response)
else:
# Sende die Nachricht in den gespeicherten Channel```
 Liegt das an dem "," oben bei None? (Habe mir das "result" mal printen lassen)
None bedeutet, dass in channel_id nicht's eingetragen ist
Oke und wo is dann das problem?
Das haste gesehen ja?
Wird die nachricht Bitte setze zuerst einen Channel mit dem /setchannel-Befehl geschickt?
Schau dir das doch mal an bitte ._.
Nein wird es eben nicht.
Es kommt der Error AttributeError: 'NoneType' object has no attribute 'send'
Anstatt die Nachricht
Ja aber wo is denn der Code wo du channel.send hast?
Im else
Wo denn?
Da is nur ein Kommentar
Man bräuchte schon den Code part, wo auch der Error auftritt
Ja weil ich meinen Code nicht unbedingt leaken will 
else:
# Sende die Nachricht in den gespeicherten Channel
channel = bot.get_channel(result[0])
await channel.send(f"Eine Dungeonsuche von {interaction.user.mention} wurde gestartet!", embed=embed)```

Tf? xD
Ist in der Db eine Channel Id eingetragen?
Nein
Und wo is das problem?
Wie soll er denn etwas in den channel schicken, wenn in der Db nicht's eingetragen is?
Sagmal
Also ohne genaue Problem beschreibung, kann ich ja nicht wissen was genau du für ein Problem ist
await cursor.execute("SELECT channel_id FROM servers WHERE server_id = ?", (interaction.guild.id,))
result = await cursor.fetchone()
print(result)
if result is None:```
Wenn kein Channel gesetzt wurde mit /setupchannel, soll das hier kommen. Weil dann keine channel_id in der DB ist.
Was aber kommt ist AttributeError: 'NoneType' object has no attribute 'send'
Versuch if result[0] is None:
I guess es funktioniert aber wenn ich jetzt das modal losschicken will, sendet er das embed. Aber schließt das Modal nicht

Es gibt keinen Error

Ich habe ja jetzt nur das result hinzugefügt. 
Achso warte mal xD
Man sollte auch die response nicht auskommentieren ich Idiot
._.
Mein Fehler sorry ...
So eine kleine Sache die ich vergessen habe ... Ich danke dir vielmals 😄 Funktioniert 
This error typically occurs when you try to access an element in a list using an index that is outside the bounds of the list. For example, if you have a list with three elements, the valid indices for the elements in the list are 0, 1, and 2. If you try to access an element at index 3, you will get an "index out of range" error because there is no element at that index.```
Denk dran. Ein Index beginnt bei 0... 0 1 2 3 -- Nicht 1 2 3
wie kann ich alle bots die auf ein Server sind mit ne for schleife holen und diese in eine Liste reinpacken?
@client.event
async def on_message(message):
if message.content.startswith('!listbots'):
bots = client.bots
for bot in bots:
await message.channel.send(bot.name)```
Glaube, so war das 
Wieso Spoon-Feedest du?
Eine erklärung hätte genügt
Man Codet nicht vor, sonst lernt die Person ja nicht's
Ich lerne durch Beispiele. Wenn ich nach etwas Frage, möchte ich ein Beispiel haben. (Falls das möglich ist) Da es Menschen gibt, die in eine Doc schauen und nur Bahnhof verstehen.
Mir wurde fast alles beigebracht, durch Beispiele.
Und so gebe ich das auch weiter.
Wie du schon sagst, mit einer for-schleife.
Du gehst mit der for-schleife durch context.guild.members und überprüfst dann mit nem if-statement, ob der member ein bot ist (if member.bot: )
Da es Menschen gibt, die in eine Doc schauen und nur Bahnhof verstehen.
Man sollte die Doc's verstehen, wenn man Coden möchte.
Wenn damit ein Problem besteht. Dann sag mir das, dann helfe ich nichtmehr.
Du kannst ja helfen, aber mit erklärungen, so dass der andere das verstehen könnte und es selber dann probiert.
Und denn sein versuch nicht klappt, kann er Code & Error schicken und dann können wir ihm noch besser helfen
Aber selber probieren geht vor
Anstatt etwas zu copy & pasten
Mein Code macht doch auch noch garnicht viel. Er funktioniert so auch garnicht, da wie du schon erwähnt hattest, fehlt etwas ^^ Also verstehe ich dein Problem grade nicht 
Hab kein Problem. Es geht nur darum, dass durch Fertige Codes die Member hier nicht's lernen
Man soll erst selber probieren und dann code & ggf. Error schicken
Er ist ja nicht fertig
War ja nur ein Beispiel wie man es umsetzen könnte
Den Rest muss man schon selber machen. Den Context, den du jetzt geliefert hast, hatte zum Teil noch gefehlt aber das hätte er schon selber rausgefunden.
Es steht doch dabei
my_list = [1, 2, 3]
try:
print(my_list[3])
except IndexError:
print("Oops, that index is out of range!")```
ja das weiß ich nur wie packe ich die in ne Liste dann rein
Spoon-Feeding (Das senden (halbwegs) fertiger Codes) is nicht gut.
Wie gesagt, erklären -> er probiert es dann selber -> Wenn nicht funktioniert -> 
mit .append()
Falls dir das etwas sagt
Ich fühle mich dadurch z.b tierisch provoziert. Erklär mir halt einfach wo der Fehler liegt, ich schreibe das in meine Informationen rein und weiß für die Zukunft, was ich falsch gemacht habe.
natürlich 
Du machst eine Liste (weißt ja wie das geht denke ich mal xD), und mit .append(derBot.name) fügst du dies in die Liste hinzu
aber wieso derbot.name will mit je If abfrage machen das wenn die id einer des bots ist Return wird Rest weiß ich ja
So wie du mir vorhin gesagt hattest, das ich den Index [0] vergessen hatte. War super hilfreich, habe ich mir (mache ich wirklich) notiert 
also einfach if member.bot, dann überprüfst du ob die id übereinstimmt und machst den rest
Oder verstehe ich etwas gerade falsch? xD
joah schon
woher soll der Code bzw. Bot wissen ob's ein bot ist
if member.bot bezieht sich ja nur auf einen?
Nein. Du gehst davor ja durch alle Member.
Das heißt, er geht durch alle guild.members und mit dem if member.bot schaut er halt ob der Member ein Bot ist, und das bei jedem xD
Probiers einfach mal aus
Wo erwähnst du etwas über ein emojiquiz?
achso dann hab ich die abfrage in Prinzip falsch verstanden xd
Woher soll ich wissen, das es mit irgendwas zutun hat? Du hast gefragt "Was ist das für ein Error" Ich habe ihn dir erklärt 
aber da ist member auch nur ein parameter oder?
hust
Du bist mit dem Thema auf 2 Discords unterwegs. Vergiss nicht, wo du was geschrieben hast 
Das finde ich jetzt frech xD
Meinst du Pycord v3?
Ja, das python 3.11 habe ich verstanden.
Aber ich fragte ob du **pycord **v3 nutzen willst 
die neuste pycord version funktioniert auf jeden fall schon mit 3.11
Nein mir eigentlich egal welche Pycord Version will ja nur python 3.11 mit Pycord
Idk hab es versucht Plus den pip Pycord Update und das ging nicht mit Python 3.11

pip install py-cord funktioniert nicht?
Meinte Update schon gemacht danach ging immer noch nicht python 3.11
Mit Pycord
Mach ma deine CMD auf und schreib mal rein "pip list" und zeig mir was bei deinem py-cord steht
@indigo sapphire
Möglicherweise greift dein Projekt auf die Json zu und keine Ahnung, ich weiß nichtmal was du willst, was du machen willst, was du getan hast (ausser die JSON leer gemacht) ... Hä
Kk
py-cord 2.3.2
py-cord 2.3.3.dev24+g5e2e28b0
Mach mal pip uninstall py-cord und danach wieder pip list, guck ob py-cord weg ist. auch die dev version. Wenn ja mach nochmal pip install py-cord 
kk
py-cord 2.3.2
Dann versuch nochmal was du vor hattest.
mit python?
Ja. Willst du komplett neu anfangen? Bist du schon "erfahren" ?
den error:
PS C:\Users\Manuel Berchtold\OneDrive - Kantonale Schule für Berufsbildung\Dokumente\Programmieren\Python\ShrioLaplaceBot\ShiroSystem> & "C:/Users/Manuel Berchtold/AppData/Local/Programs/Python/Python311/python.exe" "c:/Users/Manuel Berchtold/OneDrive - Kantonale Schule für Berufsbildung/Dokumente/Programmieren/Python/ShrioLaplaceBot/ShiroSystem/ShiroMain.py"
Traceback (most recent call last):
File "c:\Users\Manuel Berchtold\OneDrive - Kantonale Schule für Berufsbildung\Dokumente\Programmieren\Python\ShrioLaplaceBot\ShiroSystem\ShiroMain.py", line 8, in <module>
import discord, asyncio
ModuleNotFoundError: No module named 'discord'
PS C:\Users\Manuel Berchtold\OneDrive - Kantonale Schule für Berufsbildung\Dokumente\Programmieren\Python\ShrioLaplaceBot\ShiroSystem>
geht doch?
Mir wurde beigebracht, dass man das so nicht macht
und warum???
Keine Ahnung aber wenn es so funktioniert, dann hat er discord nicht gefunden.
Welchen Editor nutzt du?
vs
selbe error
macht keine unterschied
wo liegt das problem?
pip install discord.py 
Du nutzt aber die library discord ...
nein
Excited to create your first bot? Once you install Pycord, you can start right
Ja keine Ahnung dann... Bei mir hat alles auf anhieb funktioniert beim erstellen meiner ersten Zeilen
idk
Hover mal über das discord in import discord
Was steht da?
Hey, worum geht's grad?
Maybe kann ich helfen
Untersützt pycord schon die python versio 3.11?
hier
anscheinend ja
Welche Pycord version hast du installiert?
Brauchst version 2.3.0 oder höher
hab py-cord 2.3.2
Habe grade mal einen kleinen Tipp erhalten, da ich scheinbar auch ein Problem hatte.
Ich nutze selber py-cord.
Schick mir mal deine Liste bitte. pip list
Kk
Mach mal pip freeze und schick mal screenshot
bischen to long xD
Was zum Teufel 
Da muss SIGMA ran
Sorry hahaha
xD
Warum ich?
Hat wer eine Idee warum ich nur channel auswählen kann?
ctx,
text: Option(str, "Der Text, den du senden möchtest"),
channel: Option(discord.TextChannel, "Der Channel, in den du die Nachricht senden möchtest")
):```
autocomplette
Keine Ahnung hahahaha
Das is keine hilfreiche Antwort glaub ich xD


