#Allgemeine Hilfe
1 messages · Page 2 of 1
Die meisten Leute wollen ja auch Geld im gegenzug, um ihren Server finanzieren zu können
Naja wer was braucht muss mir schreiben dann klären wir das
Richtig
Wirst es nicht entziffern können
Abgesehen von dir jz könnte ich niemanden nennen, der andere auf seinem Server, für den man selber Geld bezahlt, kostenlos seine Bots hosten lässt. (Mit genug Speicher etc.)
Sag wer XD
Mir geht es eher um die DB
Also wennde nur ne DB willst kein ding
Mit Bycribt
Ich würde sagen da macht er viel mehr plus als du denkst
🤔
Wie zB kann er ihre DB nutzen
Hä
DB = DeutscheBahn
Xd

Ich zB mache game DB also mit gaming Daten von anderen Games die kann er genausogut nutzen
Und muss nicht selber alles Sammel

Ja teroetisch schon praktisch ne
Aber wie gesagt wer was free will einfach anschreiben
Wenn er deine Daten verkauft? xD
Ist egal
Ist nicht wichtig wenn doch ist alles verschlüsselt
🤷♂️
@urban glen
Ich hab Glücklicherweise gelernt mit Bycribt verschlüsseln
Als Admin hat man Zugriff auf alle Dateien
Spielt keine Rolle wenn die rohe Text nicht lesbar ist
😂
Wäre halt das ganze Projekt auf dem server, dann hätte er den src und dann ja
Aber ist ja jz egal. Ist schon nett, dass Partymann so etwas anbietet
Jup
gg
Ich finde nur wenn er auch den DB nutzt ist eigentlich eine gute deal
Ty
Ich guck dann mal weiter mein Tutorial, noch einen schönen Abend
Wo?
Halt auf yt
Bei wem?
Naja wenn du ein Code brauchst um Sachen zu verschlüsseln sag mir Bescheid
Joa alles gut
Danach muss ich halt noch das guckenhttps://www.youtube.com/watch?v=HGOBQPFzWKo
Take your Python skills to the next level with this intermediate Python course. First, you will get a review of basic concepts such as lists, strings, and dictionaries, but with an emphasis on some lesser known capabilities. Then, you will learn more advanced topics such as threading, multiprocessing, context managers, generators, and more.
💻 C...
Weiß jemand, wie ich das hier änder, weil der speichert meine txt files nicht als normale txt files
Ich glaube das wird zu einer requirements file
Ich kann auch einfach nur eine datei erstellen, ohne Endung, da klappt alles, nur mich würde es interessieren ob das normal ist oder net.
Less go
schau mal ob das hier in den einstellungen richtig eingestellt ist
weiß jemand why das ned geht
was ist der fehler?
dann wird entweder das event nicht ausgelöst oder die if abfrage ist immer falsch
was xD
wny ist if falsch
mach dir mal ein print und schau nach ob das die richtigr ID ist
print(thread.parent_id)
ja gleich
- Wenn er es verschlüsselt speichert seh ich a nur verschlüsselte Sachen und 2. Jeder kann deinen src rein theoretisch veröffentlich/klauen etc
Bei dem 2. wäre ich vorsichtig Freundchen
Wieso?
?
wie kann man embed edierten wenn es schon gesendet ist
hey, schau mal in #1028696005203460146
puh ist das komplieziert
Schick mir mal den src von Fifa 23
Hä lost?
Lesen kannste a ned oder?
Ich habe gesagt reinteoretisch und 2. wa es nicht auf mich sondern in algemeinen gemeint und wer will bitte fifa 23 so nen rotz
hab eine frage gibt es eine möglichkeit für den db
direkt in main anstatt jedes mal eine MySQL= zu machen
?
🙋♂️🤦♂️
es geht mir um cogs
wie speichere ich bilder in mysql
ich würde dir eher empfehlen den link oder eine referenz zu speichern
anscheinend gibt es blob datentype
ja das stimmt, würde ich trotzdem nicht empfehlen
Hab noch eine frage gibt es eine Möglichkeit pycord und MySQL zusammen in eine cogs?
hab keine lust jedes mal den login zumachen
ja
wie den ?
du kannst beides importieren und auch in cogs ganz normale datenbankbefehle ausführen
warum den?
anfangs hatte ich vor als URL link abzuspeichern Problem nur wenn ich so in discord schicke kommt es als link und bild
wie den das?
kommt deine DB/SQL guide noch diese woche lmao

