#Allgemeine Hilfe

1 messages · Page 16 of 1

quiet socket
#

ich will easy pil installieren

solid ingot
#

welche python version benutzt du?

quiet socket
#

3.11

solid ingot
#

😱

quiet socket
#

jetzt weiss ich wie ich das fixe

#

ich muss mir 3.10 wieder runterladen

solid ingot
#

du willst seine ID rausfinden, hast aber die ID in der welcome message?

brazen scarab
quiet socket
#
Traceback (most recent call last):
  File "C:\Users\Georgi\PycharmProjects\py-cord projekt eucord ai\main.py", line 7, in <module>
    from discord.commands import Option
  File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\__init__.py", line 26, in <module>
    from .context import *
  File "C:\Users\Georgi\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\commands\context.py", line 29, in <module>
    import discord.abc
ModuleNotFoundError: No module named 'discord.abc'

Process finished with exit code 1
``` hmm hab #🔍・pycord-help gemacht
#
aiohttp==3.8.3
aiosignal==1.3.1
aiosqlite==0.18.0
async-timeout==4.0.2
attrs==22.2.0
certifi==2022.12.7
charset-normalizer==2.1.1
colorama==0.4.6
colorlog==6.7.0
django-commands==0.7
fastenum==1.0.4
frozenlist==1.3.3
idna==3.4
multidict==6.0.4
py-cord==2.3.2
python-dotenv==0.21.0
pytz==2022.7.1
requests==2.28.2
typing_extensions==4.4.0
urllib3==1.26.14
yarl==1.8.2
solid ingot
#

schick mal einen screenshot von Settings -> Project -> Python Interpreter

quiet socket
solid ingot
#

sieht gut aus, versuch mal py-cord neu zu installieren

quiet socket
#

okay

#

immernoch

solid ingot
#

zeig mal deine imports

#

also im code

quiet socket
#

der rest ist standart

solid ingot
#

hm, weiß leider aktuell nicht woran es liegen könnte

quiet socket
#

also von deinem github

wise stone
#

@quiet socket alles neu setupenn

#

war bei mir auch so

quiet socket
#

okay

#

ist eigentlich nur test xd

#

mit easy_pil zum lernen

open dragon
#

@solid ingot was muss ich da hin schreiben damit die member anzahl da steht also im status

brazen scarab
#

{len(guild.members)} peepothink Glaub ich

open dragon
#

danke

indigo sapphire
#

Hey wegen den easy pillow guide hätte ich da eine Frage was wäre wenn ich mit url arbeiten würde?

brazen scarab
#

Bin mir aber nicht sicher LUL

#

true_member_count = len([m for m in interaction.guild.members if not m.bot])
{true_member_count}

So hab ich meins peepothink Ist aber in einem Befehl

open dragon
#

ah oke

#

bei mir passt guild net

#

jetz hatte guild net installiert danke

solid ingot
#

len(bot.users)

open dragon
#

ah oke merk ich grade

brazen scarab
#

War ich ja nah dran kekw

open dragon
solid ingot
#

also schon in die geschweiften klammern :D

open dragon
#

achso ouh

brazen scarab
#

{len(bot.users)} xD

fluid leaf
open dragon
#

oke

brazen scarab
solid ingot
#

mit url?

indigo sapphire
#

Ja

wise stone
#

ist Python basics Sachen

#

die If abfragen sowie vieles anderes

burnt prairieBOT
#
Ghost Ping

@floral monolith hat @brave flower gepingt.

Nachricht
@brave flower

wise stone
#

Python doco...

#

py-cord ist nicht Python

cloud cedar
#

Wie hieß das Video wo er irgendwas mit events in cogs erklärt nochmal?

cloud cedar
#

Es geht um python, falls du`s noch nicht verstanden hast. if abfragen sind nunmal python basics, die wirst du wahrscheinlich nicht in der py-cord doku finden.

#

Gehört hier auf jeden fall nicht mehr hin

urban glen
#

@urban glen, kannst du python?

Dann:

Pycord != Python

Wenn du dies nicht verstehst, dann erstmal: plslearnbasics

cloud cedar
urban glen
#
if pycord != python:
    print('UwU')
cloud cedar
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @cloud cedar, du bist jetzt Level 12 🎉

cloud cedar
urban glen
#

Uff ich hasse es Code aufm Handy zu schreiben xD

cloud cedar
#

geht gefühlt nicht

#

oh so macht man ne Zahl blau

10
urban glen
#
if twevis == „new in coding“
    print('Please learn the basics before you start with discord bots')
else:
    print('Even if you are not new to coding, you should know the basics first.')
urban glen
cloud cedar
urban glen
#

Is rot oder?

Sehe es am handy nd

cloud cedar
cloud cedar
urban glen
cloud cedar
#

wait

urban glen
cloud cedar
#

kriegs ned hin

#

verrats mir

#

ach jetzt wissen wirs

urban glen
solid ingot
cloud cedar
cloud cedar
urban glen
cloud cedar
#
- Discord red text
#

habs aus der website von tibue, aber danke

#
[Discord orange-red text]
#

das aber nicht wirklich orange

solid ingot
urban glen
#

Ich sehs nd

#

Bin auf handy

cloud cedar
#
120

bei mir nur blau

#
Orange_text_in_Discord
#

yay

#

+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]
<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+.>++++++++++.

#

Wie schwierig ist es von anfang an nen levelsystem zu erstellen?

dense magnet
#

Das einzige was bisschen nervig ist, ist das Level auszurechnen

solid ingot
open dragon
#

ehm wie kann ich es richtig machen?

#

so soll es c.a sein

solid ingot
#

entweder benutzt du einen string mit drei anführungszeichen, oder du nutzt \n

open dragon
#

ah stimmt

#

thx

#

habe ich sogar oben im code benutz

open dragon
#

ah bro

#

habs selber

brazen scarab
#

Wieso kann ich easy-pil nicht installieren?

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for aiohttp
Failed to build aiohttp
ERROR: Could not build wheels for aiohttp, which is required to install pyproject.toml-based projects```
dense magnet
dense magnet
#

also erst pip uninstall aiohttp und dann pip install easy-pil

brazen scarab
#

Ich lösch grade mal wieder alles und installiere mal wieder alles ... zum 5x diese Woche

brazen scarab
solid ingot
#

schau bei meinem neuen video mal die stelle 1:51

brazen scarab
brazen scarab
#

Ohman ...

#

ok

dense magnet
brazen scarab
solid ingot
#

bilder bearbeiten?

brazen scarab
#

Die Frage hätte ich mir sparen können ...

#

Wäre easy-pil wie Pillow wäre es ein package ... 🤦‍♂️

brazen scarab
#

Gehen wir mal davon aus, ich nutze Python 3.10 peepothink Ändert sich da arg was oder eher nicht?

#

Komme mit Pillow iwie nicht zurecht <.<

solid ingot
brazen scarab
solid ingot
#

ja 10.9 ist gut

brazen scarab
#

Achso... Ja egal ich bin dumm ...

brazen scarab
#

Wie findet ihr das? peepothink

solid ingot
#

nice xD

brazen scarab
#

Ich fühle das Bild irgendwie garnicht ...

#

Kann man das Bild noch irgendwie "verschönern" ?

urban glen
brazen scarab
#

Deins sieht nicht besser aus

urban glen
brazen scarab
#

Ich hab dich gern bro kekw

urban glen
brazen scarab
#

Er ist ein Ehrenmann

urban glen
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @trail locust, du bist jetzt Level 15 🎉

Du hast <@&1024276907136663562> erhalten!

cloud cedar
#

bro sagt gg zu sich selbst

cloud cedar
#

Wie zeig ich mit ctx den author ohne Tag an?

#

also #

urban glen
#

was soll damit sein?

#

ok

#

Was war da denn zu „fixxen“ ._.

#

Ah okay

urban glen
#

Wie hast du deinen letzen Command genannt?

#

Wie hast du den genannt?

cloud cedar
#

Wie nutz ich das on_ready event in nem Cog

urban glen
cloud cedar
cloud cedar
# urban glen <:codeerror:745400947613892609>

sorry


    @commands.Cog.listener()
    async def on_member_join(self, ctx):
        background = Editor("bgwelcome.png").resize((800, 250))
        avatar = await load_image_async(ctx.author.display_avatar.url)
        circle_avatar = Editor(avatar).resize((200, 200)).circle_image()
        big_text = Font.poppins(size = 50, variant = "bold")
        small_text = Font.poppins(size = 30, variant = "regular")
        background.text((490, 70), f"Hi {ctx.author}!", color = "white", font = big_text, align = "center")
        background.text((490, 145), f"Willkommen auf {ctx.guild}", color = "#fcfcfc", font = small_text, align = "center")
        background.paste(circle_avatar, (25, 25))
        file = discord.File(fp = background.image_bytes, filename="image.png")
        await ctx.respond(file = file)
silk gulch
#

ctx ist schon der member

#

Gibt da kein author

cloud cedar
#

Wo meinst du?

silk gulch
#

In deiner avatar-Variable

#

ctx.display_avatar.url

#

Im korrekteren Sinne würde ich es zu

async def on_member_join(self, member):```
ändern.
cloud cedar
#

