#Allgemeine Hilfe
1 messages · Page 17 of 1
SQL TUTORIALREIHE
Wie kann ich z.B. rausfinden, wie viele xp zum nächsten Lvl fehlen
Easy-Pil
Wie kann ich ne progress bar machen, in der dann der Fortschritt steht?
das letze brauchst kein tuto
hm?
dazu gibt's ein example von easy_pil in den docs
Hab ich nich gesehen sorry
Bruh bin ich dumm
hab ich grad die selbe frage wie TWEVIS gestellt?
frag ich mich auch
wie gesagt muss du es ausrechnen lassen
dazu gibt's verschiedenster Möglichkeiten
Def Methode, staticmethod usw.
gebe kein Code muss man selber schaffen
ja cool
ja
was muss man eintragen wenn man ein member eine rolle geben will wenn er joint verstehe es nicht so gan
role = member.guild.get_role(12345)
await member.add_roles(role)
aber irgenwie will das nicht AttributeError: 'Guild' object has no attribute 'add_role'
danke timo

ist die reinfolge eig wichtig?
on_message_delete hat kein member parameter
die reihenfolge wäre aber wichtig, falls es einen geben würde
nein ich meine ob es eine rein folge gib die man einhalten sollte
das meine nicht richtig kann ich mir gut denken
du meinst die reihenfolge der parameter, oder? die musst du immer genau in der reihenfolge hinschreiben, wie sie in der dokumentation stehen
die werden nämlich auch in dieser reihenfolge an dein event übergeben
wie kann ich heraus finden aus welchen channel die nachricht kam?
msg.channel
ich wollt aber auch sowas cooles wie timo habe
einf in console printen oder per email senden lassen 😄
ja per email ist gut
kann man den auch linken like so #📹・neue-videos
oder über whatsapp 🙂
klar
msg.channel.mention
whatsapp? wie soll das gehen
pycord nh?
yo
ja das ist der fehler :F
hää?
autocomplete?
puhh
D:\Louis\Projects\Projekte\Titel\app.py:64: RuntimeWarning: coroutine 'BotBase.close' was never awaited
client.close()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
👍
D:\Louis\Projects\Projekte\Titel\app.py:64: RuntimeWarning: coroutine 'BotBase.close' was never awaited
🤔
was versuchst du
In einer Funktion den Bot zu stoppen
def stop_bot():
client.close()
wozu solltest du das brauchen
du kannst client.close eig überall usen hö
aso du willst des in der console xDDDD
wozu das es gibt doch strg+c dazu
@fluid leaf geb mal kill ein in deinem terminal wenn eine datei läuft 😄
ja doch in vsc
nd in tabby
zeig mal deine shortcuts
unten aufs zanhrad
dann weiter oben
keyboard shortcuts
Weiß jemand wie ich einen Musik Bot programmieren kann bzw was ich genau dafür benötige?
Yay, hab endlich das Levelsystem gemacht, weiß wer wie kompliziert das ist, z.B. am wochenende mehr Xp zu vergeben?
Du fragst den Tag ab und wenns ein Wochenende ist, multipliziert du die XP
Hatte tibue dazu nicht nen Video?
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github
► https://github.com/tibue99/tutorial-bot
Command Checks für Variante 2
► https://gist.github.com/Painezor/eb2519022cd2c907b56624105f94b190
Tutorial Playlist
► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Discord Developer Portal
► https://discord.com...
?
Das ist simples if und else xd
Kannst du mir das kurz erklären, wie ich auf die Zeit, also in dem Fall das Wochenende zugreif?
laut chatgpt mit datetime.weekday()
Habs glaub raus
eine mp4 kann nicht in ein embed?
Hey, warum reagiert der Bot nicht auf die Nachricht?
@slash_command(name="reaction_add", description='Reagiere mit einem bestimmten Emoji auf eine Nachricht.')
@commands.cooldown(1, 3, commands.BucketType.user)
async def chatping(self, ctx, msg_id: Option(str, description="Gib eine Message-ID an, auf die reagiert werden soll.", required=True), emoji: Option(str, description="Gib ein Emoji an, mit welchem reagiert werden soll.", required=True)):
msg = self.bot.get_message(msg_id)
await ctx.respond('Ich habe mit dem Emoji reagiert!')
await msg.add_reaction(emoji)
kommt ein error?
ne, der bot schickt halt nur "Ich habe mit dem Emoji reagiert!"
alle rechte hat er auch
Models are classes that are received from Discord and are not meant to be created by the user of the library. Attributes key, url. Methods def is_animated, async read, def replace, async save, def ...
Und du musst über den channel getten nicht den Bot
also so?
channel = bot.get_channel(CHANNELID)
@slash_command(name="reaction_add", description='Reagiere mit einem bestimmten Emoji auf eine Nachricht.')
@commands.cooldown(1, 3, commands.BucketType.user)
async def chatping(self, ctx, msg_id: Option(str, description="Gib eine Message-ID an, auf die reagiert werden soll.", required=True), emoji: Option(str, description="Gib ein Emoji an, mit welchem reagiert werden soll.", required=True), channel_id: Option(str, description="Gib eine Kanal-ID an. In diesem Kanal wird dann auf deine Nachricht reagiert.", required=True)):
# msg = self.bot.get_partial_message(msg_id)
channel = self.bot.get_channel(channel_id)
msg = channel.get_partial_message(msg_id)
await ctx.respond('Ich habe mit dem Emoji reagiert!')
await msg.add_reaction(emoji)
Jetzt sendet der Bot wieder nichts
auch keine Nachricht?
hhm
immer gerne
Wie kann ich des fixen?
Es steht im error.
Wie gesagt zum 100x Mals nur ein Error hilft uns Helfer gar nichts.
Du solltet nächstes Mal in diesen Format schicken:
Error:
...```
Code wo der Error getriggert wird:
```py
...
@solid ingot Pin Mal an
es nervt mich wenn jedes Mal nur Errors geschickt wird weil man kann nicht Mal helfen wenn man den Code net hat
huh ig es liegt daran aber keine Ahnung was ich da machen soll.
Hab den Code ja von dir xD
Ja sry
Will nicht deinen emojiquiz Code leaken
hast du die Erforderlichen Kategorien sowie dateien?
und hast am Code was geändert (bezieht sich nicht auf die Texte und Design)
@quiet socket lösche Mal die die Dateien
Hab
weiß ja auch nicht von welche command der Error getriggert wird
sollte alles einwandfrei gehen
und sag mir welche command den Error verursacht
Da kommt nichts
kein Error handler drin?
wenn ja tu im Else print(error) rein
dann entferne den Pass und ersetzt es zu print(error)
Sry musste lernen mache ich gleich
Ist doch schon so?
das entfernst du jz
machst daraus raise error statt print
und dann schick mir den neuen error
Jetzt ist das Problem bei /Quiz Vorschlag
Channel ist none
Das heißt?
@wise stone
Falls du gerade arbeitest musst du nicht direkt antworten
Hab die ID mit einer anderen ersetzt jetzt funktioniert alles
Danke :D
siehste
none heißt es findet es einfach nicht
googlen und findest die Antwort sofort
Ich schaffe es net zu bestimmen welcher User es ist heißt, ein member ist gejoint und er ist .. User im Server, ich habe es mit {len(users)} versucht geht net
github hilft dagegen
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github
► https://github.com/tibue99/tutorial-bot
Tutorial Playlist
► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Discord Developer Portal
► https://discord.com/developers/applications
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/i...
naja wenn man mit github arbeitet, kann man seine codes auch nicht verlieren
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Links aus dem Video
GitHub ► https://github.com/
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://dis...
Mag ich nicht so xD
Junge wieder der gleiche Error nur das ich keine Ahnung hab wie ich das fixen kann.
Hab alles richtig gemacht sogar die .json Dateien paar Mal gelöscht und neu machen lassen
@wise stone
dann mach überall das with Open rein
fertig
das muss man können ist ja nur das obere reinkopieren
Ist doch schon drinne xD
Ja gerade fühl ich mich dumm xD
nimmst den Teil wo die json geöffnet wird und fügst es am Anfang des commands ein
Also try with...
Und dass am Anfang der Slashcommand Gruppe?
nein?
macht das lieber am pc
nicht am handy
Ich mache das morgen kein Bock mehr mich heute mit Code Sachen zu beschäftigen
@urban glen Sorry, STRG + ALT + S
Wir bleiben jetzt in deinem neu erstellem Post 
Wie mache ich das cmds nur auf Servern geht also nd per dm
@discord.guild_only()
Danke Papa
gerne mein sohn
Ne ich bin dein Cog 
ups
Bist aber glaube zu klein 🤔
Ist eig automatisch so 😂
Kann mir vielleicht wer beim am besten kostenlosen Hosting helfen? Mein Bot startet da irgendwie nicht
nicht
@commands.guild.only()?
das in den () drin brauchst du nicht
und wird der cog überhaupt geladen?
ja
idk was dann Problem ist hast du überhaupt ein prefix ?
hm
häää!??
wofür
brauchst du gar nicht.....
Twevis ... xD
Doch
Ohh Lucky du bist Ja auch hier