da mache ich nur sqlite
was klappt denn bei dir nicht?
ich kann es mir nicht vorstellen
nicht vorstellen, ausprobieren!
der mysql funktioniert einwandfrei, ich weiss nur nicht wie ich es mit den pycord machen kann
wie soll ich ausbrobieren ohne anhaltspunkte
🤔
du hast doch schon den mysql code und den pycord code. das eine kannst du einfach mit dem anderen kombinieren
schau dir am besten nochmal an, wie klassen bei python funktionieren
um mysql in einem cog zu benutzen, musst du den code ja nur in einer python klasse benutzen
dazu findest du bestimmt ein tutorial
wait ich soll ein guide suchen über mysql mit pycord?
nein
ich versteh bischen das konzept
also soll ich eine klasse erstellen mit mysql und pycord bot bridge
wieso bridge?
idk
bot = bridge.Bot(
command_prefix=prefix,
status=status,
activity=activity,
case_insensitive=True,
owner_id= 650456829712793655,
debug_guild=[
1021771684589604904,
],
intents=(Intents.all())
)
# mysql
shirodb = mysql.connector.connect(
die beide zusammen tun und danach sollte in cogs gehen?
ich komme nicht weiter ohne eine vorlage

Ich kann dir später helpen
Ab 15:00? Oder 17:00?
ich meine den schwer als text
die andere als bild genauso neben einander
der button automatisch ignorieren
dort sollte ein bild kommen
es soll genau so in diese layout sein
aslo 6 add_field
nein das geht nicht. du müsstest das bild dann mit einer library wie pillow so bearbeiten dass es passt, aber die buttons können nur unterhalb des embeds sein
es sollte auch keine button geben
wie meinst du das genau mit dem bild
ich verstehe nicht ganz was du vorhast
hast du zeit für vc
ja später
hast du in den einstellungen bei interpreter etwas ausgewählt?
ähm warum geht in ```py
embed.set_footer(text=f'Author: {ctx.user.display_name}')
sollte das nicht wie in rank list sein?
geht doch
so wie hier
joaa
ja
ich wollte einen 2 bot machen
und jezt funktioniert der code nicht mehr
du musst in den einstellungen bei interpreter noch die richtige python version auswählen
und jezt?
und jetzt die python version auswählen
hab ich aber es zeigt komplett komisch
Author: @indigo sapphire
im footer geht das nicht
Bin erst gegen 18 zuhause xd
Okay 👍
ka why aber mein automod geht nicht gibt kein fehler
@bot.event
async def on_message(msg):
for bad_word in bad_words:
if bad_word in msg.content.lower().split(" "):
await msg.delete()
bad_word_embed = discord.Embed(title = "Auto Mod", description=f"{msg.author.mention}, Bitte höre auf sowas zu schreiben", color=discord.Color.red())
await msg.channel.send(embed=bad_word_embed, delete_after=5.0)```
message content intent aktiviert?
alles
wird das event aufgerufen bei einer nachricht?
hat der bot lesezugriff auf den channel?
alles clean
hat admin
File "/home/zap997720/g515472/discordbot/main.py", line 264, in <module>
bot.load_extension(f"cogs.{filename[:-3]}")
File "/home/zap997720/g515472/.local/lib/python3.9/site-packages/discord/cog.py", line 869, in load_extension
self._load_from_module_spec(spec, name)
File "/home/zap997720/g515472/.local/lib/python3.9/site-packages/discord/cog.py", line 735, in _load_from_module_spec
del sys.modules[key]
KeyError: 'cogs.main'```
uhmmm
Timo weist du was ich tun muss ich komme nicht drauf
hey @thick haven bräuchte mal hilfe in db
ich würde gerne das erste bild von dort aus laden wie kann ich es machen
oder weisst du es tibue wie ich commands aus .sql file laden kann?
ne leider nicht
uh okay
@solid ingot das dem main.cogs ist gefixt aber das mit dem automod nicht
Das geht immer noch nicht
weiss jemmand ob man genau dies format in discord schicken kann als code block
jeder einzelne charakter bilder als quadrat und die haben ihre eigene slot
hey, wie hast du es probiert?
pip install dotenv
das muss python-dotenv heißen
da musst du einen ordner reinschreiben
welchen ordner?
ich nehme mal an deinen cogs ordner
deine projektstruktur scheint nicht richtig zu sein. was möchtest du denn mit dem os.listdir() erreichen?
achso ja das sieht schonmal gut aus. hast du die Main Datei auch im cogs ordner?
ja habe ich
das ist wahrscheinlich der fehler
in den ordner, in dem auch der cogs ordner ist
freut mich :D
Keine Ahnung warum aber der bot schickt alles 2 mal
Hat sich erledigt
Hey tibu kann der bot custom emoji aus meinem Server nehmen und überall nutzen?
🤔
ja
Anzeigen lassen?
genau
@thick haven muss ich eine nur wegen MySQL die Def import aus dem Main hollen um MySQL Befehle nutzen zu können?
@solid ingot Eine Frage kann ich irgendwie ein timestamp einbauen weil höchstwahrscheinlich der Server auf UTC gestellt ist?
Er zeigt an das es 15:40 ist.
ja klar das geht, wo möchtest du den timestamp denn einbauen?
willst du den code sehen?
möchtest du die zeit als embed timestamp nehmen oder einfach irgendwo anders ausgeben?
als embed timestamp
wenn du das so machst, sollte die zeit für jeden user automatisch in die aktuelle zeitzone übertragen werden
embed.timestamp = discord.utils.utcnow()
wo genau soll ich das einfügen
unter den code mit dem du das embed erzeugst
embed = discord.Embed(title="Test")
embed.timestamp = discord.utils.utcnow()
@solid ingot nope geht net ist immer noch auf 16:33
ich mache das immer hiermit
from datetime import datetime, timedelta
embed = discord.Embed(title=f"xxx",
description=f"xxx",
color=0x9900FF,
timestamp=datetime.utcnow() + timedelta(hours=2)
)
einfach 5000x einfacher mit embed.timestamp = discord.utils.utcnow() 😄
Bei meinem Bot, lassen sich die Commands nicht ausführen es kommen aber auch keine Fehlermeldungen
Normaler Command
kann der bot nachrichten lesen?
also hat er zugriff auf den channel und ist der message content intent aktiviert?
Wie kann ich Leuten Rollen geben wenn die ein slash command benutzen hab vieles ausprobiert kommt immer ein error
Ja ist aktiv
was für ein error bekommst du?
hm, schick mal den code von dem command
es kommt ja kein fehler
Hmm schwierig
prüf mal, ob das event an sich ausgeführt wird ober ob nur die die if bedingung immer false ist
Evt die Line falsch?
zeig mal deine packages
py-cord discord asyncio python-dotenv aiomysql colorama
wenn du mit pycord arbeitest, musst du discord entfernen
nein
ja xD
hallo leute hätte da mal eine paar fragen
wie kann ich eine for schleife machen
der alles von ordner DB lädt?
für den mysql
class SevenDSGCDropdownsSelect(discord.ui.Select):
def __init__(self):
super().__init__(
min_values=1,
max_values=1,
placeholder='Hier deine 7DSGC Optionen',
options=SevenDSCG_Options,
)
async def callback(self, interaction):
#Check ob der eingabe von ctx.auhtor stammt wenn ja dann true
def check_author(message):
return message.author == interaction.author and message.channel == interaction.channel
await interaction.response.send_message(f'Du hast "{self.values[0]}" gewählt', ephemeral=True)
# Checkt was der user gewählt hat
if self.values[0] == 'Search':
print('Search gewählt')
embed = discord.Embed(
title='🔎〢Search 7DSGC Unit',
description='Bitte schreibe den name des Unit für deine Suche hier in dem Chat',
color=0xf0d33f,
)
embed.set_footer(text=f'{interaction.user.display_name}')
#Sende eine Embed
await interaction.response.send_message(embed=embed, ephemeral=True)
# warte wenn etwas geschrieben wird
answer = await self.interaction.wait_for('message', check=check_author)
await answer.reply(f'{interaction.user.display_name}')
den slash command
async def seven_dsgc(self, ctx, search):
if search is None:
select = SevenDSGCDropdownsSelect()
select.append_option(add_7DSGC_Unit)
select.append_option(delete_7DSGC_Unit)
view = discord.ui.View(timeout=None)
view.add_item(select)
await ctx.respond('Wähle eine 7DSGC Funktionen in Dropdowns Menü', view=view, ephemeral=True)
kann mir jemand helfen beim answer
ich schaffe das irgenwie nicht
möchte das der author eine name, text schreib
danach wird es gelöscht was er geschrieben hat und es wird dann in DB nach dem name gesucht
denn error
Traceback (most recent call last):
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\view.py", line 396, in _scheduled_task
await item.callback(interaction)
File "c:\Users\Manuel Berchtold\OneDrive - Kantonale Schule für Berufsbildung\Dokumente\Python\ShrioLaplaceBot\ShiroSystem\cogs\SevenDSGC.py", line 138, in callback
answer = await interaction.wait_for('message', check=check_author)
AttributeError: 'Interaction' object has no attribute 'wait_for'
da sollte bot.wait_for statt interaction.wait_for sein
Es ist aber in keinem bot
Oder def
Es sollte in eine drop-down Menü sein
Kann ich mal versuchen
kann mir evtl jemand sagen wie der befehl ist um den avatar von meinem bot als icon zu nehmen?
Weiß grad nur wie manns macht mit user avatars ^^
das ist bot.user.avatar.url
genau
thaaanks
und nochmal etwas komplizierteres, ich habe ein command um mit einem Modal ein embed zu machen.
Dort habe ich die möglichkeit ein Link für ein Image rein zu machen.
Kann man das irgendwie machen das ich statt nen link ins formular mache auch self.bot.user.avatar.url einfüge ?
Hoffe das war verständlich 😄
also den code kannst du nicht direkt ins formular schreiben, aber du könntest das dann mit einer if abfrage checken
also wenn zB "bot" eingegeben wurde machst du url=self.bot.user.avatar.url, und wenn nicht, dann wird der link genommen der eingegeben wurde
ah okai perfekt, ich danke !
geht nicht gibt eine error
Ignoring exception in view <View timeout=900.0 children=1> for item <SevenDSGCDropdownsSelect placeholder='Hier deine 7DSGC Optionen' min_values=1 max_values=1 options=[<SelectOption label='Search' value='Search' description='Diese Option ermöglich dir nach 7DSGC Unit zu suchen' emoji=<PartialEmoji animated=False name=':mag:' id=None> default=False>, <SelectOption label='7DSGC Unit Hinzufügen' value='add 7DSGC' description='Diese Option ermöglich neue 7DSGC Unit in DatenBank hinzufügen' emoji=<PartialEmoji animated=False name='\U0001faaa' id=None> default=False>, <SelectOption label='7DSGC Unit Löschen' value='delete 7DSGC' description='Diese Option Löscht 7DSGC Unit aus der DatenBank' emoji=<PartialEmoji animated=False name=':negative_squared_cross_mark:' id=None> default=False>] disabled=False>:
Traceback (most recent call last):
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\view.py", line 396, in _scheduled_task
await item.callback(interaction)
File "c:\Users\Manuel Berchtold\OneDrive - Kantonale Schule für Berufsbildung\Dokumente\Python\ShrioLaplaceBot\ShiroSystem\cogs\SevenDSGC.py", line 138, in callback
await bot.wait_for('message', check=check_author).reply(f'{answer.content}')
AttributeError: 'coroutine' object has no attribute 'reply'
C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\view.py:398: RuntimeWarning: coroutine 'wait_for' was never awaited
return await self.on_error(e, item, interaction)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
da fehlt ein await vor reply
ahh
wie den genau?
await bot.wait_for('message', check=check_author).await.reply(f'{answer.content}')
geht irgenwie nicht
ne das geht nicht mit .await.reply
answer = await bot.wait_for('message', check=check_author)
await answer.reply(f'{answer.content}')
es gibt keine error
hast du zeit für coding support?
leider nicht
okay ty
await bot.wait_for('message', check=check_author)
await.reply(f'{answer.content}')
ich denke so oder ?
öhm denke nicht
allgemeine frage zum "design" eines bots. ziel ist es vorerst 2,3,4 funktionen zu basteln, die ihre daten behalten sollen, wenn der bot neu startet, das spricht also für json oder db store der daten. vermutlich möchte ich den bot auf 1,2,3 servern einsetzen.
eines der features sollen z.b. reminder sein.. startet der bot, soll er für jeden server die reminder einlesen und sie nach entsprechender regel täglich, wöchentlich oder zu termin x in entsprechenden kanälen anzeigen oder sie mit slash command abrufbar / editierbar / anlegbar machen.
gemäss dieser "vorgabe", was wären eurer meinung nach die best practices fürs DB design ? legt man lieber grundsätzlich pro discord server eine db an ? speichert man alle "reminder" in der tabelle "reminder" und schreibt auch die server_id und channel_id mit rein ? alternative ansätze ?
hey, also für jeden discord server eine eigene DB würde ich nicht empfehlen. ich persönlich würde das mit der reminder tabelle machen, und in diese tabelle dann server_id und channel_id schreiben
danke.. klingt für mich auch am logischsten.. muss man die DB pro call nicht wechseln.. das trifft dann also genau so auf alle anderen funktionen zu und man muss die discord_id überall mitschleifen, wäre halt dööflich, wenn der serverA command etwas bei serverB ausgibt 😄
was ich auch nicht finden konnte war so ne art "date picker" für modals oder allgemein interaktions-elemente.. da gibts nix ne ? müsste man mit mutiplen select boxen machen ?
oder komplett aus modals rausnehmen und als definierten eintrag in ein /command
hm, leider nicht, das müsstest du dann mit mit mehreren boxen oder slash commands machen
bin mi kopf noch am "planen" was ich wie machen wollen würde, theoretisches vorgeplänkel eben..
sinn würde m.e. auch machen, dass man sich ne eigene klasse schreibt für DB interaktionen mit den funktionen insert, update, delete und denen dann entsprechend die sql queries oder values übergibt ?
wieso "meistens" ? das impliziert es gibt fälle wo das sinn macht und wo nicht ?
wenn ich kleinere bots mit simpleren funktionen mache, mache ich dafür nicht immer eine eigene klasse mit DB interaktionen. bei größeren projekten schon
i see.. gesetzt es ist ein "grösseres" projekt.. hat die klasse "db" dann die funktionen "insert, update, delete" welche die grundsätzlichen funktionen und db interaktioen bereitstellen und gibt es dann eine funktion "inser_reminder", "update_reminder" usw die die calls zusammenfügen aus den daten und dann an "insert" oder "update" übergeben ? das fühlt sich redundant an.. redundant würde sich auch anfühlen die calls komplett in den einzelnen funktionen zu bauen und an insert oder so zu übergeben
das kommt immer ganz auf das projekt an. an sich spricht nichts gegen solche methoden wie insert_reminder, aber ich denke das macht nur sinn, wenn man diese funktion auch von mehreren stellen aus aufruft.
beim @burnt prairie habe ich es zum beispiel so gemacht, dass ich eine funktion habe, mit der man kekse von einem user addieren oder subtrahieren kann, da man diese währung an vielen unterschiedlichen stellen verdienen kann
danke fürs feedback soweit. ich denke damit kann ich erstmal loslegen und an diversen punkten schier verzweifeln 😄
das on.ready würde ich nutzen, um direkt alles zu laden was ich aus den DBs brauche ? oder wäre ein ausgelagerter timer, der mir nach x minuten den kram läd sinnvoller ?
oder reminder speichern möchte um die alte reminder anzuschauen
ich denke "/reminder list|add|update" wäre das worauf ich hinaus wollte.. mit optionalen features, die aber für add und udpate nicht optional wären.. da muss ich mir die struktur der / commands nochmal genauer anschauen
wenn du die daten nur in on_ready lädst, hast du die reminder, die während der laufzeit des bots hinzugefügt wurden, nicht abgedeckt, oder übersehe ich etwas?
die sind ja zur laufzeit im speicher und werden beim add/update auch in die DB geschrieben.. nur wenn der bot panic schiebt und abraucht, soll er das ja neu laden, wenn er neu startet
achso 😄
ich bin KEIN programmierer btw.. sollte ich also dumme fragen stellen liegts einfach daran 😄
@bot.slash_command(description="Let the bot send a message")
async def say(
ctx,
text: Option(str, "The text you want to send"),
channel: Option(discord.TextChannel, "The channel you want to send the message to")
):
await channel.send(text)
await ctx.respond("Message posted", ephemeral=True)```
@solid ingot Wie kann ich aus dieses befehl nen ban oder mute befehl machen?
Habs versucht und es ging schief
Kein ping
Hm?
Was meinst du damit?
Das du nicht unbedingt timo pingen solltst
So habe ich es gemacht aber so schwer is das nicht. @slash_command(description="Banne einen Member") #Beschreibung des Befehls‘‘‘ @discord.default_permissions(ban_members=True) #Permission die man dafür braucht @discord.guild_only() async def ban( #ban command self, ctx, member: Option(discord.Member, "Wähle einen Member"), reason: Option(str, "Der Grund") ): await member.ban(reason=reason) await ctx.respond(f"{member.mention} wurde gebannt!", ephemeral=True)
Oh bruh
schreib immer dazu was schief gelaufen ist oder welche fehlermeldung du bekommst :)
Mein gehirn mag kreativ sein dennoch nicht komplex 😔
Jap oke danke daddy 🤤
Nicht traurig sein hier ein paar röstzwiebeln
ist dich auch gut, dafür bin sehr unkreativ
AAAAAAAAAAAAA MEINE AUGEN SIE BRENNE DAS SIND ZWEIBELN
AAAAAAAAAAAAAAA
aber zwiebeln mit röst
ist es möglich beispielsweise wenn eine zahl zwischen 500 - 1000 ist eine zahl zu schreiben also beispielsweise so:
xp = 510
if xp in [500-1000]:
print(xp)
( weiß das es so nicht funktioniert aber meine vom Prinzip her)
das müsste so gehen
if 500 < xp < 1000:
print(xp)
File "/home/zap997720/g515472/discordbot/main.py", line 361, in <module>
bot.load_extension(f"cogs.{filename[:-3]}")
File "/home/zap997720/g515472/.local/lib/python3.9/site-packages/discord/cog.py", line 869, in load_extension
self._load_from_module_spec(spec, name)```
hat wer eine Lösung
Wie kann ich da den permission für 2 rollen geben?
danke
Wie zb für admin und mod
da fehlt ein teil von der fehlermeldung, oder?
Sollte ich zuerst die Rollen erstellen?
das geht mit commands.has_any_role()
Kann mir jemand bei diese error helfen
Wie denn?
Code hier
du hast aiosqlite nicht installiert
hab ich eig
Wie denn?
@discord.default_permissions(ban_members=True)´´´
hab ich geht nicht
Soll ich es mit default_permissions ersetzen?
ja
probiere es einfach
@discord.commands.has_any_role(Moderator, Admin)(ban_members=True)```
Oke
Aber geht das?
das müssten String sein, also "Moderator" statt Moderator
Achso oke
das mit ban_members darf sich nicht dahinter stehen
ja, also bei Default permissions zb
Mhm
Timo call gleich?
HILFE
Traceback (most recent call last):
File "c:\Users\...\OneDrive\Dokumente\Discord Bot\Bot.py", line 32, in <module>
@discord.commands.has_any_role("Moderator, Admin")
AttributeError: module 'discord.commands' has no attribute 'has_any_role'
PS C:\Users\...\OneDrive\Dokumente\Discord Bot>```
Was bedeutet das?
heute schlecht, morgen wieder
okey
Jungs kann mir mal jemand kurz helfen?
geht trz nicht also der code
Nope
.
Muss ich die rollen zuerst erstellen oder?
das sollte discord.ext.commands heißen denke ich
Oke ich versuchs mal
raceback (most recent call last):
File "c:\Users\...\OneDrive\Dokumente\Discord Bot\Bot.py", line 32, in <module>
@discord.ext.commands("Moderator, Admin")
TypeError: 'module' object is not callable
PS C:\Users\...\OneDrive\Dokumente\Discord Bot>```
Funktioniert auch nicht
Irgend ne andere Idee timo?
Ich kenne mich da nicht aus sorry
hey, schau mal hier: #1027957814368423996
jetzt hast du ja das has_any_role wieder gelöscht :D
Mhm?
@discord.ext.commands.has_any_role
Achso
Oke danke timo
YAY
DANKE
ES FUNKTIONIERT
Ich werde dir schon mal ne belohnung geben 🤤
komisch, geht es jetzt?
sehr gut :D
Hey timo
Wenn ich den ban command benutze dann bekomme ich ne nachricht
Anwendung reagiert nicht
Hab ich ja
await ctx.respond(f"{member.mention} Has been banned!", ephemeral=True)```
Statt member.ban?
Mhm
Nope aber egal
Danke
Natürlich weiss er das er wartet einfach auf seine belohnung 🤤
Naja...
1 man 1 keks
Timo ich brauche schon wieder deine hilfe
was gibts
Schau mal
Den command funktioniert nicht
Warum weiss ich nicht
Und mit dem output stimmt alles
Damit kann man nichts anfangen Kenagi, am besten Fehlermeldung wenn eine kommt oder den code
Oke warte ich zeige dir mal den code
@bot.slash_command(description="Ban a member who broke the rules")
@discord.ext.commands.has_any_role("Moderator, Admin")
@discord.default_permissions(ban_members=True)
@discord.guild_only()
async def ban(
self, ctx,
member: Option(discord.Member, "User"),
reason: Option(str, "Reason")
):
await member.ban(reason=reason)
await ctx.respond(f"{member.mention} Has been banned!", ephemeral=True)```
versuchs mal mit member: Option(discord.Member, description="Wähle einen User") und reason: Option(str, description="Reason")
Warum @discord.xt
Ext
Timo hats mir so gesagt
Wo?
@atomic jasper schau dir nochmal genau diese zeile an
@discord.ext.commands.has_any_role("Moderator, Admin")
Mhm
das sollte so aussehen
@discord.ext.commands.has_any_role("Moderator", "Admin")
💀
wo ist meine belohnung :(
Später wenn es dunkel wird 😏
gut
1 mann 1 keks
PS C:\Users\...\OneDrive\Dokumente\Discord Bot> & C:/Users/.../AppData/Local/Microsoft/WindowsApps/python3.10.exe "c:/Users/.../OneDrive/Dokumente/Discord Bot/Bot.py"
Ignoring exception in on_connect
Traceback (most recent call last):
File "C:\Users\...\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\client.py", line 382, in _run_event
await coro(*args, **kwargs)
File "C:\Users\...\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\bot.py", line 1054, in on_connect
await self.sync_commands()
File "C:\Users\...\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\bot.py", line 657, in sync_commands
app_cmds = await self.register_commands(
File "C:\Users\...\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\bot.py", line 485, in register_commands
prefetched_commands = await self._bot.http.get_guild_commands(self._bot.user.id, guild_id)
File "C:\Users\...\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\http.py", line 353, in request
raise Forbidden(response, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access
Erased Bot#9964 is online```
Jungs irgendwie stimmt etwas mit meinem phyton nicht
sieht so aus als hätte der bot keinen zugriff auf den server, von dem du die ID eingefügt hast
Achso
Timo sei mal ehrlich...
Woher hast du diese alien sprache gelernt? 🤨
python ist meine muttersprache
self._bot.http.get_guild_commands(self._bot.user.id, guild_id) der bindestrich da gehört dahin?
bei self.bot.user.id,guild_id
Uhhhh
🐍
Jetzt hat er es
Dennoch funktioniert der befehl nicht
Und bei den output ist alles okay
Es zeigt an das der Bot online ist
Timo ich könnte deine hilfe gut gebrauchen
hab wieder das problem das der command nach dem benutzen verschwindet und dan kommt "Ungültiger Befehl für Interaktion-Anwendung"
läuft der bot evtl mehrmals?
Nein
hm, das kann mehrere ursachen haben, da müsste ich mir mal den code anschauen
Kurz call?
später
mir sind ein paar sachen aufgefallen am code:
- du hast ja einen prefix command, da darfst du glaub ich kein ctx.respond verwenden.
- beim letzten command soltte die embed color direkt in discord.Embed() gesetzt werden
- bei den slash commands sollte es
discord.ApplicationContextstattcommands.Contextheißen
Hab ich nicht alle auf slash gemacht
einen vergessen wahrscheinlich
Ich schau mal danke
wo ist da ein prefix
Sag an
ich hab ein bot
und der kann per befehl denn man ein gibt schick der ein eine dm wo ein emed ist und da was drin steht und ich wil wissen wie ich das embed ändern kann
embed
ändern kann
wie kann für @commands.Cog.listener() einen cooldown festlegen?
das musst du manuell machen, zB indem du mit einem task alle 60 sekunden eine variable auf true setzt und das dann in der methode von @commands.Cog.listener() checkst
kann ich das auch so machen wenn ich einen cooldown bei on_message für einen user will und nicht generell?
so halb, also du könntest eine liste machen, wo du alle user reintust, du eine nachricht schreiben. diese liste leerst du dann alle 60 sekunden mit einem task.
bei on_message prüfst du dann, ob der user schon in der liste ist oder noch nicht
hmm ok danke
bist du auf sqlite umgesteigen?
nicht ganz
Umgestiegen* da merkt man das deutsch nicht deine Muttersprache ist :(
deine auch nicht oder? 
Nö
Meine ist LUA
Hehehehehe...
kann mir jemand mit den lite sql helfen?
mein def code:
def embed(Unit_name):
embed = discord.Embed(
title="Sariel",
description="\u200b",
color=discord.Colour.brand_red(), # Pycord provides a class with default colors you can choose from
)
embed.add_field(name="Team-PvP 1", value=
f'>[The Four Archangels]〢Sariel'+
f'>[Advent des Blitzes]〢Ludociel'+
f'>[Advent]〢Tarmiel '+
f'>[Sinn der Lust]〢Gowther')
embed.add_field(name="Team-PvP 2", value="\u200b")
embed.add_field(name="Team-PvP 3", value="\u200b")
embed.add_field(name="Team-PvE 3", value="\u200b")
embed.add_field(name="Team-PvE 2", value="\u200b")
embed.add_field(name="Team-PvE 3", value="\u200b")
# No Inline
embed.add_field(
name='Substats:',
value=f'> ATK: 15%'+' | '+'Def: 15%'+' | '+'HP: 15%',
inline=False)
# Inline
embed.add_field(
name='PvP Gear Sets:',
value='> 4x ATK'+' **|** '+'2x Crit',
inline=True)
embed.add_field(
name='PvE Gear Sets:',
value='> 4x ATK'+' **|** '+'2x Crit',
inline=True)
embed.add_field(
name='\u200b',
value='\u200b',
inline=True)
embed.set_footer(text=f'{Author_id}')
embed.set_author(name=f"[{Unit_Title_Name}]", icon_url=f"{Race}")
embed.set_thumbnail(url=f"{Unit_Icon}")
ich würde gerne eine def embed system machen um damit in SQLite die daten reintun
da wäre meine Slash command
#7DSGC Option Menü
@bridge.bridge_command(
name= str('seven-dsgc-lite'),
description = 'Alle 7DSGC Befehle wie zb seven-dsgc search:Meliodas',
aliases=['7DSGC-Lite', '7DS-Lite'])
@option(
name='search',
description='Eingabe was du suchen willst wie zb Meliodas',
default=None,)
async def seven_dsgc(self, ctx, search):
if search is None:
select = SevenDSGCDropdownsSelect()
select.append_option(add_7DSGC_Unit)
select.append_option(delete_7DSGC_Unit)
view = discord.ui.View(timeout=None)
view.add_item(select)
await ctx.respond('Wähle eine 7DSGC Funktionen in Dropdowns Menü', view=view, ephemeral=True)
elif search is not None:
search
was ist denn dein fehler?
keine ich hab nur keine ahnung wie lite geht
😂
und schaffe keine vernüftige speicherung für embed
kurze frage wie speichere ich in sqlite URL?
als text?
es soll danach in embed rein als set_thumbnail
es gibt einen text datentyp
ah also sollte es einfach so gehen?
kann ich in WHERE nach 2 Row suchen?
quasi oder
ja
also zirka so?
SELECT Unit_Name, Unit_Icon, Unit_Title_Name, Race, Reco_PvP_Gear, Reco_PvE_Gear, Reco_Substats, Author_id
FROM SevenDSGC_Unit
WHERE Alias= ? OR Unit_Name= ?
""", (search, search,)
geht das auch so?
die klammern brauchst du nicht
wirklich?
Jo wie kann man wenn in der aiosqlite datenbank zB. die xp spalte auf 10 kommt dann zB. eine nachricht senden lassen?
naja aber da sieht man doch nur wie man daten raus lesen kann
bin gerade noch ein bssl lost
du musst immer wenn die XP aktualisiert werden mit einem select statement prüfen, wie viele xp der user hat
also erst die xp aktualisieren mit update
dann mit select prüfen wie viel xp der user hat
Kann es mir gerade noch nicht so erschließen kannst du es mir zeigen? 
bin talk :D
Hey weiss jemand wie ich in set_Author nächste spalte machen kann?
Würde gerne den Text sariel unter [The Four]
Wie geht das?
hey jungs weiss jemand von euch wie ich in SQLite index INT NOT NULL AUTO_INCREMENT machen kann?
diese argument ist von mysql idk ob es in SQLite gibt.
genau genommen rowid
wenn du INTEGR PRIMARY KEY benutzt hast du prinzipiell schon automatisch Auto increment
nein
Okay In MySQL ist Bischen anders
ich weiß nicht ob das geht
wie kann nachfragen wie lange ein user auf einem discord ist ( also wieviele tage )?
hey, das geht mit py user.created_at
Und wenn du es noch in einem schönen Zeit format machen willtst geht das mit py {discord.utils.format_dt(user.created_at)} **|** {discord.utils.format_dt(user.created_at, style='R')} Das muss dann natürlich in ein f string
hab mich schlecht ausgedrückt meine wielange ein user auf dem discord server ist
das geht mit member.joined_at
danke
wie stellt man das format so ein das man nur die anzahl von tagen sieht?
also wieviele tage es her ist das der user den server gejoined ist
also entweder machst du das mit einem discord timestamp, da werden dann aber nicht immer die tage angezeigt, sondern wenn der user schon vor 2 jahren gejoint ist wird dann angezeigt "2 jahre"
am besten wäre wenn es möglich ist die genaue tages anzahl
dafür musst du erst die differenz zwischen dem aktuellen zeitpunkt und dem zeitpunkt ausrechnen, bei dem der user gejoint ist.
die zeit kannst du mit total_seconds in sekunden bekommen und musst das ganze dann in tage umrechnen
dafür muss man sich etwas mit datetime objekten bei python auskennen
Code
Code
from discord.ext import commands
intent = discord.Intents.default()
intent.members = True
bot = commands.Bot(command_prefix="/", intent=intent) # Prefix hier einfügen!
role_id = .........#
guild_id = ........#
class RoleButton(discord.ui.Button):
def init(self):
super().init(
label="Verifiziere dich hier!",
style=discord.enums.ButtonStyle.blurple,
custom_id="interaction:RoleButton",
)
async def callback(self, interaction: discord.Interaction):
user = interaction.user
role = interaction.guild.get_role(role_id)
if role is None:
return
if role not in user.roles:
await user.add_roles(role)
await interaction.response.send_message(f"🎉 Du bist nun verifiziert!", ephemeral=True)
else:
await interaction.response.send_message(f"❌ Du bist bereits verifiziert!", ephemeral=True)
BILD_URL = "https://cdn.discordapp.com/attachments/879688173201027092/930861267101573180/willkommen_blue.png"
BESCHREIBUNG = """🔹 Bleibe freundlich und höflich!
🔹 Belästigungen jeder Art ist nicht erwünscht!
🔹 Akzeptiere die Meinung anderer User!
🔹
🔹 Halte dich an die allgemeinen Richtlinien von Discord!"""
@bot.command()
async def post(ctx: commands.Context): # Command
view = discord.ui.View(timeout=None)
view.add_item(RoleButton())
await ctx.send(f"{BILD_URL}")
await ctx.send(f"{BESCHREIBUNG}", view=view)
@bot.event
async def on_ready():
print("ONLINE!")
view = discord.ui.View(timeout=None)
view.add_item(RoleButton())
bot.add_view(view)
bot.run("")```
@indigo sapphire bitte nur den Code senden, der für den Error relevant ist, siehe #🔰・old-help-rules
prüfe, dass du in allen cogs eine Setup Methode hast
Kk
Code bidde
from discord.ext import commands
intent = discord.Intents.default()
intent.members = True
bot = commands.Bot(command_prefix="/", intent=intent) # Prefix hier einfügen!
role_id = .........#
guild_id = ........#
class RoleButton(discord.ui.Button):
def init(self):
super().init(
label="Verifiziere dich hier!",
style=discord.enums.ButtonStyle.blurple,
custom_id="interaction:RoleButton",
)
async def callback(self, interaction: discord.Interaction):
user = interaction.user
role = interaction.guild.get_role(role_id)
if role is None:
return
if role not in user.roles:
await user.add_roles(role)
await interaction.response.send_message(f"🎉 Du bist nun verifiziert!", ephemeral=True)
else:
await interaction.response.send_message(f"❌ Du bist bereits verifiziert!", ephemeral=True)
BILD_URL = "https://cdn.discordapp.com/attachments/879688173201027092/930861267101573180/willkommen_blue.png"
BESCHREIBUNG = """🔹 Bleibe freundlich und höflich!
🔹 Belästigungen jeder Art ist nicht erwünscht!
🔹 Akzeptiere die Meinung anderer User!
🔹
🔹 Halte dich an die allgemeinen Richtlinien von Discord!"""
@bot.command()
async def post(ctx: commands.Context): # Command
view = discord.ui.View(timeout=None)
view.add_item(RoleButton())
await ctx.send(f"{BILD_URL}")
await ctx.send(f"{BESCHREIBUNG}", view=view)
@bot.event
async def on_ready():
print("ONLINE!")
view = discord.ui.View(timeout=None)
view.add_item(RoleButton())
bot.add_view(view)
bot.run("")```
Ich brauch schnell Hilfe
Ok jetzt gehe mal zur Button class
ja
Da muss ein comma bei timeout und dann musst du wie in dem Vid von tibue eine custom id festlegen die Kann heißen wie du willst
Also so: custom_id=„Test“
Bei der button class im konsrtruktor
Bin gerade am Handy 
Oh warte
Du hast eine custom id wait ich gucke mal
Kann dir nachher weiter helfen
Guck nochmal auf timos github
Hey! Ich hab etwas gebraucht um den Fehler zu finden, da die Timeouts und Custom IDs an sich richtig gesetzt sind
Du musst aber __init__ anstatt init schreiben, damit die custom ID auch erkannt wird
hier auch
freut mich!
Tibue dein Guide mit SQLite funktioniert nicht ganz dufte
👀
Ich hatte bei insert einen Problem es erstellt immer mehrere Value und das ist ein Problem
Es fehlt eben paar Parameter
Ich hab ja gesehen das es funktioniert idk warum bei ihn nicht unendlich seine ID erstellt
🤣
also bei mir funktioniert es auch tadellos

was genau funktioniert nicht? oder bekommst du einen fehler?
Kein Fehler
Es erstellt nur mehr id
Das will ich aber nicht alle selbe id
Ganz grob gesagt hab ich nach gemacht aber es erstellt immer wieder die selbe ID
benötigt bei sowas Hilfe: SQLite select if row value not exists insert
Dieselbe ID wird mehrmals in die Tabelle eingefügt?
Ja
hast du das "PRIMARY KEY" vergessen?
😅
Nein
Ich hab einfach für den ID der user nach deine Guide gearbeitet
Da war nix von primary key
Der key ist doch für RowID
doch, schau noch mal genau hin :D
ja genau, wenn etwas als primary key markiert ist, kann es also gar nicht doppelt in der DB vorkommen
Kk ty 👍
wie mach ich das kleiner
drück auf einfügen
Einfühwn
diese taste wo man manchmal aus versehen draufkommt
❤️
Kann dir md weiter helfen aber das weißt du ja daddy

ey
Du bist auch mein daddy
hast du guild ID gesetzt für einen Server wo der bot nicht drauf ist
i look
hab nichts gefunden
schick mal den Code wo du den bot definierst
Also meine main 
joa
mach mal codeblock, bin am handy
das werden viele
intents = discord.Intents.all()
bot = commands.Bot(command_prefix="!", intents=intents)
bot.remove_command("help")
####################################################
@bot.event
async def on_message_delete(message: discord.Message):
if message.mentions != 0:
if len(message.mentions) < 3:
for m in message.mentions:
if m == message.author or m.bot:
pass
else:
embed=discord.Embed(title=f":ghost: | Ghost ping", description=f"**{m}** du wurdest von {message.author.mention} ghostpinged.\n \n**Nachricht:** {message.content}", color=0xffb375)
await message.channel.send(embed=embed)
else:
embed=discord.Embed(title=f":ghost: | Ghost ping", description=f"**{len(message.mentions)} User** wurden von {message.author.mention} ghostpinged.\n \n**Nachricht:** {message.content}", color=0xffb375)
await message.channel.send(embed=embed)
komisch, hast du bei irgendeinem command eine guild_id gesetzt?
Ja aber alle ids sind geändert
vlt hast du eine vergessen?
Hab nach geschaut
funktioniert aber nicht gut wenn ich schon primary key als rowID hab
okay
so btw es kommt immer in
CheckPremium= await cursor.fetchone()
(0,) will aber nur die integer
was hab ich da falsch gemacht in lite
dann brauchst du (await cursor.fetchone())[0]
waiiit
gibt fehler
Traceback (most recent call last):
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 127, in wrapped
ret = await coro(arg)
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 907, in _invoke
await self.callback(self.cog, ctx, **kwargs)
File "c:\Users\Manuel Berchtold\OneDrive - Kantonale Schule für Berufsbildung\Dokumente\Python\ShrioLaplaceBot\ShiroSystem\cogs\ExclusiveCommandLite.py", line 89, in embed
if CheckPremium[0] == 1 or True:
TypeError: 'int' object is not subscriptable
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 1009, in invoke_application_command
await ctx.command.invoke(ctx)
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 359, in invoke
await injected(ctx)
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 135, in wrapped
raise ApplicationCommandInvokeError(exc) from exc
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: TypeError: 'int' object is not subscriptable
@indigo sapphire du musst aber nicht dann immer deine Nachricht löschen wenn du die Lösung hast
ah dachte es ist dann irrelevant und gelöst yk?
achso, ja da hast du doch schon den integer mit CheckPremium[0]
ja es vergleich aber nicht
in ```py
if CheckPremium[0] in (1, True):
await ctx.send_modal(modal)
else:
await ctx.respond(f"Member: {ctx.author.name} hat keine berechtigung für den Command um es ausführen{ctx.author.name} du kannst auch deine Premium berechtigung bekommen, indem du auf dem Button: 'Get Premium' drückst. danach wirst du auf meinem server weiter geleitet.", view=view, ephemeral= True)
async with db.execute(f'SELECT UserPremium FROM UserConfig WHERE (UserID="{ctx.author.id}")') as cursor:
CheckPremium= await cursor.fetchone()
falls ihr fragt von wo die variable CheckPremium ist
problem ist es nur das es nicht 1 ist und trotzdem den modal schickt
es wird ja als (0,) geprintet
bei mysql wird es normal als 0 geprintet
CheckPremium ist (0,)
CheckPremium[0] ist 0
aber warum geht dann den if CheckPremium[0] in (1, True)
nicht?
und schickt trotzdem die formular
Kannst es aber trdm stehen lassen das verwirrt sonst nur
ah okay sryy
ja, wenn du kannst du auch drunterschreiben dass du es schon gelöst hast
das liegt aber an der if Abfrage, nicht am integer
geht wieder
wieso machst du es nicht so?
if CheckPremium[0] == 1
naja idk
xD
dachte wegen dem text True
Anfangs wuste ich ja nicht das es 0 zurück gibt anstatt False

Kann man 2 Primary keys festlegen?
Weil möchte auch wie die user_id den namen speichen in der Datenbank
hey, prinzipiell kann der primary key aus mehreren spalten bestehen, aber den namen würde ich nicht unbedingt als primary key markieren
mach am besten user_id als primary key und name als normalen text
ok und wie speicher ich den namen dann? weil wenn ich das so mache: py await db.execute( "INSERT OR IGNORE INTO users (user_id) VALUES (?) AND users (name) VALUES (?)", (message.author.id,) ) await db.execute( "INSERT OR IGNORE INTO users (name) VALUES (?)", (message.author.name,) ) wird bei jeder message eine neue spalte erzeugt
Naja anstatt primary key sollte Ansicht auch in Insert
if not exists geben
🤔
Naja würde sagen du solltest eine SQlite oder MySQL DB Guide Serie anfangen

hä wat ne
@obtuse estuary
await db.execute("INSERT OR IGNORE INTO users (user_id, names) VALUES (?,?)", (message.author.id, message.author.name))
thx
Gibt auch andere Möglichkeiten wie in MySQL

Kannst recherchieren da findest du sicher was
Es gab noch keine ausführliche Guide für SQlite von Tibue oder wird es noch?
🤔
Was fehlt dir im SQLite Video?
das stimmt, ein paar andere gibt es noch
Joa wäre als play list sehr cool
Es gibt auch andere DB/SQL
😉
Darüber kann man auch gut Guide machen
Finde deine Erklärung super

ist es eigendlich sehr kompliziert einen "setup" command zu machen für so ticket system oder Twitch live notify`s?
Würd die befehle gerne per setup machen und nicht fest im code den channel festlegen
Hey, das kommt auf den setup befehl an. meinst du so ein interaktives setup, wo der user nacheinander bestimmte werte eingibt?
wo man zb den channel selbst festlegen kann und selbst streamer einfügen kann die man sehen möchte.
oder der fürs ticket system selbst einen channel und eine kategorie erstellt
hast du evtl Embed.discord statt discord.Embed geschrieben?
Nein
schick mal deinen code
also die channel kann man ja beim slash command direkt eingeben, die ID vom channel kannst du dann zB in einer Datenbank speichern. jedes mal, wenn ein user ein neues ticket erstellt, kannst du dann die kategorie mit der abgespeicherten ID laden
das liegt leider aktuell bei meinem stand über meinem horizont, muss ich ja ehrlich mal sagen 😄
ja das mit der db braucht übung, aber sobald du es geschafft hast, dass du die IDs der channels speichern und wieder laden kannst, kannst du über die ID ganz einfach das channel objekt bekommen und dort nachrichten senden oder tickets erstellen
beim ticket system vom keks bot wird zum beispiel nur die ID der ticket kategorie gespeichert, für #🎫・tickets habe ich einfach einen command gemacht, mit dem man die button-nachricht direkt in einen channel senden kann, ohne dass man etwas abspeichern muss
wie nennst du so in deine fall die table?
hätte da eine frage warum ich nicht abchecken kann ob der ctx.author.id == owner_id ist.
if ctx.author.id == os.getenv('owner_id'):
print('owner checked')
await ctx.send_modal(modal)
elif CheckPremium[0] == 1:
print(CheckPremium[0])
await ctx.send_modal(modal)
else:
await ctx.respond(f"**Member:** **{ctx.author.name}** hat keine ***berechtigung*** für den Command um es ausführen{ctx.author.name} du kannst auch deine Premium berechtigung bekommen, indem du auf dem Button: 'Get Premium' drückst. danach wirst du auf meinem server weiter geleitet.", view=view, ephemeral= True)
ich hab es mit os.getenv('owner_id') gemacht
in .env ist das hier owner_id=650456829712793655
Warum gibt der bot immer diese fehler?
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 options.1: Required options must be placed before non-required options
irgenwie wird bei mir keine slash befehle angezeigt
kann mir da jemand helfen?
File "C:\Users\merto\PycharmProjects\pythonProject\main.py", line 1, in <module>
import discord
ModuleNotFoundError: No module named 'discord'```
weiss einer warum er discord nicht erkennt?
Nicht installiert?
benutzt du PyCharm?
ja
schau Mal bei schritt 3 in #🔍・pycord-help
wahrscheinlich hast du's für eine andere Version installiert
xD
hm komisch
ah das hab ich auch gehabt
das problem tritt normalerweise auf wenn man zB disocord.py noch installiert hat
habe ich nicht
Nie mehr wieder stetzt ich mein pc zurück

du könntest auch in ordner gehen wo alle pip install gespeichert wird
und dort alles löschen
installier pycord nochmal neu
Darf ich mal dein nasen loch ablecken
Hat funktioniert
Danki
sehr gut
Darf ich auch? 🤤
Aso wo denn
hey, das kannst du schon hier machen
Hey wie macht man das mit Button und der Embed/Naricht ändert sich?
Ohne es gelöscht zu werden und bearbeitet?
Mit buttons
wenn man mit button macht kommt neue embed oder naricht
und es ist ein und die selbe naricht
zb mit interaction.response.edit_message()
oh interessant wenn man es als embed editet wird nicht bearbeitet stehen
doch, wenn du eine nachricht bearbeitest steht immer da, dass die nachricht bearbeitet wurde
@solid ingot so hab ich es hier verstanden
klammern vergessen?
wo? finde es nicht

ah, das sollte await channel.send(embed=embed) heißen
sonst weiß discord nicht, dass das ein embed objekt ist und versucht das als text zu senden
oh
danke
immernoch 
Ja du hast auch die embed variable lost eingerückt
Muss eins nach rechts
Sry links
Und dan zwischen die = Leerzeichen
@fickle creek
Erster
sehr gut röstiger jimmy


Ty
Recht links Schwäche?
Ja iwi schon aber erst seit kurzem 
was ist das den für eine error?
PS C:\Users\Manuel Berchtold\OneDrive - Kantonale Schule für Berufsbildung\Dokumente\Python\ShrioLaplaceBot\ShiroSystem> & "C:/Users/Manuel Berchtold/AppData/Local/Programs/Python/Python310/python.exe" "c:/Users/Manuel Berchtold/OneDrive - Kantonale Schule für Berufsbildung/Dokumente/Python/ShrioLaplaceBot/ShiroSystem/ShiroMain.py"
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 options.1: Required options must be placed before non-required options
wenn du options hast, die einen Default wert haben, müssen alle anderen Options davor kommen
also wenn ich im import option hab muss ich die nutzen?
und was muss ich da machen?
Ich denke Timo meint das so, dass wenn du im Command Options hast die einen Default wert haben das du alle anderen Options ohne default wert davor schreiben musst
Hab ich gemerkt
Idk aber bei Option search von mir geht
Und team_search nicht
😅
Naja wenn das oben behoben ist kann ich dementsprechend weiter machen
was ist das den für ein fehler?
Es schickt keine Fehler raus was ist da los?
es sollte diese abschnitt schicken```py
if [search_unit, search_team] == None:
select = SevenDSGCDropdownsSelect()
for append_option in append_option_var_list:
select.append_option(append_option)
view = discord.ui.View(timeout=None)
view.add_item(select)
await ctx.respond('Wähle eine 7DSGC Funktionen in Dropdowns Menü', view=view, ephemeral=True)
line 371
author = ctx.message.author
^
IndentationError: unindent does not match any outer indentation level
wie kann ich denn fehler beheben
Hey wie kann ich in SQlite abchecken ob mehrere Sachen gleich sind und danach auflisten was es gibt
zB in Table: Name
Tibue
ChangChi ect
du kannst verschiedene bedingungen mit AND verbinden
Okay wurde nicht aufgeklärt
Gute Frage andere Seits hab ich bischen mit Verifizierung befasst
nein, das stimmt nicht, ´keine sorge :)
Um verifiziert zu werden müssen deine bot mindestens 75 Server drauf sein die du nicht drinn bist
abend, wie bekomme ich das hin das die namen untereinander geschrieben werden?
embed.add_field(name="__Spieler__", value=f"{', '.join(serverquery.players.names)} ")
wollte mit \n machen aber im string hinterm komma geht es nicht...
hm, bin mir nicht sicher, also ich hätte es eigentlich auch mit "\n".join probiert
LÖSUNG
separator = '\n'
embed.add_field(name="__Spieler__", value=separator.join(serverquery.players.names))
kann mir jemand helfen was ich da falsch gemacht hab?
Main.py
bot = bridge.Bot(
command_prefix=prefix,
status=status,
activity=activity,
case_insensitive=True,
owner_ids=set(os.getenv('owner_ids')),
debug_guild=os.getenv('debug_guild'),)
den code
@commands.is_owner()
@slash_command(
name='sql',
description = 'Konfiguriere ShiroSQLite database',
)
@option(
name='mysql',
description='Eingabe was du suchen willst wie zb Meliodas',
default=None
)
@option(
name='sqlite',
description='Eingabe was du suchen willst wie zb Meliodas',
default=None
)
async def sql(self, ctx, mysql, sqlite):
in .env datei
# Settings ID
owner_id=650456829712793655
owner_ids= [650456829712793655]
debug_guild=[1021771684589604904]
premium_serverID=[765970401083129886, 1014599831282528296, 1021771684589604904]
Was ist der Fehler?
fehler
File "C:\Users\Manuel Berchtold\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ext\commands\core.py", line 2269, in predicate
raise NotOwner("You do not own this bot.")
discord.ext.commands.errors.NotOwner: You do not own this bot.
wtf :3
650456829712793655 das ist mein id
Kp frag @solid ingot
ich fühl mich da dumm tibue hat gesagt man kann in check einfach rein tun und das wars quasi
im video
naja dann pech für mich
hab es herausgefunden liegt an bridge
muss alles neu umstellen leider
hey hätte da eine frage kann man dropdown menü editen?
hey, das zeige ich im Video zu dropdowns
Meinte das die gleiche select drop-down bleibt und alles andere verschwindet.
Danach eine neue Option erscheint,
So wie eine embed Page
Wie ich es mir vorstelle:
Mein Text
"Hier die drop-down Menü"
Wo Drop-down Menü ist, wird es verschwinden und eine neue kommt
Mein Text bleibt
ich hätte hier die frage
wie kann ich zb wenn option MySQL gewählt wird die option SQLite Deaktivieren und nicht anzeigen lassen?
@solid ingot
muss meine frage besser machen
also alles was danach geschrieben sollte genau sein
naja, schau dir nochmal genau das video an. um optionen dynamisch hinzuzufügen, brauchst du keine view klasse, sondern eine select klasse
ich hab das video 2 mal angeschaut und weiss immer noch nicht wie man option entfernen kann
naja, entfernen nicht direkt, aber du kannst sie entfernen, indem du sie nicht hinzufügst
joa wie du im meine code schon sehen kannst
sind 2 discord.SelectOption ein muss und daher kann ich sie nicht so einfach entfernen
@solid ingot
hättest du abend zeit so ab 20:00
Bestimmt hat er aber bitte nd immer pingen ^^
okay sryy
von wo willst du es wissen das er zeit hat?
naja schluss endlich ist mir egal ob es tibue ist oder nicht Hauptsache , ich weiß das jemand mir in Coding Support hilft.
vllt kann mir ja jmd weiter helfen , ich will beim slash command das der user sich einen store aussuchen kann , an diesem store soll aber eine id hinterlegt werden damit ich später mit diesem wert weiter arbeiten kann, kann man bei choices noch eine value hinterlegen oder kann man dies auch anders lösen ?
hier mal ein screen vllt wisst ihr ja wie ich es meine
hey, also versteckte infos kannst du bei choices nicht einbauen. um viele if-bedingungen zu vermeiden, könntest du zum beispiel ein dictionary verwenden
so zum beispiel
store_list = {
"hamburg": "StoreID555",
"berlin": "StoreID666",
}
@iron apex dann könntest du bei choices auch store_list.keys() hinschreiben zum beispiel
jo vielen dank ich versuchs mal 🙂
Wait er will eine Auswahl haben?
Du könntest auch @Option macheb
Hier siehst du eine kleine Beispiel mit @option@iron apex
weiß jemand zufällig warum bei meinem Bot nicht das {/} zeichen angezeigt wird.
Nur bei meinem Main Bot.
Mein Minecraft server bot zeigt das an ^^
kannst du einen screenshot schicken, ich weiß nicht genau was du meinst?