Achso, das ist weil ich von nem slash_command zum event gegangen bin

silk gulch
#

Würde aber so ja nicht funzen.

#

Lies dir am besten mal die Docs durch.

cloud cedar
silk gulch
#

yes. Von den listenern.

cloud cedar
#

background.text((490, 70), f"Hi {member.author}!", color = "white", font = big_text, align = "center")
AttributeError: 'Member' object has no attribute 'member'

Liegt`s daran das es nicht member.author sondern nur member ist?

silk gulch
#

exakt.

#

Einen Author gibt es nur beim ChatEvent oder bei nem Command.

#

Dann kannst du ja auch unter dem Member-Parameter schauen, was Du alles verwenden kannst.

cloud cedar
#

TypeError: ezpil.on_ready() missing 1 required positional argument: 'member'

Wo hab ich da nen argument vergessen?



class ezpil(commands.Cog):
    def __init__(self, bot):
      self.bot = bot
    @commands.Cog.listener()
    async def on_ready(self, member):```
silk gulch
#

Im on_ready??

#

Du brauchst on_member_join

#

on_ready gibt keinen member zurück..

cloud cedar
#

ich vollidiot hab paar mal zu oft strg + z gedrückt

silk gulch
#

😄

cloud cedar
#

Was muss statt ctx.respond?
send_message geht scheinbar nicht

silk gulch
#

await ctx.respond()

#

achso ne

#

Haha

#
welcome_channel_id = ID vom Channel
channel = await self.bot.fetch_channel(welcome_channel_id)
await channel.send('Hiiii')```
#

z.B.

cloud cedar
#

ja alright hätt ich drauf kommen müssen
danke

silk gulch
#

Alles gut. Das passiert.

cloud cedar
silk gulch
#

vom Discord?

#
member.guild.member_count```
tawdry leaf
#

ctx

silk gulch
#

ctx in nem Event?

#

Haha.

tawdry leaf
#

dann message

silk gulch
#

message? In nem on_member_join???

#

Lucky erstmal lesen xD

tawdry leaf
#

würde gehen 🙂

silk gulch
tawdry leaf
silk gulch
tawdry leaf
#
@client.event
async def on_member_join(ctx, member: discord.Member):
    if str(ctx.guild.id == 493422342635126786):
        welcomeEmbed = discord.Embed(title="Willkommen auf dem Server", description=f"{member.mention} ist dem Server "
                                                                                    f"beigetreten.")
        welcomeEmbed.set_thumbnail(url=f'{member.display_avatar}')


        await client.get_channel(847473422987952158).send(embed=welcomeEmbed)```
#

weiß nicht wo ctx nicht gehen sollte @silk gulch 🤔

silk gulch
tawdry leaf
#

und ich mag kein coding support

#

🙂

silk gulch
#

Achso F

tawdry leaf
#

ja

cloud cedar
#

mennoo
jetzt seh ich den Avatar nicht mehr
nen error gibts ned

class ezpil(commands.Cog):
    def __init__(self, bot):
      self.bot = bot
    @commands.Cog.listener()
    async def on_member_join(self, member):
        background = Editor("bgwelcome.png").resize((800, 250))
        avatar = await load_image_async(member.display_avatar.url)
        circle_avatar = Editor(avatar).resize((200, 200)).circle_image()
        big_text = Font.poppins(size = 50, variant = "bold")
        small_text = Font.poppins(size = 30, variant = "regular")```
silk gulch
#

Die Message war ja von dir xD

silk gulch
tawdry leaf
cloud cedar
#

ach das bist ja du

tawdry leaf
silk gulch
#

😂 Maximale Verwirrung.

tawdry leaf
fluid leaf
#

Wie gette ich die Person die den neu Gejointen User eingeladen hat

silk gulch
tawdry leaf
silk gulch
tawdry leaf
#

tibue99 👀

silk gulch
tawdry leaf
#

use eh kein pycord 🙂

silk gulch
#

Schande..... Auf den Scheiterhaufen peepokay

tawdry leaf
#

ne

#

imagine man muss um sich fame zu machen von was anderem abschauen

silk gulch
#

Was meinst?

tawdry leaf
#

pycord wurde fame weil sie das gemacht haben was discord.py hatte

silk gulch
#

Puhhh keine Ahnung.

#

Aber hat nix mit #1019974414487535736 zutun hier xD

cloud cedar
#

raise TypeError("Constructor parameter should be str")
TypeError: Constructor parameter should be str

bei ohne .url

silk gulch
cloud cedar
#

is glaub bissl schlecht

silk gulch
#

Schau dir am besten nochmal das Video von tibue an und geh alles 1 zu 1 mit.

burnt prairieBOT
#
silk gulch
#

yes

cloud cedar
#

Also kp
funzt alles
kein error
member.display_avatar.url wird aber einfach nicht angezeigt

#

avatar = load_image(member.display_avatar.url)

silk gulch
#

Vielleicht kann dir da mal @solid ingot helfen.

cloud cedar
#

Ok, Circle_avatar ist "not accesed"

tough thicket
#

Wie kann ich denn nun vermeiden, dass der Name aus dem Rechteck ragt?
Ich meine, manche Namen sind halt kürzer und müssen dafür größer, andere kleiner ...

silk gulch
#

Ist das Rechteckt Bestandteil des Bilds?

cloud cedar
silk gulch
#

Vielleicht, dass je länger der Name ist man einfach die Schriftgröße verkleinert? (Sofern dies natürlich möglich ist)

wise stone
#

dafür musst du nur eine If abfrage machen ob der Name des User mehr als eine bestimme Anzahl zu lang ist

#

und kannst es dann kürzen

#

@tough thicket

#

hier nh Beispiel

urban glen
#

👀

wise stone
#

in der erste Zeile frägt e ab ob der name länger als 15 Buchstaben besitzt falls ja verkürzt es auf 14

wise stone
tough thicket
silk gulch
# tough thicket ja

Ja dann entweder:
#1019974414487535736 message
oder
#1019974414487535736 message

tough thicket
fluid leaf
#

z.b
Der Name ist njfnjnsjdfnkjsndkjfnsdfj
und dann wird er zu njfnjnsjdfnkjsndkjfnsdf

#

also -1 buchstabe oder halt -1 Disciminator

wise stone
#

await load_image_async

#

@cloud cedar