Ja hab gesagt das du deutscher bist 🫣
💀
Bin stolzer kurde
Ist da irgendein weg sein bot zu hosten ohne das mein pc an ist?
Jo
Welcher
Nö
Discloud
Ey du seifenblase
Oki
Als Kurde würdest du nicht so deutsch schreiben 😂
Haben wir ein problem Mrs. Lucky
Ist das sicher?
Wie kann man einen Integer die Tausenderstellen, Millionenstellen, .. besser darstellen? Sodass man anstelle „5393“ eine „5.393“ angezeigt bekommt?
Bitte bei Antwort Pingen 🙂
Endelon
Da hab ichs probiert, startet nich
Du kannst da zb eine funktion schreiben die nach jedem dritten zeichen ein Punkt setzt
Du brauchst eine requierments.txt
Hättest du eine Funktion? 😅
def aenoxic_formatter(num):
num = str(num)
return aenoxic_formatter(num[:-3]) + "," + num[-3:] if len(num) >= 3 else num```
Teste ich nachher aus. 

Ne
Beides geht
bin jetzt am pc
@wise stone soll ich das über jedem cmd machen? py try: with open('Data/Json/EmojiQuizChannels.json', 'r', encoding='utf-8') as f: channels = json.load(f) except FileNotFoundError: with open('Data/Json/EmojiQuizChannels.json', 'w', encoding='utf-8') as f: f.write("{}")
Zeile 3-4 nur
^^
?
junge denk Mal nach
was meinst
aso
2-4
@quiet socket mach ein Post auf wird unübersichtlich
Hö davor ging es
code?
Da ist doch nicht mal nen command drin
ach gott
bin ich blind
ne ich
ok
Schick mal wo du die cogs lädst
wat
so sieht es aus bevor ich den cmd ausführe
was meinst
autsch
brauchst du ein flaster

oh
ich glaube ich sehe es
am anfang
liegt der problem?
Von hier
bis hier
muss alles in eine eigene datei
und die muss in einen eigenen Ordner der "cogs" heißt
und das muss in die main
for filename in os.listdir('./cogs'):
if filename.endswith('.py'):
bot.load_extension(f'cogs.{filename[:-3]}')
file oder directory
directory die "cogs" heißt, file die irgendwie heißt aber mit .py endet
die sollst du auch erstellen ;-;
;-;
also den ganzen ticket script in die datei
ja
vom main.py löschen?
ja
und das in main.py
da bei os. war ein error
darum hab ich import os gemacht
ist das richtig?
ja
ne lösch das wieder raus
also den error da lassen?
schreib statt debug print
gern
wie bring ich den custom command dazu random sachen zu schreiben wie hallo dan sagt der bot z.b hi oder hello oder bye py @client.command() @commands.has_permissions(administrator=True) async def hello(ctx): await ctx.send("Hi there!")
also die sachen die im script sind
^^Pingt mich wenn ihr eine idee oder antwort habt^^
@proud lintel
@rose epoch ist dad richtig? ```py
responses = [
"Hi there!",
"Hello!",
"Greetings!",
"Hey!",
"What's up?"
]
@client.command()
async def hello(ctx):
response = random.choice(responses)
await ctx.send(response)```
..

du hast sogar die gleiche bio 

jetzt fehlt nur noch das du auf visual studio code bist
besser
jo
HAHA
@mental hamlet kannst du mal nach checken ob das richtig ist
also wenn du dich damit auskennst was du kannst
try it and see
probier es aus, das ist immer schneller als alles andere
teste doch was du codest wieso sollen es andere für dich machen
erstell nen post
hab
ich schaff es nicht das bild in embed rein tun können. video wurde angeschaut: https://www.youtube.com/watch?v=iLv_iwFq2Zo
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Links aus diesem Video
► https://media.tenor.com/epNMHGvRyHcAAAAd/gigachad-chad.gif
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot
PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
D...
was hab ich falsch gemacht?
kann mir da nimmand helfen?
ich aknn mein bot ned inviten
kann*
Ja hast wohl eingestellt das du nh redirect uri angeben musst
.
Hast du da irgendwas?
hatte das eine ding an habs aus gemacht geht wieder danke 👍
Das wäre das zweite
Mehr Code?
wieso sind da 2 cog class drin?
wie kann ich in einer bestimmten kathegorie die Kanalthemen aller channel überprüfen?
Würde gern das der bot die themen auf eine Client.id überprüft und dementsprechend einen channel erstellt oder nicht.
Finde dazu irgendwie nicht das richtige
also die channls in einer kategorie kannst du mit category.channels durchgehen. dann müsstest du nur noch bei jedem channel auf den namen zugreifen
for channel in category.channels:
print(channel.name)
jawoll habs tatsächlich hinbekommen 😄 danke für die hilfestellung




@commands.Cog.listener()
async def on_ready(self):
print(Fore.GREEN + "The File " + Fore.MAGENTA + "'admincommands'" + Fore.GREEN + " started succesfully!" + Fore.RESET)
async with aiosqlite.connect(self.DB) as db:
await db.execute(
"""
CREATE TABLE IF NOT EXISTS adminactions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
admin_id INTEGER DEFAULT 0,
id_kick INTEGER DEFAULT 0,
reason TEXT DEFAULT 0,
)""")
await db.commit()```
Wie nutzt mein Bot servereigene Emotes in seinen Nachrichten?
if ROLE in member.roles
Wie lasse ich die Nachricht von View Klasse editieren?
wenn es sich um ein Embed handelt
nvm hab es schon
\emoji
ok
? Wie genau

und maybe noch das a ganz vorne wenn es animiert ist
nö

hmm erst denken 🙂
:givecookie:
wird aber automatisch gemacht von disxord
nö 🙂
also muss du nicht denken xd
Kann ich ja mal nen paar emotes machen um meinen bot aufzupeppen
peppen 
@urban glen Hey,
bei mir kommt immer dieser Error wenn ich einem Giveaway beitreten möchte.
hast du auch ein ordner namens 'giveaway_user.txt'
der auserhalb jedes ordners ist?
Ja ist außerhalb
Sollte ich denn rein machen?
ne
der ordner soll auserhalb jedes ordners sein
also auf der ich sage mal höhe wie die main.py
ah warte
ich hatte einen fehler im code
so muss das bei linie 152 sein
Hab einen Ordner des Names "giveaway_users.txt" kommt aber immernoch der gleiche Error
code?
wenn du die klasse "Rollen" aufrufst, musst du einen bot und einen user übergeben. du übergibst aber nur einen bot
und sende den code am besten als python codeblock nächstes mal
@urban glen du hast im command nur view=Rollen geschrieben
aber es fehlt die () und der inhalt
also der Parameter sowie bot und user
bzw. muss du nicht User übergeben
weil du den per interaction holst
ich würde gern meinen bot so einrichten das er individuell auf jedem server genutzt werden kann.
Sprich ein Ticket system, das jeder server owner selbst die Kathegorie id bestimmen kann etc.
Wie kann ich da am besten vorgehen oder wonach müsste ich da schauen?
manchmal harperts dran das man nicht weiß wonach man suchen muss ^^
also als erstes müsstest du deine datenbank so einrichten, dass alle sachen für mehrere server gespeichert werden können.
als primary key müsstest du dann zusätzlich zur kategorie ID noch die server ID nehmen.
wenn dann ein neues ticket erstellt wird, kannst du die kategorie mit der guild ID laden
wäre das praktisch ein CREATE TABLE im on ready event zu machen?
ja das mache ich immer so
hast du das in der main datei oder in einem cog ?
ich hab eine extra datenbank datei, die von der main datei aus aufgerufen wird, aber das geht beides
okai soweit so gut.
Und wie könnte ich die commands damit verbinden?`
Müsste dann quasi ein command machen nur um eine Kategorie id zu speichern oder?
Und denn müsste ich das ja nur auslesen lassen beim "erstellen eines tickets"
hoffe ich drücke mich ordentlich aus xd
ja genau, du kannst dann zb ein /setup command machen, mit dem das system eingerichtet wird. dabei wird dann die server ID und die kategorie ID in die datenbank geschrieben
okai ich versuch mich mal ran, danke
Könnte man so lassen oder ?
Oder hat jemand verbesserungs vorschläge ?
@commands.Cog.listener()
async def on_ready(self):
async with aiosqlite.connect(self.DB) as db:
await db.execute(
"""
CREATE TABLE IF NOT EXISTS servers (id INTEGER PRIMARY KEY, server_id TEXT, name TEXT)
"""
)
for guild in self.bot.guilds:
async with db.execute("SELECT id FROM servers WHERE server_id=?", (str(guild.id),)) as cursor:
result = await cursor.fetchone()
if result:
print(f"Der Server {guild.name} ist bereits in der Datenbank")
else:
async with db.execute("INSERT INTO servers (server_id, name) VALUES (?, ?)", (str(guild.id), guild.name)):
await db.commit()
print(f"Der Server {guild.name} wurde der Datenbank hinzugefügt")
Wieso machst du das ganze im on_ready event und nicht im on_guild_join und on_guild_remove ?
Soweit ich das richtig im Kopf habe, sagt man "Mache niemals etwas im on_ready Event"
es gibt keinen fehler aber auch keine ausgabe oder eingabe code kommt gleich
async def add_key(self, keys, server_ip, user_id, product, created_from, created_at):
self.cursor.execute("INSERT INTO `syskeys` (`VC-keys`, `server_ip`, `user_id`, `product`, `created_from`, `created_at`) VALUES (%s, %s, %s, %s, %s, %s)",(keys, server_ip, user_id, product, created_from, created_at))
self.connection.commit()
@slash_command(name="key", description="Get a key")
async def key(self, ctx, user_id:str, server_ip: str, product: str):
keys = f"VC-{random.randint(10000000000000000, 99999999999999999)}"
channel = await self.bot.fetch_channel(1067882207634526359)
server = server_ip
user = user_id
created_from = ctx.author.name
created_at = ctx.created_at.strftime('%d.%m.%Y')
embed = discord.Embed(title="Key Generator", description=f"Key for <@{user}>\nKey = ||{keys}||\n Server IP = ||{server}||\n User ID = ||{user}||\nProduct = ||{product}||\nCreated From = ||{created_from}||\nCreated at = ||{created_at}||", color=00000000 )
await self.add_key(keys, server_ip, user_id, product, created_from, created_at)
await ctx.respond(f"Done!")
await channel.send(embed=embed)
einrückung ist jetzt wegen discord falsch
ich melde mich erst gegen 14 uhr wenn jmd antwortet
Datenbanken man man gut im on_ready Event machen, das hat ja nichts mit der Discord API zu tun
Is auch richtig, weil auch wenn der Bot online is, kann der mehrmals neue connections aufbauen oder so ähnlich, das heißt das das on_ready einfach random irgendwann nochmal getriggert werden kann ohne grund
das stimmt
error???
@urban glen
Hey weiss jemand von euch wie man von paginator die Zahlen Index bekommt?
Ich würde das gerne als variable bekommen
nicht unbedingt
kannst durch dei andere Buttons triggern das die Zahl eins höher geht oder niedriger
les den ganzen Text
du brauchst den Parameter User nicht
wie gesterng gesagt..
hast du den Parameter User aus der class entfernt von der View???
schick code
ich checks nicht
Ich möchte den PageIndex aus Paginator bekommen um damit etwas zu machen wir zB rausprinten
schick mal den code, der davor steht
Muss des ned self.bot.get_channel sein? 
huh, okay.
der embed wird gesendet, aber die reaction kommen nicht
Code.
msg = await channel.send...
await msg.add_reaction()```
du hast noch User drin....
in der class ist User drin @urban glen .
und im cog auch
im cog brauchst du kein User!!!
woher hast du sowas her 🤔
!!!!
Eher 90% so wie ich dich kenne 
versuch es mal so
msg = await channel.send(embed=embed)
await msg.add_reaction(...)
habs danke
#1019974414487535736 message