brazen scarab
#
            if len(member.name) >= 15:
                big_text = Font.poppins(size=10, variant="bold")
                background.text((30, 115), f"{user}", color="white", font=big_text, align="left")
            else:
                big_text = Font.poppins(size=20, variant="bold")
                background.text((50, 120), f"{user}", color="white", font=big_text, align="left")```


Würde das nicht auch funktionieren? ![ThinkO_O](https://cdn.discordapp.com/emojis/744344862521950268.webp?size=128 "ThinkO_O")
wise stone
silk gulch
wise stone
#

schridtart ist da gleich

#

müsstest dann noch die Position angeben

#

bruh schriftgröse

brazen scarab
#

Uff david xD

#

Es ist nur ein Beispiel 🤦‍♂️ kekw

#

Da bittschön xD

wise stone
#

ist aber zu umständlich

brazen scarab
#

Wenn man es schön haben will, wieso nicht shrug

cloud cedar
brazen scarab
#

from easy_pil import Editor, Font, load_image_async nutzt tib im Video peepothink

wise stone
#

siehste Dehler

brazen scarab
#

Bruh ich bin blind

wise stone
#

load_image_async heißr des import

brazen scarab
#

Ja ich bin grade erst wach, ich hab bei dir das Editor nicht gesehen 🤦‍♂️

brazen scarab
wise stone
#

🤷‍♂️

#

Ansicht sollte der Code gehen

brazen scarab
#

Ah

#

avatar = await load_image_async(member.display_avatar.url)

#

Jo

#

Wie gesagt, sorry bin müde xD

wise stone
#

avatar = await load_image_async(str(member.display_avatar.url))

#

@cloud cedar

#

Versuchs Mal damit

cloud cedar
#

da steht circle_avatar is not accesed

brazen scarab
#

Du machst nirgendswo das Bild Rund peepothink

wise stone
#

der macht den Pb rund

cloud cedar
brazen scarab
#
class ezpil(commands.Cog):
    def __init__(self, bot):
      self.bot = bot
    @commands.Cog.listener()
    async def on_member_join(self, member):
        background = Editor("bgwelcome.png").resize((800, 250))
        avatar = await load_image_async(member.display_avatar.url)
        circle_avatar = Editor(avatar).resize((200, 200)).circle_image()
        big_text = Font.poppins(size = 50, variant = "bold")
        small_text = Font.poppins(size = 30, variant = "regular")```

Gib mir das ma hier runter, kein Bock ständig hoch zu scrollen (ignoriert das)
wise stone
#

@brazen scarab schick ganzen Code mal

brazen scarab
#
            background = Editor("Bank.png")
            avatar = await load_image_async(user.display_avatar.url)
            circle_avatar = Editor(avatar).resize((250, 250)).circle_image()
            background.paste(circle_avatar, (100, 170))
            big_text = Font.poppins(size=25, variant="bold")
            hand = Font.poppins(size=25, variant="bold")
            bank = Font.poppins(size=25, variant="bold")
            background.text((50, 120), f"{user}", color="white", font=big_text, align="left")
            background.text((50, 468), f"{result[0]}", color="white", font=hand, align="left")
            background.text((50, 588), f"{result[1]}", color="white", font=bank, align="left")

            file = discord.File(fp=background.image_bytes, filename="Bank.png")
            await interaction.response.send_message(file=file)```
#

Das is meiner kekw

fluid leaf
#

Wie gette ich die Person die den neu Gejointen User eingeladen hat

wise stone
fluid leaf
#

och nööö

wise stone
#

durch die Events mit on_invite_create kannst du die holen

solid ingot
wise stone
#

im Join Event frägst du dann halt ab

fluid leaf
#

Kannst du mir ein Beispiel geben

wise stone
cloud cedar
brazen scarab
#

Wieso ich bin zufrieden?

wise stone
#

ist bissl knifflig

brazen scarab
fluid leaf
#

Dann lass ich es einfach monte_laugh

brazen scarab
#

Und wer den Link erstellt hat?

fluid leaf
#

Ne, also ?? ist den Server durch den Einladungslink von ?? gejoint

#

als beispiel

wise stone
brazen scarab
fluid leaf
#

oui

wise stone
brazen scarab
#

Mein Code ist btw noch anpassbar, du kannst da auch noch rausholen, wie viele Leute den Link benutzt haben, brauchst aber dafür dann ne Datenbank

brazen scarab
#

tib wo is eig meine Helfer Rolle

wise stone
#

deal XD?

brazen scarab
#

Die ist komischerweise weg hust

wise stone
#

hab 10000 kekse

burnt prairieBOT
#
Keks

@wise stone hat @brazen scarab einen Keks geschenkt!

@brazen scarab hat jetzt 292 Kekse keks

brazen scarab
#

xD

wise stone
#

hier

brazen scarab
#

Danke danke xD

brazen scarab
brazen scarab
wise stone
brazen scarab
#

Ja gut, da kann man jetzt perfektionieren happyblob

cloud cedar
#

ach ganz ehrlich
ich mach bei meiner willkommenskarte einfach kein Bild rein

#

ah nrvm ich hab einfach nur background.paste vergessen

dense magnet
#

Stark

cloud cedar
#

kann man on_member_join events auch einfacher testen?

dense magnet
brazen scarab
cloud cedar
dense magnet
brazen scarab
#

Nix

#

Tib wollte das nochmal sehen

dense magnet
cloud cedar
#

Wie kann ich in easy_pil die ecken vom Gesamtbild abrunden?

dense magnet
cloud cedar
dense magnet
#

stark

brazen scarab
cloud cedar
#

wunderschön

urban glen
cloud cedar
#

Wie geb ich dem avatar icon ne outline?

fluid leaf
#

Auch in deinem Bild

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @fluid leaf, du bist jetzt Level 20 🎉

Du hast <@&1032922136068763718> erhalten!

fluid leaf
#

xd

cloud cedar
solid ingot
#

150 ist die größe, XY die Position

cloud cedar
solid ingot
#

oder andersrum

#

was willst du copy pasten?

cloud cedar
solid ingot
#

achso nein paste brauchst du nicht

cloud cedar
# solid ingot achso nein paste brauchst du nicht

gibt keinen Error aber ich seh da keine outline

class ezpille(commands.Cog):
    def __init__(self, bot):
      self.bot = bot
    @commands.Cog.listener()
    async def on_member_join(self, member):
        background = Editor("bgwelcome.png").resize((800, 250))
        avatar = await load_image_async(member.display_avatar.url)
        circle_avatar = Editor(avatar).resize((200, 200)).circle_image()
        background.paste(circle_avatar, (25, 25))
        big_text = Font.poppins(size = 50, variant = "bold")
        small_text = Font.poppins(size = 30, variant = "regular")
        background.text((490, 70), f"Hi {member}!", color = "white", font = big_text, align = "center")
        background.text((490, 145), f"Willkommen auf {member.guild}", color = "#fcfcfc", font = small_text, align = "center")
        background.text((490, 185), f"Du bist Member #{member.guild.member_count}", color = "#fcfcfc", font = small_text, align = "center")
        file = discord.File(fp = background.image_bytes, filename="image.png")
        welcome_channel_id = 1066304935706230784
        background.ellipse((25, 25), 205, 205, outline="white", stroke_width=4)
        channel = await self.bot.fetch_channel(welcome_channel_id)
        await channel.send(file = file)```
solid ingot
#

tausch mal die beiden 25er mit den 205ern

cloud cedar
urban glen
#

bot.user.icon.url

#

Ungefähr so

fluid leaf
#
        if role != ctx.user.roles:
            await ctx.user.add_roles(role)
#

macht das sinn?

#

Weil ich will das
Wenn die Rolle nicht in user.roles ist das er die dann hinzugefügt bekommt

urban glen
solid ingot
#

wenn dann if role not in ctx.user.roles

fluid leaf
#