@urban glen entferne aus der class vom cog den paramter User...
Timo einfach copy and paste gemacht
ups, übersehen
@urban glen irgendwie erkennt das ganze "Views" nicht
hast du auch einen ordner namens 'Views' ?
der auserhalb deines cogs ordners ist?
Wie kann ich machen, dass mein Bot dem Sprachkanal beitritt in dem der author ist
Kann mir da jemand helfen?
1/3 will zB den int 1
member.voice.channel.connect()
Models are classes that are received from Discord and are not meant to be created by the user of the library. Attributes key, url. Methods def is_animated, async read, def replace, async save, def ...
junge
Danke
self.bot.add_view__(Rollen)(self.bot)__
die Klammer muss in der Klammer von rollen sein
ich habs extra rausgeschrieben 
lern Mal bitte richtig die basics statt immer hierher zurennen
This module provides an easy pagination system with buttons, page groups, and custom view support. Example usage in a cog: API Reference: Page: Attributes content, custom_view, embeds, files. Metho...
Wie soll das genau aussehen?
Weiss nur das eine current_page variable gibt idk wie ich das anwenden kann
Oder ist es einfach Paginator.current_page?
code?
Ja
Ne du sollst den Code schicken xd
Ahhh
Fast 1:1 wie vom Tibue Page embed guide

Und von dort aus möchte ich den Index bekommen quasi
Ja
*bei dem wo gibt es in dem Satzbau nd 🤓
mit /extend
# aboutembed.add_field(name="Erstellt von", value=str(self.bot.owner))
Wie finde ich denn raus, wer der Owner vom Bot ist, ich bin dumm 
🤦🏻♂️
Und wenn ich nicht auf dem Server bin, wird wer gepingt? Gehirn an Twevis
Junge 
Seit wann das
Aha
Weil du mir der Person irgendwo auf einem Server bist. Du siehst eine Person nicht, wenn du nicht mit der Person irgendwo auf dem Server bist. Sagte ich ja 
Und ich will einfach meinen Namen da drinne haben mit # und will das nicht ständig selber ändern wenn ich meinen Namen änder
Gette dich doch einfach , und gebe dann den Namen aus
user = bot.get_user(DEINE_ID)
user.name + "#" + user.discriminator
Mention kannst du den user sowieso nicht, wie du bereits sagtest, wenn du nicht auf dem gleichen server bist, wird nur die ID dann gezeigt
Sprich: kannst eh nur den namen machen und nicht mention
Code:
current_page = Paginator(pages=pages).current_page
print(current_page)
await Paginator(
pages=pages,
loop_pages=True,
custom_view=Views(
timeout=180,
add_view=(
UnitButtonSearch(),
#SevenDSGCSelectUnit_BETA(options=SevenDSGC_SQL_Search_rowIDs(x=row_ids))
),
)
).respond(
ctx.interaction,
ephemeral=visibility
)
ich konnte leider nicht den current_page akualisieren lassen
Wenn der Bot nem Server joined, wo Dominik nicht ist und ein Embed an Dominiks server schickt wo ein user markiert wird den Dominik noch nie "gesehen" hat wird es nur als id angezeigt, aber nicht name
Hier
xD
genau, die callback funktionen müssen unterschiedlich heißen
Kann mir bei dieser Fall nimmand helfen?
Wie tritt mein Bot nem voice bei? Kann mir da wer die docs schicken?
.connect() methode
Ja
scheinbar (laut chatgpt)
channel = bot.get_channel(<channel_id>)
await channel.connect()
passt laut dir auch so, oder?
Bedeutet also kann nicht neue Informationen lesen wie zB über ein link
Bei der lösung von gpt:
PyNaCl library needed in order to use voice
Also bei mir kann der auf Web zugreifen :) lmao
Kanns aktivieren und deaktivieren
Wie schwer ist es, eigene Musik (also nix gegen discord tos) über den Bot abzuspielen im vergleich zum Levelsystem beispielsweise
So wie du auch alles andere installierst und importierst ._.
pip install wavelink
import wavelink also?
vermutlich schon, ich nutze aber nicht die pycord-wavelink version
Ich nutze direkt das von wavelink
kleine frage wie kann ich noch mal eine rolle pingen lassen
<@&ID>