Danke

fluid leaf
solid ingot
#

und ctx.author statt ctx.user

urban glen
fluid leaf
#

nah

urban glen
#

icon -> avatar

#

Hab mich da vertan

#

maybe avatar_url

#

Weiß nicht welche Lib du used

#

Hab keine ahnung von pycord

#

In den docs steht avatar und danach vermutlich url

#

bot.user.avatar.url

#

Und in cog mit self

#

Also eigentlich so

brazen scarab
#

Lieber Gott im Himmel, das sieht genauso scheiße aus kekw

urban glen
#

self.bot?

#

Oder hast du bot nicht definiert

brazen scarab
#

Solltest du eigentlich langsam mal wissen das es self.bot ist Twevis kekw

urban glen
#

Heißt dein command "avatar" und die klasse auch?

#

._.

brazen scarab
#

f string nicht vergessen

#

f"{member}"

#

Ohne Code kann ich dir nicht helfen xD

#

description=f"{member} cool" Was willst du da haben?

#

Den namen?

#

Dein Code ist komisch xD

#

Ja was willst du denn xD

#

Du schickst mir ein Bild vo steht {member} sagst, es funktioniert fast. Dann postest du einen Code, ich sage dir was falsch ist xD

#

Nicht unbedingt. (icon_url=self.bot.user.avatar.url) Aber das gibt es nicht xD
https://docs.pycord.dev/en/stable/api/models.html#users

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @brazen scarab, du bist jetzt Level 14 🎉

urban glen
#

krasssssssssdsd

wise stone
#

kann wer bitte mir die docs schicken wie man nach schauen wv animierte und nicht animierte emojis hat und wv plätze davon frei sind

dense magnet
wise stone
quiet socket
#

Wiem kann ich mehrere embeds gleichzeitig absenden?

#
await ctx.respond(embed=infobanner1_embed,infoembed1)```
#

so?

dense magnet
quiet socket
#

ty

#

wie kann ich sätze so schreiben das die in einer neuen zeile kommen

floral monolith
#

\n

#

Oderso

solid ingot
#

genau, oder mit """

dense magnet
quiet socket
#

ty

quiet socket
#

wieso erkennt der ctx nicht?

solid ingot
#

ist das in einem slash command?

urban glen
quiet socket
#
import discord
from discord.ext import commands
from discord.commands import slash_command, Option


class Embeds(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @slash_command()
    @commands.is_administrator()
    async def embed(self, ctx, embedauswahl: Option(str, choices=[":crescent_moon:〢europe-×-verse", ":books:〢regelwerk", "┃:pushpin:〢mieten","┃:crown:〢unsere-werbung"])):
        kanal_info = self.bot.get_channel(976511520282406982)
        if embedauswahl == ":crescent_moon:〢europe-×-verse":
            infobanner1_embed = discord.Embed(color=0x0000ff)
            infobanner1_embed.set_author(name=":earth_africa:┃Europe × Verse", icon_url=ctx.guild.icon_url)
            infobanner1_embed.set_image(
                url="https://cdn.discordapp.com/attachments/989980784737792081/1055883892445425734/Picsart_22-12-23_17-25-27-300.png")

            infoembed1 = discord.Embed(
                title=':EU_LOGO:  › Informationen',
                description="""Hey , hier findest du einpaar infos zum Server./n"
                            " Ziel von Europe × Verse ist mit leuten zu chillen , regelmäßig Gw's und Events zu erstellen./n"
                            "Fühl dich auf diesem Server einfach wie zuhause ;).""",
                color=0x0000ff)
            infoembed1.set_image(
                url="https://media.discordapp.net/attachments/989980784737792081/1058448242163073136/UNTENEMBED.png")
            infoembed1.set_thumbnail(
                url='https://media.discordapp.net/attachments/989980784737792081/1058448242163073136/UNTENEMBED.png')

            infobanner2_embed = discord.Embed(color=0x0000ff)
            infobanner2_embed.set_image(
                url="https://cdn.discordapp.com/attachments/989980784737792081/1055883917317656626/Picsart_22-12-23_17-24-06-257.png")

            infoembed2 = discord.Embed(
                title=':EU_CONECT: › Die Auswahl',
                description=''':EU_BOOSTER: - Booster Vorteile
:EU_REGELN: - Verhalten 
:EU_PLUS:- Dein Profil/Self Roles
:EU_PARTNER: - Unsere Partnerbedingungen
:EU_TEAM: - Unsere Teamliste & Partnerliste''',
                color=0x0000ff)
            infoembed2.set_image(
                url='https://media.discordapp.net/attachments/989980784737792081/1058448242163073136/UNTENEMBED.png')
            infoembed2.set_thumbnail(
                'https://cdn.discordapp.com/attachments/989980784737792081/1055883369789005904/9073147.png')

    infoembeds = ['infobanner1_embed', 'infoembed1', 'infobanner2_embed', 'infoembed2']

    for embed in infoembeds:
        await ctx.respond(embed=embed)


def setup(bot):
    bot.add_cog(Embeds(bot))
urban glen
#

💀

solid ingot
#

falsche einrückung, ist zu weit links

dense magnet
thick haven
#

Hey, kann mir jmd helfen wie ich schauen kann wer meine Verbindung getrennt hat also wenn ich in nem voice bin und jemand trennt mich das ich das sehen kann also via event

solid ingot
thick haven
solid ingot
#

das musst du dann im audit log schauen

#

ich weiß nicht inwieweit dieses update schon bei den libs umgesetzt wurde

brazen scarab
solid ingot
#

nein, das ist ein event, das ausgelöst wird, wenn ein neuer audit log eintrag erstellt wird

brazen scarab
#

Ohhhh

#

Danke

tawdry leaf
#

#

wenn timeout None ist ist timeout none

snow hatch
#

Reicht für Pycord folgende Kenntnisse in Phyton aus?
Variablen/listen, schleifen(while und for), If?
Was ist wichtig noch zu können?

snow hatch
#

OK danke

dense magnet
#

Importier es als as core oder schreib überall __core__

#

Ne

#

Das meinte ich nicht

#

Du schreibst entweder ans Ende von dem Import as core oder änderst überall im Code alles zu __core__

#

@urban glen

#

from __core__ import ... as core

snow hatch
dense magnet
#

Hast du das überhaupt installiert?

#

Das solltest du wissen wenn du damit arbeitest

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @dense magnet, du bist jetzt Level 13 🎉

dense magnet
#

Dss hätte mich auch gewundert

#

Von irgendwo musst dus ja haben da sollte das doch wohl erklärt sein

#

Oder ist das irgendein random github Code?

#

Was ist das denn für eine

#

Weil ich werd dir nicht helfen nen Code zum laufen zu bringen den du selber nicht geschrieben hast

#

Jo das musst du dann wohl selber schaffen

open dragon
#

was muss ich angeben das da hört steht

dense magnet
#

@open dragon

open dragon
#

da ist nur game das habe ich schon

dense magnet
open dragon
#

ah habs schon thx

thick haven
# solid ingot ich weiß nicht inwieweit dieses update schon bei den libs umgesetzt wurde

aniuch eine gut ideee aber ich habe diesen code mal gemacht

    if before.channel is not None and after.channel is None:
        async for entry in member.guild.audit_logs(limit=1, action=discord.AuditLogAction.member_disconnect):
        print(entry)
            if entry.target is not None and entry.target.id == member.id:
                print(f"{member} wurde von {entry.user} aus dem Channel {before.channel} entfernt.")
                break```
Aber er kommt nicht bis zum ende aber er printet mir das
`<AuditLogEntry id=1066684770702069782 action=AuditLogAction.member_disconnect user=<Member id=416015508303904779 name='Partymann2000' discriminator='0001' bot=False nick='545 53  3 3 3  6' guild=<Guild id=852201283690692628 name='Privater Freunde Server' shard_id=0 chunked=True member_count=50>>>`
fluid leaf
#

Wie gette ich nochmal die User anzahl

solid ingot
#

vom bot gesamt oder von einem Server

fluid leaf
#

Server

#

Am besten ohne bots

dense magnet
#

Bots musst du selber für nh funktion schreiben

fluid leaf
#

bruh

#

kk aber Danke

#

Fehler:

discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'str' object has no attribute 'member_count'```
Code:
`background.text((417, 210), f"{len(guild.member_count)}", color="white", font=big_text3, align="left")`
fluid leaf
#

also anstatt len str ? :>

#

oder wie

dense magnet
#

nur guild.member_count

fluid leaf
#

bruh

#

Ok danke xd

#

discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: AttributeError: 'str' object has no attribute 'member_count'

#

background.text((417, 210), f"#{guild.member_count}", color="white", font=big_text3, align="left")

dense magnet
fluid leaf
#

Ich hab nur die ID ist mir gerade aufgefallen

#

guild = "meineid"

dense magnet
#

Ja das ganz falsch

fluid leaf
#

xd

dense magnet
#

guild = bot.get_guild(ID)

old ore
#

wieso wird der cmd nicht gefunden

solid ingot
#

du bekommst einen Error, wenn du dein cog lädst, deswegen wird der command auch nicht gefunden

old ore
#

aber der untere bleibt

solid ingot
#

die einrückung vom Command sieht auch falsch aus, kann das aber nicht genau erkennen

dense magnet
dense magnet
old ore
#

so jetzt passt es denke. Danke

old ore
#

Wie code ich einen Check der schaut ob die antwort message von einem Wait for event von dem user kommt der den cmd benutzt hat

open dragon
#

ich krieg es nicht hin dass, wen 1 ticket schon offen ist, das man kein2 offnwn kann

thick haven
#
            print("a")
            unix_timestamp = int(datetime.now().timestamp())
            message = interaction.message
            embed = message.embeds[0]
            
            embed.description = '*Um das Ticket zu schließen, benutze bitte den untenstehenden Button.*\n\n'
            '**Ticket Inforamtionen**\n'
            '▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n'
            '**↬** Ticket-Typ: `Allgemein` \n'
            f'**↬** Erstellt: <t:{unix_timestamp}:f>\n'
            f'**↬** Erstellt von {interaction.user.mention}\n'
            '▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n'
            '**Bitte beschreibe hier dein Anliegen genau. Hier sind ein paar Hilfestellungen.**'
            print("aaaaaaaaa")
            embed.add_field(name="aa", value="aaaaaa")
            await interaction.response.edit_message(embed=embed)```
urban glen
# thick haven ``` if "claim" in str(interaction.data): print("a") ...
f"""*Um das Ticket zu schließen, benutze bitte den untenstehenden Button.*
**Ticket Inforamtionen**
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
**↬** Ticket-Typ: `Allgemein`
**↬** Erstellt: <t:{unix_timestamp}:f>
**↬** Erstellt von {interaction.user.mention}
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
**Bitte beschreibe hier dein Anliegen genau. Hier sind ein paar Hilfestellungen.**"""
wise stone
#

du machst in nen button nen Event rein

tawdry leaf
#

xD

#

mach einf die Überprüfung in dem button bei den du des mit create channel usw drin hast

thick haven
#

Weiss jmd wie ich einen button deaktivieren kann der eine custom id hat ohne es mit nem callback zu machen denn ich möchte es mit dem pn_interaction machen

wise stone
#

müsstest mit nen if abfrage abchecken ob es die costum id der view hat

urban glen
#

?

#

Wo is das was rot?

#

?

thick haven
wise stone
#

if interaction.custom_id == 'die id':

#

@thick haven

thick haven
solid ingot
#

from discord.commands

wise stone
#

wenn du das richtiges eingibtsnkommt es als 1 Seite

#

da wird ausführlich gezeigt welche Variante es gibt wie du es disabled machen kannsr

thick haven
wise stone
thick haven
wise stone
#

for schleife?

#

message edit?

#

alle Button?

#

bzw. views

#

oder nur einzelne

#

Interpreter falsch oder installiere py-cord neu

solid ingot
#

nicht alles von discord.command, aber slash commands schon

#

die anderen von discord.ext

thick haven
solid ingot
#

wieso importierst du dann slash commands?

#

ok gut

wise stone
#

der Prof @solid ingot kann sicher helfen

solid ingot
#

mit on_interaction habe ich noch nie gearbeitet

solid ingot
tawdry leaf
#

If rolle größer ctx.author.roles

#

mit größer meine ich des größer Zeichen 😅

indigo sapphire
#

Hey wollte mal casual fragen kann man im embed 2 Bilder schicken?

#

Ping pls bei Antwort

tawdry leaf
#

Ig

indigo sapphire
#

Und ty

tawdry leaf
#

np

#

Würde aber des mit permissions Check einf machen

#

If user.has_permissions('die permissions')

indigo sapphire
#

Also 2 url zb

urban glen
#

glaub aber nicht das die embeded werden

indigo sapphire
#

Hmm schade

urban glen
indigo sapphire
#

https://www.youtube.com/watch?v=aJsxl2bxjqw in diese guide, möchte ich den user avatar per user id bekommen wie geht das?

#

oder url bekommen um es abzuspeichern

solid ingot
#

da müsstest du zuerst den user über die ID bekommen, dann kannst du es so wie im video laden

#

also zb user = self.bot.get_user(ID)

solid ingot
#

ja

wise stone
#

permission rein tun -_-

tawdry leaf
#

Kannst aber nd verhindern glaube ich 😂

indigo sapphire
solid ingot
#

welche

cloud cedar
#

Mal kurze Frage: Ich mach ja grad nen Bewerbungs-System. Kann ich irgendwie den user, der das embed quasi ausgelöst hat speichern, so das mit einem Button klick der user ne Rolle kriegt?
Will nur sicher stellen, bevor ich damit meine Zeit verschwende bruh

solid ingot
#

ja das müsste gehen

tawdry leaf
#

Als Admin hast du dazu immer rechte

#

Außer du machst einen Check das die Rolle die er ausgewählt hat unter den Rollen ist die er hat

#

Bzw unter seiner höchsten Rolle

tawdry leaf
#

Wenn ich zum Beispiel userinfo mache das ich wenn ich auf Ein Button drücke andere Informationen von dem User schreiben kann

Habe dazu noch nirgends was gefunden

solid ingot
#

dazu müsstest du doch nur den user an die button klasse übergeben

#

und zu dem thema hab ich schon ein video

wise stone
#

if ctx.author.top_role.position < user.top_role.position:

#

@urban glen

#

das macht wenn der Nutzer etwas macht z.b. kick an ein Nutzer der höher als er ist nicht geht

#

nein?????

#

losr das ist nur ein argument

#

an wen willst du es dann anwenden

solid ingot
wise stone
#

Ich Schlutigung mich ._.

floral monolith
wise stone
dense magnet
#

falsch

#

if ctx.author.top_role < user.top_role:

wise stone
#

bei mir geht's so ._.

#

ok : vergessen

dense magnet
wise stone
#

ja autsch sehe es

tawdry leaf
wise stone
#

war besoffen ._.

tawdry leaf
urban glen
#

lost? ...

#

--> basics lernen

#

._.

#

Weiß garnicht worum es geht, aber trzdm xD

#

Warum versuchst du es dann weiter? pepecry

#

Basics lernen

#

Und Docs lesen ._.

#

Docs lesen ist das wichtigste

wise stone
#

doch

urban glen
#

Einmal googlen

wise stone
#

dafür ist doch docs von py-xord da...

urban glen
#

_ _

#

_ _

#

?

#