<@&1020464591584641044>

Ja
wie kann ich da ein rollen id als default nehmen?
interaction.guild.get_role(ROLEID)
aber mach das lieber mit overwrites als set_permissions
hey leute kann mir jemand dabei helfen immer den aktuelle current page number zu printen/als variable?
den code die ich herausgefunden hab.
current_page = Paginator(pages=pages).current_page
print(current_page)
leider funktioniert das nur 1 mal
schick einmal den ganzen code damit pls
was meinst du mit overwrites
...
Mehr auch nicht
Pages ist wie bei Tibue
Einfach 3 Pages
An abstract base class(also known as an abc) is a class that models can inherit to get their behaviour. Abstract base classes should not be instantiated. They are mainly there for usage with isinst...
probier mal den paginator in eine Variable zu setzen
Hoffen wir mal das pycord das diesmal wenigstens hinbekommen hat was vernünftiges zu returnen
Wie meinst du das?
pages = await Paginator(...)
pages.current_page
Hab ich ja schon
...
ja ne
So erstellst du ja jedes mal ein neues paginator object
das muss ja das selbe sein
Du rufst hier eine class auf, welche ein neues Paginator object erstellst
Ahh und
wenn du jetzt current_page aufrufst, dann wird ein neuer paginator erstellt und da ist die seite natürlich immer die startseite
Wenn ich current Page Aufrufe bekomme ich ja nur den Print oder nicht?
Ahhhhhhhjjjj

Hat klick gemacht
aber wenn du das so machst, dann erstellst du keine neue
Verstanden
Also kann ich dann immer noch respond machen