Wofür jetzt das zeichen?

mystic flower
#

⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟⃟

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @mystic flower, du bist jetzt Level 6 🎉

wise stone
#

weil kein Return drin ist -_-

wise stone
#

?

thick haven
#

Weiss jmd warum der Button nicht deaktiviert wird aber ansonst klappt alles

class ClaimButton(discord.ui.Button):
    def __init__(self):
        super().__init__(
            label="Claim",
            style=discord.enums.ButtonStyle.blurple,
            custom_id="interaction:ClaimButton",
        )

    async def callback(self, interaction: discord.Interaction):
        unix_timestamp = int(datetime.now().timestamp())
        message = interaction.message
        embed = message.embeds[0]
        lines = embed.description.split("\n")
        match = re.search(r"<t:(\d+):f>", lines[5])
        time = int(match.group(1))
        match = re.search(r"<@(\d+)>", lines[6])
        id = int(match.group(1))
        view = discord.ui.View(timeout=None)
        view.add_item(CloseButton())
        view.add_item(ClaimButton())
        ClaimButton.disabled = True
        embed.description = f"""*Um das Ticket zu schließen, benutze bitte den untenstehenden Button.*\n
            **Ticket Inforamtionen**
            ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
            **↬** Ticket-Typ: `Allgemein`
            **↬** Erstellt: <t:{time}:f>
            **↬** Erstellt von <@{id}>
            **↬** Geclaimt von {interaction.user.mention}
            ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
            **Bitte beschreibe hier dein Anliegen genau. Hier sind ein paar Hilfestellungen.**"""
        await interaction.response.edit_message(embed=embed, view=view)```
solid ingot
#

du müsstest view=self schreiben statt view=view

thick haven
solid ingot
#

nein

thick haven
#

einfach self

solid ingot
#

also das ClaimButton.disabled = True bezieht sich ja auf die aktuelle view klasse, die kannst du mit self benutzen

thick haven
#

Ich bekomme den error

Ignoring exception in view <View timeout=None children=3> for item <ClaimButton style=<ButtonStyle.primary: 1> url=None disabled=True label='Claim' emoji=None row=None>:
Traceback (most recent call last):
  File "C:\Users\jurek\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\ui\view.py", line 414, in _scheduled_task
    await item.callback(interaction)
  File "c:\Users\jurek\Documents\Development\Python\DC Bots\Xenority-Main\cogs\tickets.py", line 98, in callback
    await interaction.response.edit_message(embed=embed, view=self)
  File "C:\Users\jurek\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\interactions.py", line 931, in edit_message
    payload["components"] = [] if view is None else view.to_components()
AttributeError: 'ClaimButton' object has no attribute 'to_components'
thick haven
dense magnet
#

und dann view=self

#

wie tibue schon sagte

thick haven
# dense magnet wie tibue schon sagte

HGab das jetzt so kommt genau der gleiche error

        embed.description = f"""*Um das Ticket zu schließen, benutze bitte den untenstehenden Button.*\n
            **Ticket Inforamtionen**
            ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
            **↬** Ticket-Typ: `Allgemein`
            **↬** Erstellt: <t:{time}:f>
            **↬** Erstellt von <@{id}>
            **↬** Geclaimt von {interaction.user.mention}
            ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
            **Bitte beschreibe hier dein Anliegen genau. Hier sind ein paar Hilfestellungen.**"""
        await interaction.response.edit_message(embed=embed, view=self)```
dense magnet
#

ah

#

wait

thick haven
#

Ganzer button code

    def __init__(self):
        super().__init__(
            label="Claim",
            style=discord.enums.ButtonStyle.blurple,
            custom_id="interaction:ClaimButton",
        )

    async def callback(self, interaction: discord.Interaction):
        unix_timestamp = int(datetime.now().timestamp())
        message = interaction.message
        embed = message.embeds[0]
        lines = embed.description.split("\n")
        match = re.search(r"<t:(\d+):f>", lines[5])
        time = int(match.group(1))
        match = re.search(r"<@(\d+)>", lines[6])
        id = int(match.group(1))
        self.disabled = True
        embed.description = f"""*Um das Ticket zu schließen, benutze bitte den untenstehenden Button.*\n
            **Ticket Inforamtionen**
            ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
            **↬** Ticket-Typ: `Allgemein`
            **↬** Erstellt: <t:{time}:f>
            **↬** Erstellt von <@{id}>
            **↬** Geclaimt von {interaction.user.mention}
            ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
            **Bitte beschreibe hier dein Anliegen genau. Hier sind ein paar Hilfestellungen.**"""
        await interaction.response.edit_message(embed=embed, view=self)```
thick haven
#

Yes

dense magnet
#
view = discord.ui.View()
view.add_item(self)```
thick haven
#

Why mongo und MySQL ist doch sehr gut

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @trail locust, du bist jetzt Level 16 🎉

indigo sapphire
#

frag mal chatGPT

#

wie kann ich ein eigene view bei paginator hinzufügen?

thick haven
#

Wtf

silk gulch
#

Erstens lautet es @commands.has_role()
und hast du auch eine Role-ID angegeben?
z.B.

@commands.has_role(980101947916947476)
thick haven
#

@diaxord.default_permissions()

#

Nur damit kannst du den Command für leite unsichtbar machen die die perma ned haben mit Rollen geht das aber nedn

solid ingot
#

@urban glen mit Default permissions kann man den Command nicht für bestimmte Rollen unsichtbar machen, sondern nur für bestimmte permissions. das mit den Rollen kannst du aber ganz einfach in den Server Einstellungen einstellen (bei Integrationen)

fluid leaf
#

Das musst du in den Integrations Settings einstellen

indigo sapphire
#

kann mir jemand damit helfen?
#1067465206189535242

urban glen
#

postgresql pepegun

dense magnet
#

Meinungssache

indigo sapphire
#

Jup

#

Wollte MySQL aber wegen dem Server ging das nicht

dense magnet
#

MySQL ist auch super

#

Maria und Mongo gehen halt besser mit vielen Daten um

indigo sapphire
#

Jup

dense magnet
#

Aber so viele muss man erstmal haben xd

indigo sapphire
#

Wollte mit dem bot noch zusätzlich Datenbank API machen

dense magnet
#

hatte ich auch mal vor

#

bis jetzt noch nicht passiert xd

#

naja

#

mongo ist halt ähnlich zu json während maria eher richtung sql geht

#

Und Json ist theoretisch einfacher

#

Beim Auslesen oder wo?

#

Ja das kommt auch auf das Programm an mit dem dus ausliest

#

MongoDB ist halt actually echt gut zum auslesen, da sind die den SQL sachen noch vorraus

solid ingot
#

ich denke schon, im check video

whole sentinel
#

Ich kann meine Slash Commands nicht abrufen und diesen Code habe ich bei anderen ausprobiert, und die sagten, dass es funktioniert. Habt ihr eine Ahnung?

whole sentinel
#

Ist im Thread. Viel Glück 🫡

dense magnet
#

Und in welchem? ;-;

whole sentinel
#

Viel Glück 🫡

#

Same

tawdry leaf
#

keine () bei event

#

supi

solid ingot
#

also ich lege für die commands immer default permissions fest, damit nicht jeder die commands benutzen kann wenn der bot neu eingeladen wird, sondern nur leute mit berechtigungen.
aber so sachen wie channel oder rollen lege ich dann in den servereinstellungen fest, zb dass manche commands nur in #🔗・bots benutzt werden können

tawdry leaf
#

@solid ingot kannst du maybe mal zeigen wie man des machen kann das man egal auf welchen server den bot usen kann weil bei mir ist es so wenn ich die perms auf admin check setze ich auf anderen server ohne admin den bot nicht usen kann xD

indigo sapphire
old ore
#

kann mir jemand bitte helfen

tawdry leaf
old ore
tawdry leaf
tawdry leaf
old ore
#
class Giveaway(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @commands.command()
    async def Giveaway(self, ctx, mins : int, prize: str, channel: discord.TextChannel):
        
        await channel.send("@everyone")
        embed = discord.Embed(
            title="🎉Giveaway🎉",
            color=0x9461cb
        )

        embed.add_field(
        name="Prize:",
        value=f"**{prize}**",
        inline=False
        )

        end = datetime.now() + timedelta(seconds = mins*60)
        end1 = discord.utils.format_dt(end, "R")

        embed.add_field(
        name="Ends at:",
        value=f"**{end1} UTC**",
        inline=False
        )

        embed.set_footer(
            text="Coded by Nuzaki | Nxtup eSports💜",
            icon_url="https://cdn.discordapp.com/attachments/1051124049553657956/1066709353807220836/Unbenanntes_Projekt_9.png"
        )

        embed.set_author(
            icon_url="https://cdn.discordapp.com/attachments/1051124049553657956/1066709353807220836/Unbenanntes_Projekt_9.png",
            name="By Nuzaki"
        )

        embed.set_thumbnail(
            url="https://cdn.discordapp.com/attachments/1051124049553657956/1066709353807220836/Unbenanntes_Projekt_9.png"
        )

        gw_message = await channel.send(embed=embed)

        await gw_message.add_reaction("👋")


        await asyncio.sleep(mins*60)

        new_mesg  = await channel.fetch_message(gw_message.id)

        users = await new_mesg.reactions[0].users().flatten()
        users.pop(users.index(self.bot.user))

        winner = random.choice(users)

        await channel.send(f"{winner.mention}")

        gw_message_link = await channel.fetch_message(gw_message.jump_url)

        embed2 = discord.Embed(
            title="Winner",
            description=f"{winner.mention} has won the [Giveaway]({gw_message_link})",
            color=0x9461cb
        )

        embed2.add_field(
            name="Prize:",
            value=f"**{prize}**",
            inline=False
        )

        embed2.set_footer(
            text="Coded by Nuzaki | Nxtup eSports💜",
            icon_url="https://cdn.discordapp.com/attachments/1051124049553657956/1066709353807220836/Unbenanntes_Projekt_9.png"
        )

        embed2.set_author(
            icon_url="https://cdn.discordapp.com/attachments/1051124049553657956/1066709353807220836/Unbenanntes_Projekt_9.png",
            name="By Nuzaki"
        )

        embed2.set_thumbnail(
            url="https://cdn.discordapp.com/attachments/1051124049553657956/1066709353807220836/Unbenanntes_Projekt_9.png"
        )

        await channel.send(embed=embed2)


        server = ctx.message.guild

        embed3 = discord.Embed(
            title="You Won!",
            description=f"You Won A Giveaway in \n\n > {gw_message_link}",
            color=0x9461cb
        )

        embed3.set_footer(
            text="Coded by Nuzaki | Nxtup eSports💜",
            icon_url="https://cdn.discordapp.com/attachments/1051124049553657956/1066709353807220836/Unbenanntes_Projekt_9.png"
        )

        embed3.set_author(
            icon_url="https://cdn.discordapp.com/attachments/1051124049553657956/1066709353807220836/Unbenanntes_Projekt_9.png",
            name="By Nuzaki"
        )

        embed3.set_thumbnail(
            url="https://cdn.discordapp.com/attachments/1051124049553657956/1066709353807220836/Unbenanntes_Projekt_9.png"
        )

        await winner.send(embed = embed3)
tawdry leaf
#

du weiß schon das du everyone auch so in der nachricht schreiben kannst ohne daraus 2 nachrichten machen zu müssen oder?

old ore
#

ich möchte das aber so haben

tawdry leaf
indigo sapphire
#

Kann mir jemand sagen warum ich nicht einfach ein bild resizen kann und abschicken wie bei Tibue Guide von avatar?

#

denn error:

Application Command raised an exception: TypeError: 'Editor' object is not callable

solid ingot
#

code?

wise stone
#

@indigo sapphire

indigo sapphire
#

bischen lang aber ok

wise stone
indigo sapphire
#

nur layout testzwecke

#

xD

#

danach sollte eine embed kommen

indigo sapphire
silk gulch
#

Arbeite selbst mit MongoDB. Schau mal hier rein:
#1049446218570403880 🙂

#

Funktioniert aber und habe versucht alles zu erklären. 😄

#

Bei Fragen kannst dich ja an mich wenden.

silk gulch
#

Kannste in ne extra MongoAPI Klasse machen. So hab ich es zumindest.

#

Den Code in ne Klasse (bspw. 'MongoAPI.py') und im on_ready-Event dann py MongoAPI.loadDatabase()

#

Was?

#

Das LevelSystem müsstest dementsprechend erst coden.

#

Gut bei MongoDB arbeitest nicht nach diesem Tutorial.

#

Dort wird ja SQL verwendet.

#

Überall wo tibue etwas mit SQL in diesem Video macht, müsstest du das für MongoDB "übersetzen".

#

nö.

#

Hast ne MongoDB-URI?

#

Schlecht. Die brauchst du zum Verbinden. Ohne die, geht nix.

#

Keine Ahnung, wie dein Hoster aufgebaut ist und so.

#

jo.

solid ingot
#

easypil funktioniert nicht mit python 3.11

silk gulch
#

"Eine andere Version des Produkts ist bereits installiert."

#

Wenn es schon installiert ist, brauchst es nicht nochmal installieren..

#

Dann musst 3.11 erst runterschmeißen.

#

Aiii super.

#

Bewerten Sie mich auf Google c:

#
thick haven
#

Application Command raised an exception: TypeError: Tickets.__init__() missing 1 required positional argument: 'bot'

mystic flower
#

der bot sagt mir das der bot keine perms hat aber er hat die perms xD

#

habe ich grade gesehen

#

der bot hat die Prems

#

aber ka warum das nicht geht kommt aber auch kein error

mystic flower
dense magnet
#

Da muss ja auch nen Prozentwert rein

#

Hast du Option überhaupt importiert?

#

schon xd

#

Du meinst was das returned?

#

member.avatar.url

old ore
silk gulch
old ore
#

tatsächlich von meinem Kollegen weil wir zsm einen Bot coden

old ore
wise stone
#

Code?

#

ne vom cog @urban glen

#

nicht den Inhalt drin

#

weil's da der Error kommt vom init

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @midnight ermine, du bist jetzt Level 2 🎉

Du hast <@&1042123300970696705> erhalten!

wise stone
#

bruddi nicht ganzen cog

#

nur den Code nicht was im cog ist

#

wo der Error kommt

#

da steht die Zeile drin

#

was du geschickt hast ist in verkürzter form

frail pewter
#

Guten Morgen ist es möglich in pycord einen Einladungs tracker zu coden?

solid ingot
#

ja das geht

frail pewter
#

Ist das Schwer?

solid ingot
#

es ist relativ kompliziert, da du alle invites in einer datenbank tracken müsstest

frail pewter
#

Wo muss ich die rolle definieren?

solid ingot
#

in einem button gibt es nur interaction, kein ctx. mit interaction.guild.get_role kannst du die rolle aber auch bekommen

frail pewter
solid ingot
#

ja

frail pewter
#

Was genau ist der Fehler?

solid ingot
#

get_role funktioniert ohne await

frail pewter
#

Achso

#

So ist das Falsch denn ich bekomme keine rolle es kommt aber auch kein fehler

solid ingot
#

naja, aktuell lädst du nur die rolle, du weist sie aber nicht dem user zu

frail pewter
#

Achso und wie tue ich das?

solid ingot
#

interaction.user.add_roles()

burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @solid ingot, du bist jetzt Level 50 🎉

frail pewter
solid ingot
#

ja

frail pewter
solid ingot
#

gerne

mystic flower
#

wie bekomme ich das da weg XD

#

also das gelbe

#

wo ?

#

das ist der code

#
import discord
import aiosqlite
import os
import random



intent = discord.Intents.default()
bot = discord.Client(intents= intent)


class Keys(discord.Client):
    def __init__(self, bot):
        self.bot = bot
        self.DB = "keysystem.db"


    @bot.event
    async def on_ready(self):
        async with aiosqlite.connect(self.DB) as keys:
            await keys.execute(
            """CREATE TABLE IF NOT EXISTS keys (
                user_id INTEGER PRIMARY KEY,
                key TEXT,
                date TEXT
            )"""
            )


            

        


async def setup(bot):
    bot.add_cog(Keys(bot))```
#

sind viele abstände ich weiß

#

ja keine ahnung was der will xD

#

bei mir ist das so

#

jo

#

ja

#

habe ich grade schon

#

habe ich schon

urban glen
#

das ist doch eing cog korrekt?

mystic flower
#

ja

urban glen
#

gut

#

1 sekunde ja?

mystic flower
#

jo

#

ich gehe kurz pissen

urban glen
#
import discord
import aiosqlite
import os
import random
from discord.ext import commands


class Keys(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.DB = "keysystem.db"


    @commands.Cog.listener()
    async def on_ready(self):
        async with aiosqlite.connect(self.DB) as keys:
            await keys.execute(
            """CREATE TABLE IF NOT EXISTS keys (
                user_id INTEGER PRIMARY KEY,
                key TEXT,
                date TEXT
            )"""
            )


            

        


async def setup(bot):
    bot.add_cog(Keys(bot))
#

so hat das zu sein

#

da ist mehr als nur das 😂

mystic flower
#

ökö

#

ist aber immernoch so gelb

#

k

urban glen
#

falls das auch markiert ist

mystic flower
#

ja

mystic flower
urban glen
#

k

#

der rest sollte ganz normal sein

mystic flower
#

jo

#

ne

#

wer ist das ?

urban glen
#

frage ich mich auch

#

lol

silk gulch
urban glen
#

er ist supporter

#

ned developer

silk gulch
#

gg xD

mystic flower
#

xD

#

hahaha

urban glen
floral monolith
#

Nextbotkekwtfisthis

mystic flower
#

ist die falsche website die habe die geändert

floral monolith
#

Ok

silk gulch
floral monolith
#

Rwicht

#

Reicht

mystic flower
#

warte

urban glen
floral monolith
silk gulch
floral monolith
#

Nächster kriegt timeout

#

Allgemeine hilfe

mystic flower
urban glen
mystic flower
urban glen
#

zeig deine intents

#

es ist an sich das selbe wie pycord bruh

#

egal

mystic flower
#

so habe ich es doch nur ohne print

#

🙂

urban glen
#
if __name__ == "__main__":
    for filename in os.listdir("cogs"):
        if filename.endswith(".py"):
            await bot.load_extension(f"cogs.{filename[:-3]}")
    bot.run("token")

entfern dein aktuelles bot.run und ersetze es damit

urban glen
#

r

mystic flower
urban glen
#

bro tf?

#

warte mal

#

ich bin lost gerade glaub]

mystic flower
#

so geht das

#

xD

mystic flower
urban glen
#

timos video ist auch pycord und nicht d.py
an sich denke das es da kein unterschied gibt aber d.py ist cringe geworden

#

bzw outdated

mystic flower
#

okay

#

jo

#

dann use ich halt pycord

urban glen
#

vertrau mir wenn ich dir sage, steig auf pycord um

#

ich habe d.py lange genutzt

mystic flower
#

jo

urban glen
#

aber pycord - leichter / besser / schneller

mystic flower
#

jo

solid ingot
mystic flower
#

🤙

mystic flower
solid ingot
#

sieht cool aus

mystic flower
#

wäre nett wenn mir wer im call hilft

quiet socket
#
spec.loader.exec_module(lib)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/container/cogs/feedbacksys.py", line 9, in <module>
    db = sqlite3.connect('Data/feedback.db')
sqlite3.OperationalError: unable to open database file
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/home/container/main.py", line 184, in <module>
    bot.load_extension(f"cogs.{filename[:-3]}")
  File "/home/container/.local/lib/python3.10/site-packages/discord/cog.py", line 910, in load_extension
    self._load_from_module_spec(spec, name)
  File "/home/container/.local/lib/python3.10/site-packages/discord/cog.py", line 777, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.feedbacksys' raised an error: OperationalError: unable to open database file
container@pterodactyl~ Server marked as offline...
[Pterodactyl Daemon]: ---------- Detected server process in a crashed state! ----------
[Pterodactyl Daemon]: Exit code: 1
[Pterodactyl Daemon]: Out of memory: false
[Pterodactyl Daemon]: Aborting automatic restart, last crash occurred less than 60 seconds ago.
``` hmm wie kann ich das fixen?
mystic flower
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @mystic flower, du bist jetzt Level 7 🎉

solid ingot
#

der channel wird nicht gefunden

mystic flower
#

ja

#

nur warum nicht

#

die id ist richtig

solid ingot
#

hat der bot zugriff?

mystic flower
#

ja

#

er hat admin

mystic flower
wise stone
#

und kein int Format brauchst nicht

mystic flower
#

jo danke

wise stone
#

und neu starten

#

die Datei wird automatisch neu erstellt bei meinen code

#

muss auch in ne Kategorie namens Data existieren

wise stone
mystic flower
burnt prairieBOT
#
Level Up!

Herzlichen Glückwunsch @trail locust, du bist jetzt Level 17 🎉

wise stone
#

sehr hilfreich ohne Code

cloud cedar
#

bruh hör auf dir selbst gg zu sagen

cloud cedar
#

Was ist so der billigste schmutzhost der einen Bot hinkriegt

wise stone
#

also nur die down times da

cloud cedar
wise stone
#

neeeee

#

komm DM

cloud cedar
#

Dachte schon bruh

wise stone
#

schicke dir invite

tawdry leaf
#

Die haben halt Server in Virginia

cloud cedar
cloud cedar
urban glen
#

endelon hosting, gratis und ist gut, also kein schmutzhoster

tawdry leaf
cloud cedar
#

background.paste(circle_avatar, (30, 30))

cloud cedar
#

Hatt ich sowieso noch im Code gehabt

cloud cedar
cloud cedar
#

Kann mir wer anders mit endelon helfen?

quiet socket
open dragon
#

Tach, bei mir wird der button net angezeigt

wise stone
#

Frage anders formulieren bitte

wise stone
open dragon
#

also guck mal das ist nh claim button

#

und wen ein ticket geöffnet wird dann wird der button net angezeigz

wise stone
#

ja zeig Code wo die Nachricht gesendet wird mit den Button

open dragon
#

und es soll da drunter sein

wise stone
# open dragon

hä da wird kein Button Mal definiert das es was schicken soll

solid ingot
#

wie genau meinst du dass es nicht mehr übereinstimmt?

wise stone
#

gesamt XP ._.

#

du musst halt ne Rechnung daraus machen

solid ingot
#

das liegt nicht an der rank card

wise stone
#

oder in der DB was verändern damit er weiß WV XP es braucht oder ne def Methode machen wie ich's mache

#

nirgends?

#

du musst es in ne methode ausrechnen

#

müsstest in der staticmethode stehen wie die lvls berechnet wird

#

hö @solid ingot ist jedes lvls rly 100 XP? XD checke es Ner wie du es berechnest

#

oder jedes lvls höher immer 100 XP mehr?

solid ingot
#

die erklärung dazu gibts im video peeposhy

wise stone
#

net angeschaut 😂 hab's mit ne def Methode gemacht

#

dazu gibt's ein example von easy_pil