Werd ich Morgen ausbrobieren
wie meinst du?
Wat? xd
Naja es sollte ja auch normal page embed schicken
Aber ty jetzt weiss ich weiter
geht leider immer noch nicht
dann muss ich mir wohl mein eigene page embed machen
hey, hat jemand eine Idee warum wenn ich meinen bot starte über die Tabby oder cmd Konsole der kurz die Python eigene Konsole öffnet und direkt wieder schließt ohne dass meine Konsolen ausgaben gezeigt werden?
klappt es wenn du es über pycharm oder vsc ausführst?
in vsc ja
printest du was in die console in deinem code?
console falsch konfiguriert?
sie ging ja gestern abend noch ich hab nichts verändert ausser den umgebungs variablen pfad korrigiert damit pip funktioniert aber daran kan nes doch nicht liegen oder ?
und in vsc funktioniert ja alles
tabby hab ich schon komplett gelöscht mit allen ordnern etc aber ich habe das gefühl das ein kleiner rest bleibt. aber in cmd wüsste ich gar nicht zu fixen
update: jetzt bleibt die konsole länger offen aber ist eben die falsche und nicht die cmd konsole sondern die python eigene
das ist normal
hat der vorher nicht gemacht
kannst du irgednwo einstellen
was der jetzt auch macht ist das "Dashboard" immer neu einstellen statt zu aktualisiren
? das ist doch normal bei Python lol
mit rich kannst du eigentlich ein live update amchen das der sofort innerhalb deiner ausgabe editiert aber das macht er hier nicht
ja, die sqlite datei kannst du einfach downloaden und woanders hochladen
Kann die Modal/Button/Select Menü klasse über die normale sein?
über der cog klasse?
kann man denn irgendwie die python shell deaktivieren und es über cmd oder tabby laufen lassen?
über der cog klasse ja
google it 
ne accualy gibt es da was in dein einstellungen
welche einstellungen? also wo muss ich mal suchen
danke
selten so gelacht...
Ganz kurz, heißt das Event wenn wer den Server verlässt on_member_leave?
||ja ich weiß ich hätte googlen können||
on_member_remove
on_member_remove(member: discord.Member)
: discord.Member muss doch garnicht, oder?
Wenn du autovervollständigung für member willst, dann schon
Also wenn du member machst, dass dann sowas wie „name“ oder „discriminator“ und mehr vorgeschlagen wird
Ok
Wie kann ich mit py-cord wavelink eigene Audiodateien abspielen
oder allgemein in nem Vc musik spielen
Der avartar will nicht -_-
die user daten werden von der sql datenbank abgerufen
hast du lösung : @solid ingot
@commands.command()
async def stats(self, ctx):
background = Editor(r"D:\Discord\Discord Pyhton\Meine Bots\Review_Offenlich\Review\Bilder\Userkarte.png").resize((1548,905))
avatar = await load_image_async(ctx.author.display_avatar.url)
circle_avatar = Editor(avatar).resize((180, 180)).circle_image()
background.paste(circle_avatar, (174, 75))
big_text = Font.poppins(size=30, variant="bold")
small_text = Font.poppins(size=30, variant="regular")
# B L
background.text((250, 314), f"{ctx.author}", color="white", font=big_text, align="center")
background.text((450, 450), "Counters", color="#00ced1", font=small_text, align="center")
background.text((200, 500), "Message:", color="#00ced1", font=small_text, align="center")
background.text(position=(400, 500), text=f"{user_data[0]}", color="#00ced1", font=small_text, align="center")
background.text((200, 550), "Edit Message:", color="#00ced1", font=small_text, align="center")
background.text((400, 550), f"{user_data[1]}", color="#00ced1", font=small_text, align="center")
background.text((200, 600), "Unicode Emoji", color="#00ced1", font=small_text, align="center")
background.text((400, 600), f"{user_data[2]}", color="#00ced1", font=small_text, align="center")
background.text((200, 650), "Custom Emoji", color="#00ced1", font=small_text, align="center")
background.text((400, 650), f"{user_data[3]}", color="#00ced1", font=small_text, align="center")
background.text((200, 700), "Animated Emoji", color="#00ced1", font=small_text, align="center")
background.text((400, 700), f"{user_data[4]}", color="#00ced1", font=small_text, align="center")
background.text((200, 750), "Reaction", color="#00ced1", font=small_text, align="center")
background.text((400, 750), f"{user_data[5]} ", color="#00ced1", font=small_text, align="center")
file = discord.File(fp=background.image_bytes, filename='stats.png')
return await ctx.send(file=file)
FEHLER
Ignoring exception in command stats:
Traceback (most recent call last):
File "C:\Users\Benja\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\ext\comm
ands\core.py", line 178, in wrapped
ret = await coro(*args, **kwargs)
File "d:\Discord\Discord Pyhton\Meine Bots\Review_Offenlich\Review\cogs\tracker.py", line 135, in stats
background.text(position=(400, 500), text=f"{user_data[0]}", color="#00ced1", font=small_text, align="center")
NameError: name 'user_data' is not defined
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Benja\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\ext\comm
ands\bot.py", line 347, in invoke
await ctx.command.invoke(ctx)
File "C:\Users\Benja\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\ext\comm
ands\core.py", line 950, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "C:\Users\Benja\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\ext\comm
ands\core.py", line 187, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: NameError: name 'user_data' is not defined
steht doch da?
user_data wird im Code nirgendswo definiert
🤔 aber wenn ich die userdata raus tue funtioniert es
sieht es
du hast ja user_data nicht in dem Code definiert
Wie greif ich auf das zu, was selected wird?
Also wenn Py-Cord ausgewählt wird mit ner if-Bedingung ne Nachricht gesendet wird
komm mal voice ich werde das dir mal zeigen ^^
du willst wissen welcher select geklickt wurde?
Welches label/value gewählt wurde
ja das machst du dann mit
if "hier kommt der value" in interaction.data["values"]:
ähm bissl ungünstig kann aber abends
ok
Ging das nicht einfacher? Kann auch sein, dass das damals wegen discord.py statt py-cord einfacher war
ne
beim Button ist es einfacher
Hatte damals auch nur eine Option, also ohne multi-select
da kannst du es mirlt der custom id machen beim select wiederrum nicht
ja dann nur normal
wenn's mehrere Option musst du es so machen
und wie mach ichs normal
so wie beim Button xd
Bitte sags mir, ich hab kein Bock meinen code nach buttons zu durchsstöbern
wie bei nem command
ganz normal ab senden
mit await interaction.response.send_message halt
Du kannst ein Auto complete machen
Brauch aber nen Select
Schick mal dein Code
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
In diesem Video stelle ich euch S...
Mach ich grad, der erklärt nur mit mehreren Möglichkeiten
send dir den privat wait
Gib mir 1 Sekunde
Hää wie willst du es machen.
Das man sich von 3 Möglichkeiten eine aussuchen kann
Ich weiß net ob so geht aber du kannst
"... Halt dein Text {Auswahl}"
class TutorialView(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
@discord.ui.select(
min_values=1,
max_values=2,
placeholder="Triff eine Auswahl",
options=options,
custom_id="keks"
)
async def select_callback(self, select, interaction):
if "Python" in select.values:
labels = [option.label for option in select.options]
if "Keks" not in labels:
select.append_option(keks)
else:
select.disabled = True
await interaction.response.edit_message(view=self)
else:
s = ""
for auswahl in select.values:
s += f"- {auswahl}\n"
await interaction.response.send_message(f"Du hast folgendes ausgewählt:\n{s}")
```py
Oder sk
interaction.user?
nicht den user, sondern was er gewählt hat
Habe ich auch zuerst gedacht aber er will was er ausgewahlt hat
interaction.data[values]
Schau was ich geschickt habe
Wen ich net doff bin, bestimmst du damit welcher User etwas ausgewählt hat und net was.
Ja, was er gewählt hat
Dachte du hast wen anders angesprochen, ich drück mich mal bissel klarer aus:
Ich möchte, dass wenn der User z.B. "Python" ausgewählt hat, die Python rolle kriegt.
ACHSOOOOO
sag's doch gleich 😂
Wait
erstmal rolle getten und die ganz normal vergeben
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
In diesem Video stelle ich euch S...
glaub wir reden hier alle aneinander vorbei...😢
Ich weiß wie ich die Rolle vergebe, will nur die if bedingung die checkt ob der user 1 oder doch 2 ausgewählt hat
Hä
Das hast du gesagt
daher dich die If abfrage von oben -_-
Hatte das damals anders programmiert und dachte das wär verständlich sry
Glaub ich habs finally raus
if select.value == "Python"?
das war discord-componenrs glaub ich
ahh wait @cloud cedar select.values[0] kriegst du was er geklickt hat xd
sehr lost von mir
danke
hmm 'roleView' object has no attribute 'bot' wo muss ich da bot als attribut hinzufügen
Oder Client
gibt es eine möglichkeit bot "module" ein und auszuschalten also z.B das level system und wenn ja wonach muss ich suchen oder kann mir da was konkreteres nennen?
ja, du kannst einzelne cogs laden und wieder entladen
denke mal cogs.load und cogs.unload oder so in den docs oder?
ist den MUTED auch der rolen name?
ja
was steht denn im roten glühbirnchen
Alles gut hab quotes vergessen ("MUTED")
wenn ich jetzt in einem slash command alle cogs als auswahl sehen will was muss ich dann als Option angeben?
mit bot.cogs kannst du auf alle cogs zugreifen, aus dieser liste müsstest du dann in einem autocomplete die namen der cogs rausholen
ok danke probiere mal rum 😄
bin da wohl wieder zu doof für xD
in dem slash command bekomme ich den Traceback AttributeError: 'COGS' object has no attribute 'cogs'
async def unload(self, ctx, cog: Option(str, "Gib einen Cog an", autocomplete=get_ID,default=None)): der code und das wäre die get_id : async def get_ID(bot, ctx : discord.AutocompleteContext): nun = bot.cogs.name return nun
kann mir da wer helfen? 😄
ganzer code xD
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
async def get_ID(bot, ctx : discord.AutocompleteContext):
nun = bot.cogs.name
return nun
class COGS(commands.Cog):
def __init__(self, bot ):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
print(self.bot.cogs)
@slash_command()
@commands.has_permissions(administrator=True)
async def unload(self, ctx, cog: Option(str, "Gib einen Cog an", autocomplete=get_ID,default=None)):
try:
self.bot.unload_extension(cog)
except Exception as e:
await ctx.send("Could not unload cog")
return
await ctx.send("Cog unloaded")
def setup(bot):
bot.add_cog(COGS(bot))```
ich weiss zwar nicht was das ändert aber nun gut hier isser
und?
dadu gibst keinen parameter bei get_ID an
Wo meinste ich sehe das nicht 🙈
neue get_ID:
async def get_ID(bot, ctx : discord.AutocompleteContext):
nun=[]
for i in bot.cogs:
nun.append(i[0])
return nun``` selber traceback
future: <Task finished name='Task-21' coro=<ApplicationCommandMixin.on_application_command_auto_complete.<locals>.callback() done, defined at C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py:853> exception=AttributeError("'COGS'
object has no attribute 'cogs'")>
Traceback (most recent call last):
File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\bot.py", line 856, in callback
return await command.invoke_autocomplete_callback(ctx)
File "C:\Users\Angel\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\core.py", line 1003, in invoke_autocomplete_callback
result = await result
File "C:\Users\Angel\Desktop\Psychoclown_bot\Cogs\COGS_load.py", line 8, in get_ID
for i in bot.cogs:
AttributeError: 'COGS' object has no attribute 'cogs'````
if abfrage?
du fragst ob es der Channel ist wenn ja geht's es weiter
wenn nicht stoppt es
ja
basics sachen....
if ctx.channel.id == „ID“:
gibt es die möglichkeit lokale bilder zu laden außer mit url='attachment://image1.png'?
kann irgendwie nicht so richtig was dazu finden
du meinst in einem embed?
read docs
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
async def get_ID(ctx : discord.AutocompleteContext):
nun = ctx.bot.cogs
return nun
class COGS(commands.Cog):
def __init__(self, bot ):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
print(self.bot.cogs)
@slash_command()
@commands.has_permissions(administrator=True)
async def unload(self, ctx, cog: Option(str, "Gib einen Cog an", autocomplete=get_ID)):
try:
self.bot.unload_extension(cog)
except Exception as e:
await ctx.send("Could not unload cog")
return
await ctx.send("Cog unloaded")
def setup(bot):
bot.add_cog(COGS(bot))
das problem ist schon gar net mehr das diese hab ich längst gelöst dank timu
aber danke
dann sag das lol
es kam keine antwort deshalb habe ich dazu einen thread in help eröffnet xD
ohne none
if channel == "124355"
asooo
if message.channel.id == "645654646":
aber sowas von
ohne ""
if message.channel.id == 1019974414487535736:
print("Ja du bist in #1019974414487535736")
naja und der main channel hat eine id oder eine var entwerder
#Mit Var
if message.channel.id == main_channel:
return
#Ohne var
if message.channel.id == 12345:
return```
beides falsch
hä ich habe das 1 zu 1 so in meinem code und es geht
klar, bin Grad nur am Handy aber du musst das ungefähr so prüfen:
if message.channel.id != 12345:
return
damit wird bei allen Channels rerurned, außer bei dem mit der ID 12345
das ist aber nicht das, was @urban glen möchte

Na klar wenn main main channel 1234 is
if channel.id == 1234
hier gehts weiter
else:
reutrn
das ist nicht optimal, geht aber auch. den Else Teil hast du aber eben gar nicht geschickt
meintest du nicht es soll returnen falls die id nicht gibt?????
kann ich den Inhalt von file = discord.File(fp=background.image_bytes, filename="level_up.png") an andere cogs weiter geben und dort ausgeben lassen damit ich mir Code Zeilen spare denn egal wie ich es versuche es klappt nicht. danke vorab
ne du kannst keine Bilder in andere cogs übertragen da es nicht in der selbe Datei ist
entweder speicherst du es in ne Cache oder DB ein als url und gibt's die wann wieder aus
okay danke
ja kalr
wie kann ich die Permission für diese rolle per button druck weg nehmen
channel.edit
was muss ich hier ein tragen? ```py
await channel.edit.set_Permission(ctx.guild.get_role(1053729009919336468), view_channel=False)
WIe lasse ich den Bot auf eine bestimmte User ID in einer Reihenfolge die Button Interactions checken?
Wie kann mein Bot Musik im Audiochannel abspieln (mit lokalen mp3 dateien"
Entweder erstellst du dir nen localhost lavalink server und machst es mit wavelink + lavalink.
oder
Du nutzt 🤢 FFmpeg 🤢
Die Docs von wavelink versteh ich nicht ganz, gibts da nen Tutorial
Gibt einige Tutorials dafür
Gibt es nicht zu wavelink | lavalink nen tutorial im pycord guide?
Keine Ahnung, guck ich mal
Ja, aber da sind nur audiorecords
Kannst du mir eins senden?
Hast du auf deinem Pc einen Browser?
Dann hilft dir das: https://www.google.com/
Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're looking for.
letmegooglethat incoming
Hilf bei meinem Problem. xD
wavelink discord bot documentation
Und dann findest du was
bitte?
.
in einer Reihenfolge die Button Interactions checken?
Wie meinst du das?
Bsp: Es gibt ja den TicTacToe Code
Nun, soll bei den Buttons von zwei bestimmten Usern abwechselnd gedrückt werden dürfen
Sorry aber für die offizielle py-cord wavelink doku bin ich zu lost
Ok. Die Entschuldigung Akzeptiere ich.
In den button callback
@urban glen ich versteh daran einfach nicht wie ich das grundgerüst aufbau, bzw. die class erstelle und alles
Wait ich code es dir vor
@commands.command()
async def connect(self, channel: discord.VoiceChannel):
voice_client = await channel.connect(cls=pycord.wavelink.Player)
War zu faul selber zu coden, deshalb habe ich den code beispiel von den Docs genommen
local file hast du vergessen
?
er will ja nh eigene audio datei abspielen
Und wo pack ich die anderen funktionen hin? Einfach unter voice_client ?
Und ja ich würd gern ne eigene abspieln
Hast du meine Nachricht grad gelesen und den code angeschaut?
Der Bot conntected nur und spielt grad nichts ab und das is der code von den docs
*ich hab das beispiel gesehen
Ja habe ich. Schlag mich nicht
@cloud cedar kannst du nicht einmal googlen?
Hier sogar auf deren Github haben die nh beispiel
pls chill ich weiß das ich grad extrem lost bin
Auch wie du song abspielst
Probiers jetzt erstmal
@urban glen btw danke für den Link fürs Musik abspielen, brauche ich um nen Lyrics abzuspielen
?
War zwar dabei die Interactions zu prüfen, aber dann habe ich mir schon im voraus die Arbeit erspart
Welcher Ping
.
Sehe da nichts
Dann sehe ich nächstes mal auch keine Hilfe mehr für dich
könnte mir jemand sagen was ich falsch mache
mach channel weg und mach dann interaction.channel.set_permissions(overwrite=overwrites)
Wie kann man sowas machen in einem drop-down Menü?
max_values = zahl
min_values = zahl
Was ist denn member?
Hey, kann mir jmd helfen ich möchte einen czhannel log machen also jede message die in einem chat ist erfassen und jetzt bin ich dabei wenn eine file da ist sdiese auszulesen
print(msg.attachments)```
ich weiss aber nicht wie ich an die daten komme z.b. die größe den namen etc. in pycord steht .size aber das geht ned hat da jmd ne idee
Warum willst du beim on_ready nen context angeben? °o°
Schick mal code
Als codeblock
guild = bot.get_guild(dieGuildID)
channel = guild.get_channel(1057718158091362416)
So musst du machen
Weil wenn sich dein Bot mit discord connected hat hat es ja keinen context und weiß ja nicht welche guild du meinst ._.
Warum gibst du da ctx ein?
- Falsch eingerückt
@bot.event
async def on_ready():
guild = bot.get_guild(dieGuildID)
channel = guild.get_channel(1057718158091362416)
So schwer?
Dann hast du wohl nh falsche guild id angegeben
wie es aussieht ja nicht ._.
oder die guild ist nicht in der cache vom bot
kann man ein cooldown auch bei einen button machen so wie es auch bei timo sein video gezeigt wurde also mit unter ein slash_command mit py @commands.cooldown(1, 60, commands.BucketType.user)
aber warum willst du dir channel id in der on_ready haben ?
leider nicht, das musst du manuell einbauen
ich habe zwar was aber es wird nur in sekunden angegeben
ne du kannst nur angeben wie lange der Button gültig ist
das weiß ich man kann aber auch ein cooldown drauf machen nur nicht so schön
@storm seal ahhh doch es geht ist bissl umständlich aber ich zeig dir ne beispiel
aber halt nach Neustart ist es resetet
class TestButtin(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
@discord.ui.button(label="...", style=discord.ButtonStyle.gray)
async def button_callback(self, button, interaction):
if cooldown.get(interaction.user.id) == None or cooldown.get(interaction.user.id) < time.time():
cooldown[interaction.user.id] = time.time() + 12000000000 # Sekunden
await interaction.response.send_message(f'...')
else:
await interaction.response.send_message(f'Cooldown.', ephemeral=True)
global cooldown
cooldown = {}
```
einrückung ist falsch kannst es aber selber fixxen bin am Handy deswegen
brauchst übrigens den import time
@solid ingot hierrrr es geht
nur bissl umständlich
was geht
Docs
*Ticket wird nun geschlossen statt num
Danke für den hinweiß
Kein Ding
das Button cooldown gehen xd
hab ja gesagt dass man es manuell machen muss, dann geht es natürlich
😄
Ja zum Beispiel zusätzlich ein thumbnail von lokalen Bildern
Warum steht bei mir im Terminal immer das (venv) vor dem pfad ?
(venv) PS C:\Users\...\...\
das bedeutet, dass du ein "virtual environment" von python hast. damit installierst du die python packages nur für dein aktuelles projekt, und nicht auf deiner globalen python version
ist das gut oder nicht gut :D?
ja das ist gut
okai denn beschwere ich mich nicht 😄
Okai ich habs doch geschafft, nvm war einfacher wie gedacht ^^
ich bekomme nicht hin, den User name zu mention mit dem atribut msg
msg.author
elif new_level >= 5 and < new_level 10:
await message.channel.send("Lol")
ich wollte machen das wen das level von 5 bis 10 ist das er z.B neues Lvl 6 ist eine Msg gesendet wird hier z.B lol
Uii
Du musst < nach new_level machen :>
Wie schwer ist son Item system und kann ich 2 Datenbanken in einer Datei ansprechen, z.B. das ich 20 Coins brauche um nen Buch-Item zu kaufen?
Ne
les Mal noch Mal
öh du könntest mit aiocron oder mit eine tasks.loop die msg senden und die Tags vom Channel raus getten um damit die Forums id zu bekommen aber idk wie das mit den Tags geht
aiocron
weil task.loop buggy wenn restart









