#Allgemeine Hilfe

1 messages · Page 72 of 1

ruby sparrow
#

hab ich schon

#

@solid ingot weiss du villt ?

solid ingot
#

was?

ruby sparrow
#

hier

solid ingot
#

naja cogs haben halt kein execute

cloud cedar
#

Wie checke ich ob der Bot den Kanal erstellen darf?

ruby sparrow
cloud cedar
ruby sparrow
cloud cedar
#

und in das else die fehlermeldung ballern?

ruby sparrow
#

ja

cloud cedar
ruby sparrow
#

Bitte uwu

cloud prawn
#

Kann man Slash commands und Prefix cmds in einen Bot machen, wenn ja kommen dir prefix cmds in ein cog oder in main.py?

restive herald
#

und kann alles in die main.py UND cogs

cloud prawn
cloud prawn
restive herald
restive herald
cloud prawn
odd kiteBOT
native inlet
#

Was war denn da, wenn ich fragen darf

cloud prawn
native inlet
cloud prawn
twilit rampart
#

hI

#

Könnte mir einer beim Keks Hosting helfen?

native inlet
#

Stell die frage einfach

twilit rampart
#

Wart

#

Ich versuch es mal nochmal wenn es weiterhin ned geht danmn komm ich

#

So hab es nicht geschafft, hier ist der Fehler code

  File "/home/container/main.py", line 29, in <module>
    for filename in os.listdir("cogs"):
FileNotFoundError: [Errno 2] No such file or directory: 'cogs'
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.

Ich habe meinen ganzen Cogs file rein getan, weiß nicht was nun das problem ist und es immernoch wieso auch immer cogs sagt

#

Hier ist mein requirements.txt datei

python-dotenv
aiosqlite
load_dotenv
requests
random```
worldly phoenix
#

Hey

#
import discord
import os
from dotenv import load_dotenv
import ezcord
import asyncio

intents = discord.Intents.all()

bot = ezcord.PrefixBot(intents=intents, command_prefix='!')


async def status_task():
    await bot.wait_until_ready()
    while not bot.is_closed():
        guild = bot.get_guild(1157722121733152818)  # Replace GUILD_ID with your actual guild ID
        if guild:
            users = sum(not member.bot for member in guild.members)

            await bot.change_presence(activity=discord.Game(f"mit {users} Usern"), status=discord.Status.online)
            await asyncio.sleep(10)
            await bot.change_presence(activity=discord.Game("Mave Service #1"), status=discord.Status.online)



@bot.event
async def on_member_join(member):
    role_ids = [1174698695112007732]
    for role_id in role_ids:
        role = member.guild.get_role(role_id)
        await member.add_roles(role)


bot.add_help_command()

if __name__ == "__main__":
    for filename in os.listdir("cogs"):
        if filename.endswith(".py"):
            bot.load_extension(f"cogs.{filename[:-3]}")
    load_dotenv()
    bot.loop.create_task(status_task())  
    bot.run()
#

was ist das Problem in meinem code

native inlet
twilit rampart
#

Nein

#

Achso... ich bin dumm

worldly phoenix
#

warum wird der status nicht change

native inlet
worldly phoenix
native inlet
worldly phoenix
#

wie?

native inlet
#

Oder wenn du ja eh ezcord nutzt, kannst du ja den ezcord feature nutzen

twilit rampart
#
    import discord
ModuleNotFoundError: No module named 'discord'
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.```

Jetzt kommt so eine Fehlermeldung..
native inlet
#
bot.add_status_changer(
    [
        discord.Game("mit {user_count} Usern"),
        discord.Game("Mave Service #1")
    ],
    interval=10
)
#

@worldly phoenix

native inlet
twilit rampart
#

Ja

native inlet
#

Schau zur sicherheit nochmal nach xD

twilit rampart
#
python-dotenv
aiosqlite
load_dotenv
requests
random```
native inlet
#

Wo steht da py-cord?

twilit rampart
#
python-dotenv
aiosqlite
load_dotenv
requests
random
#

Sorry hab es nicht markiert

native inlet
#

Wenns nicht klappt, geh zu dem Tab startup oder so und dann bei Additional Python Packages gibst du py-cord an

#

Und prüf am besten nochmal ob deine requirements.txt richtig heißt

native inlet
cloud prawn
#

Ist es leicht einen Taschenrechner zu coden?

native inlet
#

Meinst du als Desktop App? Oder Web Anwendung?

#

Oder Discord Bot?

cloud prawn
#

Discord prefix cmd

worldly phoenix
native inlet
twilit rampart
native inlet
worldly phoenix
# native inlet Damit kann ich nicht's anfangen

so ```py
import discord
import os
from dotenv import load_dotenv
import ezcord
from discord.ext import tasks

intents = discord.Intents.all()

bot = ezcord.PrefixBot(intents=intents, command_prefix='!')

async def status_task():
guild = bot.get_guild(1157722121733152818)
if guild:
users = sum(not member.bot for member in guild.members)
bot.add_status_changer(
[
discord.Game(f"mit {users} Usern"),
discord.Game("Mave Service #1")
],
interval=10
)

@bot.event
async def on_member_join(member):
role_ids = [1208174598659768382]
for role_id in role_ids:
role = member.guild.get_role(role_id)
await member.add_roles(role)

bot.add_help_command()

if name == "main":
for filename in os.listdir("cogs"):
if filename.endswith(".py"):
bot.load_extension(f"cogs.{filename[:-3]}")
load_dotenv()
bot.run()

#

ist es so richtig

cloud prawn
native inlet
#

@worldly phoenix ich nutze ezcord selber zwar nicht, aber anhand der Dokumentation vermute ich, dass es so aussehen soll:

import discord
import os
from dotenv import load_dotenv
import ezcord
from discord.ext import tasks

intents = discord.Intents.all()

bot = ezcord.PrefixBot(intents=intents, command_prefix='!')
bot.add_status_changer(
    [
        discord.Game(f"mit {users} Usern"),
        discord.Game("Mave Service #1")
    ],
    interval=10
)

@bot.event
async def on_member_join(member):
    role_ids = [1208174598659768382]
    for role_id in role_ids:
        role = member.guild.get_role(role_id)
        await member.add_roles(role)

bot.add_help_command()

if __name__ == "__main__":
    for filename in os.listdir("cogs"):
        if filename.endswith(".py"):
            bot.load_extension(f"cogs.{filename[:-3]}")
    load_dotenv()
    bot.run()
twilit rampart
#
ModuleNotFoundError: No module named 'dotenv'
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.```

Jetzt kommt das
native inlet
native inlet
native inlet
twilit rampart
native inlet
worldly phoenix
#

dotenv in die r

native inlet
#

Nicht dotenv

twilit rampart
#

Klappt leider ned

worldly phoenix
worldly phoenix
#

async def status_task():
guild = bot.get_guild(1157722121733152818)
if guild:
users = sum(not member.bot for member in guild.members) muss ja das

native inlet
#

Schau doch einfach mal in die Dokumentation

#
import discord
import os
from dotenv import load_dotenv
import ezcord
from discord.ext import tasks

intents = discord.Intents.all()

bot = ezcord.PrefixBot(intents=intents, command_prefix='!')
bot.add_status_changer(
    [
        discord.Game("mit {user_count} Usern"),
        discord.Game("Mave Service #1")
    ],
    interval=10
)

@bot.event
async def on_member_join(member):
    role_ids = [1208174598659768382]
    for role_id in role_ids:
        role = member.guild.get_role(role_id)
        await member.add_roles(role)

bot.add_help_command()

if __name__ == "__main__":
    for filename in os.listdir("cogs"):
        if filename.endswith(".py"):
            bot.load_extension(f"cogs.{filename[:-3]}")
    load_dotenv()
    bot.run()
twilit rampart
native inlet
worldly phoenix
native inlet
worldly phoenix
native inlet
# worldly phoenix link bitte?

Das ist jetzt ein schlechter Scherz?

Ich bin dir am helfen, verbessere deinen Code und du bist zu faul um selber in der Dokumentation zu suchen?

#

Das kannst du dir selber da suchen

twilit rampart
twilit rampart
#

Muss ich eigentlich den Token irgendwo bei Keks Hosting auch einfügen?

#

Das ist der Fehlercode

tawdry leaf
#

ja natürlich

solid ingot
#

dein token kann nicht geladen werden

tawdry leaf
#

manno

twilit rampart
#

Hmm… muss ich den Token in Requirments.txt einfügen?

tawdry leaf
#

solid ingot
#

ne, wo hast du den token denn aktuell?

twilit rampart
#

In meinem .env datei

#

Also in Pycharm

tawdry leaf
#

ja die musst du auch da laden 🤔

twilit rampart
#

Soll ich den .env datei rein ziehen?

upbeat owl
twilit rampart
#

Passt danke dir ich versuche es mal.. ich dummer idiot

upbeat owl
#

jeder lernt ja

twilit rampart
#

ja gut bin ned neu in der sache drinne sind halt manchmal blamierende fehler xd

ruby sparrow
ruby sparrow
#

kann man so machen ? ```py
async def setup(self):
await self.execute(
"""CREATE TABLE IF NOT EXISTS ticket(
server_id INTEGER PRIMARY KEY,
category_id INTEGER DEFAULT 0,
teamrole_id INTEGER DEFAULT 0,
logs_channel_id INTEGER DEFAULT 0,
ticket_channel_id INTEGER DEFAULT 0,
set_name_count INTEGER DEFAULT 0,
panel_name TEXT DEFAULT NULL
)"""
)

    await self.execute(
        """CREATE TABLE IF NOT EXISTS ticket_settings (
        server_id INTEGER PRIMARY KEY,
        open_tickets TEXT,
        close_tickets TEXT,
        format_names TEXT,
        embed_message TEXT,
        FOREIGN KEY (server_id) REFERENCES ticket(server_id)
        )"""
    )```
upper adder
#

Wenn das dann später NULL ist, bekommst du None zurück, wo du ganz easy if not variable machen kannst.

#

Und DEFAULT NULL ist automatisch so, das ist überflüssig.

#

Und wenn du normale Discord IDs hast, könntest du Probleme bekommen, wenn du server_id INTEGER machst, denn die Discord IDs sind meist zu lang für einen normalen INTEGER - zumindest in der Datenbank.
BIGINT würde ich eher empfehlen, oder TEXT.

#

Hoffe, das hilft ^^

void creek
#

Habe ein Fehler

ruby sparrow
void creek
#

Was

ruby sparrow
#

in cogs oder wo

void creek
#

Ja cogs

ruby sparrow
#

bei mir geht es alles

#

send deine requirements.txt

#

@void creek

void creek
ruby sparrow
#

zeig mal code

#

wie gemacht hast

#

wo hin hast du es gemacht

#

@void creek es geht alles

void creek
ruby sparrow
#

hast du dem code über handy rein gemacht

#

?

#

@void creek

void creek
#

Ja

ruby sparrow
void creek
#

Habe kein

ruby sparrow
cloud cedar
#

Wie sende ich nochmal eine DM an einen bestimmten user (ich hab nur die ID)

native inlet
cloud cedar
#

Danke

#

Wie krieg ich die ID vom Server-Owner?

#

also in einer Interaction

odd kiteBOT
native inlet
#

Müsste dennoch mit interaction.guild.owner.id sein

#

interaction.guild gibt die Guild der Interaktion wieder, also den Server.
Und mit guild.owner kannst du auf den Owner zugreifen

cloud cedar
#

Alles klärchen, dankeschön

lofty rock
#
@bot.slash_command(name="setup_autorole", description="Setup the autorole")
@commands.has_permissions(administrator=True)
async def setup_autorole(ctx, role: discord.Role):
    if not ctx.author.guild_permissions.administrator:
        await ctx.respond("You don't have permission to use this command", ephemeral=True)
        return

    for member in ctx.guild.members:
        await member.add_roles(role)
    
    await ctx.respond(f"Successfully setup the autorole for the role: {role.mention}", ephemeral=True)

@setup_autorole.error
async def setup_autorole_error(ctx, error):
    if isinstance(error, commands.MissingPermissions):
        await ctx.respond("You don't have permission to use this command", ephemeral=True)```

es gibt nicht die "await ctx.respond(f"Successfully setup the autorole for the role: {role.mention}", ephemeral=True)" msg woran liegt es auch kein error

nur "The application did not respond" und "You don't have permission to use this command"
native inlet
# lofty rock ```py @bot.slash_command(name="setup_autorole", description="Setup the autorole"...

Füg mal ein defer hinzu, vielleicht braucht die interaktion einfach zu lange.

@bot.slash_command(name="setup_autorole", description="Setup the autorole")
@commands.has_permissions(administrator=True)
async def setup_autorole(ctx, role: discord.Role):
    await ctx.defer()
    if not ctx.author.guild_permissions.administrator:
        await ctx.respond("You don't have permission to use this command", ephemeral=True)
        return

    for member in ctx.guild.members:
        await member.add_roles(role)
    
    await ctx.respond(f"Successfully setup the autorole for the role: {role.mention}", ephemeral=True)

@setup_autorole.error
async def setup_autorole_error(ctx, error):
    if isinstance(error, commands.MissingPermissions):
        await ctx.respond("You don't have permission to use this command", ephemeral=True)
lofty rock
native inlet
#

Joa ist eigentlich unnötig, da du es schon im decorator hast

lofty rock
# native inlet Joa ist eigentlich unnötig, da du es schon im decorator hast
@bot.slash_command(name="setup_autorole", description="Setup the autorole")
@commands.has_permissions(administrator=True)
async def setup_autorole(ctx, role: discord.Role):
    await ctx.defer()
        return

    for member in ctx.guild.members:
        await member.add_roles(role)
    
    await ctx.respond(f"Successfully setup the autorole for the role: {role.mention}", ephemeral=True)

@setup_autorole.error
async def setup_autorole_error(ctx, error):
    if isinstance(error, commands.MissingPermissions):
        await ctx.respond("You don't have permission to use this command", ephemeral=True)```

so?
lofty rock
lofty rock
native inlet
lofty rock
#

ist aber doch gemacht das er nur neue rolen soll nicht?

#

also wenn ein member joined soll der geroled werden

native inlet
# lofty rock 350+

Dann kann das bisschen dauern, weil du gehst mit dem Code durch alle Member und gibst allen Membern die Rolle.

Und das sind auch sehr viele Anfragen an die Discord API, was bedeutet das du auch einen Rate Limit bekommen kannst

lofty rock
#

der soll nur leute rolen die joinen

native inlet
#

...

lofty rock
#

das ist doch so ein kack

native inlet
#

Ich enthalte mich davon

#

Allein das du ChatGPT fragst..

lofty rock
#

aber nun hat es mich enttäusched

native inlet
#

Aber wieso kommst du nicht selber auf die Guten sachen?

lofty rock
#

on_member_join event muss da rein

native inlet
#

Selber Coden bringt viel mehr als eine KI zu fragen

lofty rock
lofty rock
#

och man

lofty rock
# native inlet Selber Coden bringt viel mehr als eine KI zu fragen
autorole_role = None

@bot.event
async def on_member_join(member):
    global autorole_role
    if autorole_role:
        role = member.guild.get_role(autorole_role)
        if role:
            await member.add_roles(role)

@bot.slash_command(name="setup_autorole", description="Setup the autorole")
@commands.has_permissions(administrator=True)
async def setup_autorole(ctx, role: discord.Role):
    global autorole_role
    await ctx.defer()
    
    autorole_role = role.id
    await ctx.respond(f"Successfully setup the autorole for the role: {role.mention}", ephemeral=True)

@setup_autorole.error
async def setup_autorole_error(ctx, error):
    if isinstance(error, commands.MissingPermissions):
        await ctx.respond("You don't have permission to use this command", ephemeral=True)```

sorry für den ping aber meinst du das geht nun wie es soll?
native inlet
#

Kann ich hellsehen?

#

Teste es aus

lofty rock
lofty rock
#

danke für die hilfe

dusty tiger
#

@solid ingot

#

das der code dazu:

#string_locals = {"de": de}
#ezcord.i18n.I18N(string_locals)
self.localize_commands(de)```
solid ingot
floral bane
#

Was genau muss man machen, damit der Bot diese Badge bekommt? Ja mein Bot kann slash-Befehle.

fierce dove
#

Dann müsste das badge schon da sein wenn dein bot Slash commands hat

solid ingot
cloud cedar
#

Wie könnte ich die Items von meiner Economy Speichern? Hab keine ahnung wie ich das machen soll...

#

Also nicht die Items, sondern die Inventare

cloud prawn
#
import discord
import requests
import asyncio
import time
from datetime import datetime, timedelta
import json

intents = discord.Intents.default()
intents.messages = True
intents.message_content = True
intents.reactions = True
intents.guilds = True
intents.guild_messages = True

bot = commands.Bot(command_prefix=".", intents=intents)

ping_history = {}


@bot.event
async def on_ready():
    print(f'We have logged in as {bot.user}')


@bot.command()
async def paylog(ctx, exchanger: discord.Member, buyer: discord.Member, typ: str, amount: int):
    try:
        embed = discord.Embed(title="Exchange completed", color=0x00ff00)
        embed.add_field(name="Exchanger", value=exchanger.mention, inline=False)
        embed.add_field(name="Buyer", value=buyer.mention, inline=False)
        embed.add_field(name="Type", value=typ, inline=False)
        embed.add_field(name="Amount", value=f"€{amount}", inline=False)
        await ctx.send(embed=embed)
    except Exception as e:
        await ctx.send(f"Es ist ein Fehler aufgetreten: {e}")


allowed_channels = [1216380921041784882, 1216381760443514940, 1216389774244577300


@bot.event
async def on_message(message):
    if message.author.bot:
        return

    global ping_history
    
    
    if message.channel.id in allowed_channels:
        if message.content.startswith('@everyone') or message.content.startswith('@here'):
            
            if message.channel.id in ping_history:
                pings = ping_history[message.channel.id]
            else:
                pings = {'count': 0, 'last_ping_time': 0}
                ping_history[message.channel.id] = pings

            current_time = time.time()
            
            if current_time - pings['last_ping_time'] >= 86400:
                pings['count'] = 0  
                pings['last_ping_time'] = current_time
            
            if pings['count'] < 2:
                pings['count'] += 1
                if pings['count'] == 1:
                    embed = discord.Embed(title="**__1/2 | Use MM__**", description="", color=0x00ff00)
                    embed.set_footer(text="Devolped by poison.", icon_url="")
                elif pings['count'] == 2:
                    next_ping_time = datetime.fromtimestamp(pings['last_ping_time']) + timedelta(days=1)
                    next_ping_time_str = next_ping_time.strftime("%Y-%m-%d %H:%M:%S")
                    embed = discord.Embed(title="**__2/2 | Use MM__**", description=f"You can ping in {next_ping_time_str} (UTC) again.", color=0xFF0000)
                    embed.set_footer(text="Devolped by poison.", icon_url="") 
            else:
                
                next_ping_time_str = next_ping_time.strftime("%Y-%m-%d %H:%M:%S")
                next_ping_time = datetime.fromtimestamp(pings['last_ping_time']) + timedelta(days=1)
            
            
            await message.channel.send(embed=embed)```

kann wer helfen habe den cmd .paylog und der geht gnicht aber wenn ich den anderen also mit allowed channels weg mache geht der
cloud cedar
#

Wie gette ich in einer Interaction?
self.bot geht ja nid

limber crow
cloud cedar
limber crow
thick haven
#

Hi, Ich habe ein problem,
Mein Bot geht online und läöd alle befehle und wenn ich den befehl eingabe dann kommt anwendung reagiert nicht und der befehl besteht nur aus eine print("test")

twin slate
#

du reagierst nicht auf die anwendung. reagieren ist ctx.respond("test")

thick haven
#

ja aber der printet mir auch nix

proud lintel
thick haven
#

print

proud lintel
#

Wie sieht den der Code aus?

thick haven
#
    @commands.has_permissions(administrator=True)
    @commands.cooldown(1, 10, commands.BucketType.user)
    @discord.guild_only()
    async def tempy(self, ctx):
        print("test")```
proud lintel
thick haven
#

selbst wenn nicht würde ich nen error bekommen

proud lintel
thick haven
#

irgentteinen

urban glen
#

Wie kann ich in py-dactyl ein Server Backup erstellen? Die Funktion API.client.servers.backup.crrate_backup() macht nix aber ich bekomme auch keinen error

limber crow
urban glen
#

Ist ein Python API Wrapper für Pterodactyl

urban glen
#

das ist der error

twilit rampart
#

Jungs mal nh kleine frage, wenn ich in meinen Embeds bilder rein tue werden die nach einigen Tagen nicht mehr geladen? Wie kann man das fixxen

jade mantle
tawdry leaf
native inlet
#

Kannst die Bilder z.B. auf Imgur dann hochladen und den Link nehmen

twilit rampart
#

Passt danke dir

limber crow
fierce dove
#

Wie kann ich pycord und EzCord Updaten in Pterodactyl

#

Habs

#

Kann ich das auch in der requirements.txt updaten lassen

native inlet
#

Erst wenn du sie löscht

limber crow
native inlet
fierce dove
#

Ok danke

cloud cedar
#

Er gibt mir einen MissingPermissions Error und schreibt "TICKET WIRD GELÖSCHT", warum?

native inlet
#

Kann viele gründe haben

cloud cedar
native inlet
cloud cedar
native inlet
#

mit get_user bekommst du genau das selbe Objekt wie mit interaction.guild.owner

cloud cedar
native inlet
#

Aber wenn du unbedingt eine user-variable willst, geht es auch so:

user = interaction.guild.owner
await user.send(embed=embed)
cloud cedar
#

Also der Bot hat Admin aber gibt mir bei channel.delete einen Missingpermissions error. Ausserdem sollte er wenn er die perms nicht hat eine andere Nachricht senden

native inlet
cloud cedar
native inlet
cloud cedar
native inlet
#

dann nicht channel.delete sondern interaction.channel.delete

cloud cedar
#

genau

cloud cedar
#

Er sagt immer die Mod Rolle konnte nicht gefunden werden, wieso

native inlet
cloud cedar
native inlet
#

Ich werde jetzt nicht den ganzen Code durchschauen

#

Schick doch einfach das wichtigste

cloud cedar
#

keine ahnung was davon das wichtigste ist

cloud cedar
native plume
native plume
native plume
#

👍

native plume
restive herald
fierce dove
restive herald
#

mein github copilot schlägt mir das sogar vor jtzt xd

native plume
native plume
restive herald
restive herald
fierce dove
restive herald
restive herald
native plume
fierce dove
#

glaube ich habs

placid trellis
#

Importier module nur wo du sie auch brauchst

fierce dove
#

hab ich ja

placid trellis
#

Du kannst ein Modul nicht in mehreren Datein importieren wenn eine andere datei darauf zugreifen muss

fierce dove
#

ok

placid trellis
#

sagt der error dir auch

most likely due to a circular import

viscid lake
native plume
#

Erzähl

viscid lake
opaque blade
#

Moinooo, mein Bot sagt dass "Guild keine Attribute namens "members" hat- schaue aber in den docs nach und finde "members".

  File "/home/container/cogs/levelsystem.py", line 253, in is_connected
    for member in guild.members:
AttributeError: 'NoneType' object has no attribute 'members'
native inlet
#

Deine guild-Variable ist None

#

Das heißt die Guild wird nicht gefunden

opaque blade
#

oh...

#

macht sinn hahahaha

#

danke dir!

hard pivot
#

Hallo ich habe des öfteren gesehen das man einen bot machen kann der auf verschiedenen server verschiedene Profil Bilder oder Namen hat ist aber der gleiche bot weiß wer wie das geht?

cloud prawn
viscid lake
#

was genau heißt das o.O

dusty tiger
#

da fehlt ein await irgendwo

viscid lake
worldly phoenix
#

Hey wollte fragen mit welchen Event oder wie mann es macht das wenn ein user boostet das er dann von bot eine dm bekommt und eine nachricht in chat bekommt ich weiß wie das mit der nachricht funktioniert aber würde gerne wissen wie das mit dem boosten funktioniert also ob mann das mit einen event macht und wenn ja mit welchen

graceful fiber
dusty tiger
worldly phoenix
chrome trellis
#
    @commands.Cog.listener()
    async def on_ready(self):
        self.bot.add_view(TutorialSelect())
Ignoring exception in on_ready
Traceback (most recent call last):
  File "C:\Users\devolix\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 400, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\devolix\Downloads\CADE\cogs\botproducts.py", line 19, in on_ready
    self.bot.add_view(TutorialSelect())
  File "C:\Users\devolix\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 1945, in add_view
    raise TypeError(f"expected an instance of View not {view.__class__!r}")
TypeError: expected an instance of View not <class 'cogs.botproducts.TutorialSelect'>
#

Hey weiß wer warum ich das Dropdown nicht zur View adden kann damit es nach dem Neustart nutzbar bleibt?

cloud cedar
chrome trellis
cloud cedar
chrome trellis
#

Ich möchte halt das der dropdown auch nach dem Neustart funktioniert

ruby sparrow
#
class test (discord.ui.View):
    def __init__(self):
        super().__init__(timeout=None)

    @discord.ui.select(
        custom_id="test",
        min_values=1,
        max_values=2,
        placeholder="Make a selection of your ticket",
        options=options,
    )```
#

so muss machen @chrome trellis

chrome trellis
#

oh

ruby sparrow
#

ja

ruby sparrow
# chrome trellis oh

Select Menü haben eigentlich keine Custom ID deswegen musst du ein button darüber machen

chrome trellis
ruby sparrow
#

Send mal dein ganze code

chrome trellis
ruby sparrow
#

Hm bin gleich an pc weit

twilit rampart
#

Kann mir einer kurz im Call helfen

ruby sparrow
#

Ja warte

#

@twilit rampart ja kommt

chrome trellis
native inlet
chrome trellis
chrome trellis
# vivid sky welcher??
Traceback (most recent call last):
  File "C:\Users\devolix\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 400, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\devolix\Downloads\CADE\cogs\botproducts.py", line 19, in on_ready
    self.bot.add_view(TutorialSelect())
  File "C:\Users\devolix\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 1945, in add_view
    raise TypeError(f"expected an instance of View not {view.__class__!r}")
TypeError: expected an instance of View not <class 'cogs.botproducts.TutorialSelect'>
vivid sky
#

Zeig mal wie du es adden tust

chrome trellis
viscid lake
#

ich kapiere es nicht es liegt dan remove aber ich finde den fehler nicht

de:

  show_welcome_text:
    name: willkommens_text

  remove_welcome:
    name: channel_löschen

  set_welcome_message:
    name: willkommens_message
    description: Setzte die Willkommens Nachricht
    options:
      welcome_title:
        description: Schreibe ein Embed title
      welcome_text:
        description: Schreibe die Willkommens nachricht```

```py
File "F:\offi bots\Cloud\venv\lib\site-packages\discord\http.py", line 373, in request
    raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body

In 2.name_localizations: String value did not match validation regex.```
tawdry leaf
tawdry leaf
viscid lake
tawdry leaf
tawdry leaf
viscid lake
#

Es ging ja bevor ich das mit Remove gemacht habe

tawdry leaf
#

es liegt nicht an der yaml

cloud cedar
#

hi, warum erstellt er jedes mal eine Neue Zeile?

limber crow
cloud cedar
limber crow
limber crow
cloud cedar
solid ingot
#

irgendwas stimmt mit deinem primary key nicht. wenn eine spalte primary key ist, kann jeder wert nur einmal vorkommen

limber crow
cloud cedar
limber crow
cloud cedar
#

was geht da ab

solid ingot
#

ah stimmt sind verschiedene ja dann passt alles

limber crow
cloud cedar
#

warum hab ich 2 verschiedene ID´s?
Ich pinge die mal..

limber crow
solid ingot
cloud cedar
solid ingot
cloud cedar
#

jemand ist in meinem PC

limber crow
cloud cedar
#

jetzt sind die ID`s andere 💀

limber crow
cloud cedar
limber crow
cloud cedar
limber crow
#

Lass dir mal die Message Printen mit der der User in der dB gespeichert wird

cloud cedar
#

gute idee

limber crow
cloud cedar
#

mach ich da einfach on_message(self, member, message)?

cloud cedar
limber crow
cloud cedar
limber crow
cloud cedar
#

oder bin ich lost

limber crow
cloud cedar
limber crow
#

Das gehört da auch nicht rein

cloud cedar
#

jetzt geht`s :)

limber crow
cloud cedar
limber crow
cloud cedar
limber crow
#

Wusstest du es nicht besser oder wieso ?

cloud cedar
#


dachte es wäre so gewesen

limber crow
cloud cedar
#

Wie kann ich bei DB-Timestamps checken, ob etwas weniger als z.B. 3 Stunden her ist?

solid ingot
tired hearth
solid ingot
#

genau

tired hearth
#

Wie machst du das man das sehen kann und sich das immer ändert ?

viscid lake
# solid ingot zeig mal wo du die yaml datei im code lädst
with open("commands.yaml") as file:
    commands = yaml.safe_load(file)


bot = ezcord.Bot(language="de",
                    intents=discord.Intents.all(),
                    error_webhook_url=os.getenv('WEBHOOK_URL'))





bot.load_cogs("cogs", subdirectories=True)
bot.add_help_command(ephemeral=True, author_only=True, show_cmd_count=True)

bot.localize_commands(commands, default="en-US")

load_dotenv()
bot.run(os.getenv("TOKEN"))```
solid ingot
viscid lake
#

danke es geht :d

strange juniper
#

in welchem video war das, dass das on_ready event nur einmal und nicht mehrmals ausgeführt wird?

ruby sparrow
#
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: OperationalError: no such table: ticket``````py
class TicketDB(ezcord.DBHandler):
    def __init__(self):
        super().__init__("db/ticket.db")

    async def setup(self):
        await self.execute(
            """CREATE TABLE IF NOT EXISTS ticket(
            server_id INTEGER PRIMARY KEY,
            category_id INTEGER DEFAULT 0,
            teamrole_id INTEGER DEFAULT 0,
            logs_channel_id INTEGER DEFAULT 0
            )"""
        )

    async def set_category(self, server_id, category_id):
        await self.execute(
            "INSERT INTO ticket (server_id, category_id) VALUES (?, ?) ON CONFLICT(server_id) DO UPDATE SET category_id = ?",
            (server_id, category_id, category_id)
        )

    async def get_category(self, server_id):
        return await self.one("SELECT category_id FROM ticket WHERE server_id = ?", (server_id,))

    async def set_teamrole(self, server_id, teamrole_id):
        await self.execute(
            "INSERT INTO ticket (server_id, teamrole_id) VALUES (?, ?) ON CONFLICT(server_id) DO UPDATE SET teamrole_id = ?",
            (server_id, teamrole_id, teamrole_id)
        )

    async def get_teamrole(self, server_id):
        return await self.one("SELECT teamrole_id FROM ticket WHERE server_id = ?", (server_id,))

    async def set_logs_channel(self, server_id, logs_channel_id):
        await self.execute(
            "INSERT INTO ticket (server_id, logs_channel_id) VALUES (?, ?) ON CONFLICT(server_id) DO UPDATE SET logs_channel_id = ?",
            (server_id, logs_channel_id, logs_channel_id)
        )

    async def get_logs_channel(self, server_id):
        return await self.one("SELECT logs_channel_id FROM ticket WHERE server_id = ?", (server_id,))


db = TicketDB()```
chrome trellis
#
    @commands.Cog.listener()
    async def on_ready(self):
        self.bot.add_view(TutorialSelect())
Traceback (most recent call last):
  File "C:\Users\devolix\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 400, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\devolix\Downloads\CADE\cogs\botproducts.py", line 19, in on_ready
    self.bot.add_view(TutorialSelect())
  File "C:\Users\devolix\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 1945, in add_view
    raise TypeError(f"expected an instance of View not {view.__class__!r}")
TypeError: expected an instance of View not <class 'cogs.botproducts.TutorialSelect'>
#

Hey ich versuche das Dropdown auch nach einem Neustart am leben zu halten jedoch kommt dieser error

viscid lake
cloud cedar
#

Ich checke nicht, wie ich mit dem DB Datetime Video nen Cooldown machen kann für mein Levelsystem

cloud cedar
ruby sparrow
#

ja

chrome trellis
chrome trellis
# viscid lake Schick den Code von Menü
class TutorialSelect(discord.ui.Select):
    def __init__(self):
        super().__init__(
            min_values=1,
            max_values=1,
            placeholder="» Select a product",
            options=options
        )

    async def callback(self, interaction):
        if self.values[0] == "custom_bot":
[. . . ]
viscid lake
#

Hmm kein Timeout

viscid lake
#

Schau dir das am besten an

cloud cedar
#

ich check nicht wie ich mit dem DB Timestamp tutorial einen Timeout für mein Levelsystem machen kann :(

chrome trellis
solid ingot
solid ingot
chrome trellis
solid ingot
cloud cedar
chrome trellis
strange juniper
chrome trellis
strange juniper
#

2 stunden gesucht, frustriert selbst gecoded, nach 5 minuten ne lösung gehabt. klassiker 😄

solid ingot
cloud cedar
solid ingot
#

merken musst dus dir gar nicht, einfach nochmal die stelle anschauen :D

cloud cedar
dusty tiger
ruby sparrow
dusty tiger
ruby sparrow
#

ja

hard pivot
#

Hallo weiß wer wie ich checken kann was das label eines bestimmten buttons ist?

tawdry leaf
#

label ist das was auf den button steht 🤔

#

meinst du custom id?

solid ingot
#

je nachdem ob du view/button klasse hast

hard pivot
#

Wollte es so machen das wenn label = ... dann ist das label auch ... und wenn label = --- ist label gleich ---

#

Weißt du wie ich das mache

tawdry leaf
hard pivot
hard pivot
# tawdry leaf du addest doch die view class im on_ready
Ignoring exception in on_ready
Traceback (most recent call last):
  File "C:\Users\larsl\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\discord\client.py", line 400, in _run_event
    await coro(*args, **kwargs)
  File "c:\Users\larsl\Python\Eigene Projekte\Discord bot\Discord bot Projekt\main.py", line 172, in on_ready
    view.add_item(LevelUpMessageButton()) # label
TypeError: __init__() missing 1 required positional argument: 'label'

Das ist der error

worldly phoenix
#

if ctx.author.id == 549640315724890165: Wie mache ich hier mehrer ids rein

tawdry leaf
#

du hast beim button kein label

worldly phoenix
#

wie

#

mit komma geht nie

tawdry leaf
#

allowed_members = [549640315724890165, nächste id,]
if ctx.author.id in allowed_members:
...

worldly phoenix
#

ah stimmt habe das bei meiner main.py auch so

worldly phoenix
#

sorry für meine dummheit

#

if ctx.author.id == [549640315724890165, 123]: Geht auch so einfach oder?

tawdry leaf
#

teste es xD

worldly phoenix
#

ja geht

hard pivot
#

Und ist ne nach fall unterschiedlich

tawdry leaf
#

hm also der error sagt es gibt kein label 😮

hard pivot
#

Das ist ja auch grad das Problem das ich den button mit genau dieser eigenschaft im on ready adden will er aber ein label angegeben haben will was ich machen möchte ist zu checken was es ist und es dann als label festzulegen aber kein plan wie

hard pivot
tawdry leaf
#

man kann doch ein festes haben und es danach je nach fall ändern xD

tawdry leaf
#

sowas in der art müsste da im video sein

tired hearth
#

Was mache ich hier falsch bzw. was sagt der Fehler?

tawdry leaf
#

error und code

tawdry leaf
tired hearth
tawdry leaf
tired hearth
hard pivot
#
view.add_item(LevelUpMessageButton(label=f"Set a {'new' if check_settings[4] == None else ''} level up message"))
class LevelUpMessageButton(discord.ui.Button):

    def __init__(self, label):
        super().__init__(
            label=label,
            style=discord.ButtonStyle.blurple,
            custom_id="set_level_up_message"
        )

    async def callback(self, interaction:discord.Interaction):

        if interaction.user.guild_permissions.administrator:

            await interaction.response.send_modal(LevelUpMessageModal())
        
        else:

            await interaction.response.send_message(embed=no_permissions_emb, ephemeral=True, view=None)
    @commands.Cog.listener()
    async def on_ready(self):

        view = View(timeout=None)
        print(f'Logged in as: {bot.user.name}')
        print(f'With ID: {bot.user.id}')
        self.bot.loop.create_task(status_task())
        
        view.add_item(LevelUpMessageButton()) # label
     ```

Weiß wer wie ich das mache da ich ein Variables Label habe das ich es im on ready adden kann?
quasi frost
#

Moinsen
ich hab grad nen url button gemacht und der geht nicht auf den discord wo mit der button verbunden ist also was ich meine
wen ich den link von github von tibue nehmme geht das

#

aber wen ich das mit discord link mache passiert beim button nichts

quasi frost
#

versuch ich grad aber der blockt das weil der link drin ist

#

mach den kurz raus 1 sec

#
import discord
import ezcord
from discord.ext import commands
from discord.commands import slash_command, Option

class Fun(ezcord.Cog):
    def __init__(self, bot):
        self.bot = bot

    @slash_command(description="Grüße einen User")
    async def greet(self, ctx, member: Option(discord.Member, "Der User, den du grüßen möchtest", default=None)):
        if member is None:
            member = ctx.author
        await ctx.respond(f"Hallo {member.mention}")

    @slash_command(description="Zeige Infos über den Bot")
    async def botinfo(self, ctx):
        button = discord.ui.Button(label="🔗・Support Server", url="Die discord invite url")
        view = discord.ui.View()
        view.add_item(button)

        await ctx.respond(view=view)

def setup(bot):
    bot.add_cog(Fun(bot))
mystic flower
#

Ja die url muss auch ne gültige urls sein nur mal so

quasi frost
#

url ist gültig 🙂

mystic flower
#

Warte ich gucke mal nach

quasi frost
#

ist halt komisch mit den link von tibues github geht das

quasi frost
#

ich schick den code ja im server ab mit dem der link ist und wen ich drauf klick geht das

#

habs mit inv link von hier versucht also geht es

viscid lake
#

frage liegt es am bot?

tawdry leaf
#

was das für import 🤔

viscid lake
#

nur die normale os yaml discord ezcord dotenv

tawdry leaf
#

hm

viscid lake
#
import discord
import ezcord
import os
from dotenv import load_dotenv
import yaml```
woeful sparrow
#

@viscid lake kannst du bitte ganzen error schicken ?

viscid lake
viscid lake
#

ich kapiere es nicht kann sein das ich zu müde bin aber in der yaml steht cogs auf deutsch und auf englisch aber da passiert nix

de:

  docs:
    name: infomation
    description: Wenn du hilfe brauchst verwende mich

  remove_welcome:
    name: willkommens_channel_löschen

  show_welcome_text:
    name: willkommens_text
    description: Zeige dir den willkommens text



  set_welcome_message:
    name: willkommens_message
    description: Setzte die Willkommens Nachricht
    options:
      welcome_title:
        description: Schreibe ein Embed title
      welcome_text:
        description: Schreibe die Willkommens nachricht

  set_welcome_channel:
    name: kanal_setzten
    description: Setzte den Willkommens channel
    options:
      channel:
        description: Wähle einen channel aus
  afk:
    name: abwesendheit
    description: Setzte deine abwesenheits grund
    options:
      afk_status:
        description: schreibe einen grund
  cogs:
    welcome_setup:
      name: asdasd
      description: asdasdsad




en:
  docs:
    name: infomation
    description: If you need help use me

    remove_welcome:
      name: willkommens_channel_löschen

    show_welcome_text:
      name: willkommens_text
      description: Show you the welcome text



    set_welcome_message:
      name: willkommens_message
      description: Set the welcome message
      options:
        welcome_title:
          description: Write an embed title
        welcome_text:
          description: Write the welcome message

    set_welcome_channel:
      name: set_channel
      description: Set the welcome channel
      options:
        channel:
          description: Select a channel
    afk:
      name: absence
      description: Set your reason for absence
      options:
        afk_status:
          description: write a reason

    cogs:
      welcome_setup:
        name: ichbincool
        description: ich hasse menschen



thick forum
#

Hey zusammen, kann jemand von euch LUA?🙂

viscid lake
ruby sparrow
#
[ERROR] Error while executing /poll 
Traceback (most recent call last):
  File "C:\Users\nicor\OneDrive\Desktop\helper stern\venv\Lib\site-packages\discord\commands\core.py", line 131, in wrapped
    ret = await coro(arg)
          ^^^^^^^^^^^^^^^
  File "C:\Users\nicor\OneDrive\Desktop\helper stern\venv\Lib\site-packages\discord\commands\core.py", line 1009, in _invoke
    await self.callback(self.cog, ctx, **kwargs)
  File "C:\Users\nicor\OneDrive\Desktop\helper stern\cogs\poll.py", line 14, in poll
    modal = pollModal(title="Make your Poll")
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: pollModal.__init__() got an unexpected keyword argument 'title'``` ```py
@slash_command(description="Create a Poll")
    async def poll(self, ctx):
        modal = pollModal(title="Make your Poll")
        await ctx.send_modal(modal)``` bin ich so müde dafür was
fierce dove
#

@slash_command(description="Create a Poll")
    async def poll(self, ctx):
        await ctx.send_modal(pollModal())
cloud cedar
#
    @slash_command()
    async def level(self, ctx):
        xp, messages, last_message = await db.get_level(ctx.author.id)
        if xp is None:
            return await ctx.respond("Du bist noch nicht in meiner Datenbank.")
        await ctx.respond(f"{ctx.author.mention} hat {messages} Nachrichten und {xp} XP.")

ich versuche zu checken ob`s none ist, krieg aber nen cannot unpack non-iterable NoneType object Error.
Wie fixxe ich das?

graceful fiber
#
@slash_command()
async def level(self, ctx):
    level_data = await db.get_level(ctx.author.id)
    if level_data is None:
        return await ctx.respond("Du bist noch nicht in meiner Datenbank.")
    
    xp, messages, last_message = level_data
    await ctx.respond(f"{ctx.author.mention} hat {messages} Nachrichten und {xp} XP.")```

So einfach?
ruby sparrow
#

ja

hard pivot
#

Weiß wer wie ich chechen kann ob ein link ein bild, gif oder video oder erwas änliches ist? also innerhalb einer Nachricht

hard pivot
# limber crow If Abfrage

Ja soweit war ich auch hab auch schon mit message.attachments gemacht aber gifs fallen da nicht drunter

#

und paar andere Medien

limber crow
tawdry leaf
cloud cedar
tawdry leaf
#

ok

fierce dove
ruby sparrow
#

warum zeig das embed rot an

cloud cedar
#

musst vorher embed = discord.Embed definieren

native inlet
ruby sparrow
#

hab schon mit gekommt

quasi frost
#

Moinsen ich hab ne frage muss ich immer with open schreiben für jede yaml datei oder kann ich irgendwie in ein open mehrer yaml datein laden

tawdry leaf
#

denke es geht nur eine

tawdry leaf
quasi frost
#

ok

#

Noch ne frage
wie übersetze ich das mit der yaml datei bei greet war das ja so:

Hallo {user}```
und dan
```py
 "greet_user", user=user.mention)"``` aber ich brauch in embed einmal user.name und user.mention wen ich aber jetzt da hinter, user=user.mention und user=user.name mache geht das nicht
#

code kommt

#
yaml datei:
fun:
  greet:
    greet_user: Hallo {user}

  userinfo:
    userinfo_embed:
      title: Infos über {user.name}
      description: Hier siehst du alle Infos über {user.mention}

und hier einmal mein command

 @slash_command(description="Zeige Infos über einen User")
    async def userinfo(
            self,
            ctx,
            user: Option(discord.Member, "Gib einen User an", default=None)
    ):
        if user is None:
            user = ctx.author

        infoEmbed = ezcord.TEmbed(
            "userinfo_embed",
            color=discord.Color.purple()
        )
        time = discord.utils.format_dt(user.created_at, "R")

        infoEmbed.add_field(name="Account erstellt", value=time, inline=False)
        infoEmbed.add_field(name="ID", value=user.id)
        infoEmbed.set_thumbnail(url=user.display_avatar.url)

        await ctx.respond(embed=infoEmbed, user=user.mention)
tawdry leaf
quasi frost
tawdry leaf
# quasi frost wie genau

hm wie im video xD

bei general dann einf hinzufügen weiß aber nicht ob da auch dynamische variablen gehen

quasi frost
#

ok

upper adder
#

Mal ne frage an die SQl- und Python Spezialisten 😅

Welchen Datentyp muss ich an die db.execute() Funktion üvergeben, wenn ich WHERE uID IN ? schreibe?
Ich nahm an, ein tupel (weil SQL an sich die Schreibweise mit () verlangt).
Jedoch bin ich mir nicht sicher. Was denkt ihr?

Der Code dazu:

cursor = await db.execute(
    """
    SELECT
        ROW_NUMBER() OVER (ORDER BY totalXp DESC) AS rank,
        user,
        uname,
        totalXp,
        levelXp,
        lvl,
        msgs,
        voice_mins
    FROM main
    WHERE user IN ?
    ORDER BY totalXp DESC
    """,
    (memberIDs,)
)
#

ja, das SQl-Satement ist was den rank angeht noch fehlerhaft, aber das ist Nebensache...

solid ingot
#

es kann sein dass du die Liste manuell aus den Werten konstruieren musst, sodass am Ende ein String mit allen werten rauskommt

upper adder
#

Weiß nicht. Ich teste es später einfach mal aus

quasi frost
solid ingot
#

du erstellt ne normale Button Klasse und tust das in die add_help_command funktion

tawdry leaf
#

oder eine Liste xD

viscid lake
#

ich kapiere es nicht kann sein das ich zu müde bin aber in der yaml steht cogs auf deutsch und auf englisch aber da passiert nix

de:

  docs:
    name: infomation
    description: Wenn du hilfe brauchst verwende mich

  remove_welcome:
    name: willkommens_channel_löschen

  show_welcome_text:
    name: willkommens_text
    description: Zeige dir den willkommens text



  set_welcome_message:
    name: willkommens_message
    description: Setzte die Willkommens Nachricht
    options:
      welcome_title:
        description: Schreibe ein Embed title
      welcome_text:
        description: Schreibe die Willkommens nachricht

  set_welcome_channel:
    name: kanal_setzten
    description: Setzte den Willkommens channel
    options:
      channel:
        description: Wähle einen channel aus
  afk:
    name: abwesendheit
    description: Setzte deine abwesenheits grund
    options:
      afk_status:
        description: schreibe einen grund
  cogs:
    welcome_setup:
      name: asdasd
      description: asdasdsad




en:
  docs:
    name: infomation
    description: If you need help use me

    remove_welcome:
      name: willkommens_channel_löschen

    show_welcome_text:
      name: willkommens_text
      description: Show you the welcome text



    set_welcome_message:
      name: willkommens_message
      description: Set the welcome message
      options:
        welcome_title:
          description: Write an embed title
        welcome_text:
          description: Write the welcome message

    set_welcome_channel:
      name: set_channel
      description: Set the welcome channel
      options:
        channel:
          description: Select a channel
    afk:
      name: absence
      description: Set your reason for absence
      options:
        afk_status:
          description: write a reason

    cogs:
      welcome_setup:
        name: ichbincool
        description: ich hasse menschen



https://cdn.discordapp.com/attachments/1019974414487535736/1218760383255548015/image.png?ex=6608d60e&is=65f6610e&hm=e56af05901978cd3394627329cc73ce2f365f3da1463733491af1e914214cb10&

https://cdn.discordapp.com/attachments/1019974414487535736/1218760383502880818/image.png?ex=6608d60e&is=65f6610e&hm=01b6f576bb078d5b9faf646ed55490ac04729d2a0b06a48c4b8de714b9ad65f4&

tawdry leaf
#

das ist der help cmd

viscid lake
#

JAß

#

ja?

tawdry leaf
#

dazu wurde im video was bestimmtes gesagt peeposhy

viscid lake
#

ja? das man es übersetzten kann

tawdry leaf
#

auch

#

@viscid lake also das mit cogs: brauchst du meines Wissens nur für die Cogs namen und beschreibungen die cmds machst du wie sonst auch in der de: bzw en: xD

#

steht auch in den docs peeposhy

#

aber wieso bist du müde xD

ruby sparrow
#
@discord.ui.button(label="", style=discord.ButtonStyle.gray, row=1, emoji="![Cross](https://cdn.discordapp.com/emojis/772401517667680276.webp?size=128 "Cross")", custom_id="downvote")
    async def down(self, button, interaction):
        if interaction.user.id in self.downvotes:
            await interaction.response.send_message("You have already voted for Down. You can't switch your vote.", ephemeral=True)
        else:
            if interaction.user.id in self.upvotes:
                self.upvotes.remove(interaction.user.id)
                self.embed.set_field_at(0, name="👍 __**Up Votes**__", value=f"{len(self.upvotes)} Votes")

            self.downvotes.add(interaction.user.id)
            self.embed.set_field_at(1, name=":thumbsdown: __**Down Votes**__", value=f"{len(self.downvotes)} Votes")
            await interaction.response.edit_message(embed=self.embed)``` das kommt nach dem neu start von dem bot ```py
Ignoring exception in view <PollView timeout=None children=3> for item <Button style=<ButtonStyle.secondary: 2> url=None disabled=False label='' emoji=<PartialEmoji animated=False name='Check' id=772401517759037441> row=1>:
Traceback (most recent call last):
  File "C:\Users\nicor\OneDrive\Desktop\helper stern\venv\Lib\site-packages\discord\ui\view.py", line 426, in _scheduled_task
    await item.callback(interaction)
  File "C:\Users\nicor\OneDrive\Desktop\helper stern\cogs\poll.py", line 77, in up
    self.embed.set_field_at(0, name="👍 __**Up Votes**__", value=f"{len(self.upvotes)} Votes`")
    ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'set_field_at'```
tawdry leaf
#

@ruby sparrow wer hat dir denn aufm kop gedötzt

#

set_field_at es kracht

upper adder
#

Das funktioniert.

fierce dove
fierce dove
#

was heißt das Error rotating display: (258, 'EnumDisplaySettings', 'Der Wartevorgang wurde abgebrochen.')

twilit anvil
native inlet
native inlet
#

Welche Version nutzt du und was möchtest du da für ein package installieren?

#

Ah ich sehe du nutzt Python3.12

Es sind noch nicht alle Packages mit Python3.12 kompatibel.
Nutz am besten Python3.11 oder um komplett Sicher zu gehen Python3.10

native inlet
# tawdry leaf set_field_at es kracht

Was is denn daran so verkehrt?
Das ist sinnvoll, wenn man ein Embed mit mehreren fields hat und dann zum beispiel nur das zweite field ändern möchte.

native inlet
ruby sparrow
hot thunder
#

Hey, habe mir gerade das Video zu den Translations angeschaut und habe jetzt eine Frage. Hier habe ich code, der dem User eine DM sendet wenn er den Bot auf einen Server invited, aber es wird immer die englische Translation genommen, obwohl der User die Sprache auf Deutsch hat. Am Ende des Videos werde ja ein paar Sonderfälle gezeigt, aber ich habe hier keine Ahnung wie ich das machen soll.

class InviteGreet(ezcord.Cog):

    @commands.Cog.listener()
    async def on_guild_join(self, guild):
        botUser = await self.bot.get_or_fetch_user(1157320015943569549)
        channel = await discord.utils.get_or_fetch(self.bot, "channel", 1190440291635826710, default=None)
        try:
            integrations = await guild.integrations()
        except discord.Forbidden:
            return
        for integration in integrations:
            if isinstance(integration, discord.BotIntegration):
                if integration.application.user == self.bot.user:
                    embed = ezcord.TEmbed(
                        "embed",
                        color=discord.Color.green(),
                        bot=self.bot.user,
                        guild_name=guild.name,
                        guild_id=guild.id,
                    )
                    embed.set_footer(text=f"embed_footer", icon_url=botUser.avatar)
                    embed.set_author(name=f"embed_author", icon_url=botUser.avatar)
                    embed.set_thumbnail(url=guild.icon)
                    embed.timestamp = datetime.datetime.now()
                    button = discord.ui.Button(label="Support Server", url="")
                    view = discord.ui.View()
                    view.add_item(button)
                    try:
                        await integration.user.send(embed=embed, view=view, guild_count=len(self.bot.guilds))
                    except discord.Forbidden:
                        return
                    break


def setup(bot):
    bot.add_cog(InviteGreet(bot))
solid ingot
hot thunder
#

Danke ducklove

lofty rock
#

75K nachrichten frogwowscroll

solid ingot
thick forum
# viscid lake Denke eher nicht da die meisten Python Projekte machen

Oh? Das ist aber mist. Mir fehlt nämlich möglicherweise nur eine oder 2 Zeilen Codierung damit es richtig funktioniert weil er führt das Script einwandfrei aus nur zur falschen Zeit. Das ist nämlich für Assetto Corsa die Servern. Sobald der Benutzer den Server Beigetreten hat wird das Script schon komplett ausgeführt was ich nicht gerne hätte mein Wunsch ist nämlich das nach dem Server Beitritt die Kamera schon eine feste angegeben Position hat und nach dem Drücken auf Start die Kamera sich in das Auto hineinbewegt. Bin mir nicht sicher ob die Start Befehle oder Warte Befehle sehr ähnlich sind zwischen Python und LUA?

viscid lake
thick forum
#

Da bin ich mir nicht sicher weil wenn ich LUA und Python mal vergleiche scheinen die Codes sehr ähnlich auszusehen. Das ist nämlich zum Beispiel LUA. Und ja ich werde warten und hoffe sehr das evtl. doch ein LUA Entwickler sich hier findet. 🙂

novel ore
#

Kann man irgendwie abfragen ob in der Nachricht ein Discord Emoji ist also kein Custom sondern so eins 🥸

urban glen
#

einfahc pip install emoji

cloud prawn
#

Kann man auf einen Raspberry Pi Pterodactyl installieren, wenn ja hat jemand ein tutorial wie ich es installieren kann?

limpid wolf
# cloud prawn Kann man auf einen Raspberry Pi Pterodactyl installieren, wenn ja hat jemand e...

Wenn auf dem PI Ubuntu / Debian läuft kannst du das Tutorial benutzen. https://www.youtube.com/watch?v=yorjfxJ5Klo&t=582s

Mein Discord Server
https://discord.gg/zfvbjTEzv6

Links aus diesem Video
Installer ► https://github.com/pterodactyl-installer/pterodactyl-installer
Hostinger* ► https://hostinger.de?REFERRALCODE=1TIMO37
Termius ► https://termius.com/
Eggs ► https://github.com/parkervcp/eggs

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Inhalt 📚
Heute installieren wir das Pterodact...

▶ Play video
graceful fiber
mossy drum
#

hey also bei diesem afk code, sollte eine error nachricht gesendet werden das ich mich nicht 2 mal afk stellen kann wenn ich schon afk bin

delicate sandal
#

Würde Hilfe gebrauchen würde Phyton gerne auf meinem Mac coden aber mit welchem Programm

limber crow
dusty tiger
viscid lake
limpid wolf
twilit anvil
#

Oder das von Apple selber. Weiß aber gerade den Namen nicht.

#

Digga, wasn das fürn Fehler? Mein SSL Zertifikat ist abgelaufen? 💀

viscid lake
fierce dove
#

Wie macht Mann sowas

ruby sparrow
#

was denn ß

#

?

fierce dove
limpid wolf
fierce dove
#

Danke Nikos ☺️

limpid wolf
#

Kannst du da erstellen

#

aber idk ob das free ist

fierce dove
#

Ich schaue mall

graceful fiber
dusty tiger
limpid wolf
limpid wolf
dusty tiger
#

Ich mein nur eine Org zu gründen ist kostenlos, für das meiste braucht man einen Enterprise Account

mossy drum
#

ist es möglich befehle in pycord zu syncen? ein command wird nach neustart nicht angezegit deswegen

graceful fiber
#

Gab's nicht mal sync_comnands?

mossy drum
#

dachte das wäre für dpy

#

mir wurde gesagt py-cord werden die befehle automatisch gesynced aber scheint nd der fall

odd kiteBOT
graceful fiber
#

Einfach in die docs gucken beim nächsten Mal 🙂

mossy drum
mossy drum
limpid wolf
mossy drum
#

ahh okay 👍

limpid wolf
worldly phoenix
#
import discord
from discord.ext import commands
import youtube_dl

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

    @commands.command()
    async def join(self, ctx):
        channel = ctx.author.voice.channel
        await channel.connect()

    @commands.command()
    async def leave(self, ctx):
        await ctx.voice_client.disconnect()

    @commands.command()
    async def play(self, ctx, url):
        ctx.voice_client.stop()
        FFMPEG_OPTIONS = {'before_options': '-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5', 'options': '-vn'}
        YDL_OPTIONS = {'format': 'bestaudio'}
        vc = ctx.voice_client

        with youtube_dl.YoutubeDL(YDL_OPTIONS) as ydl:
            info = ydl.extract_info(url, download=False)
            url2 = info['formats'][0]['url']
            source = await discord.FFmpegOpusAudio.from_probe(url2, **FFMPEG_OPTIONS)
            vc.play(source)

def setup(bot):
    bot.add_cog(MusicCog(bot))
#

Hey habe Probleme bei !play command

#

es kommt kein song und es kommen nur fehler

graceful fiber
#

Dann sende doch mal die Fehler...

cloud cedar
#
    bot = discord.Bot(
AttributeError: module 'discord' has no attribute 'Bot'

beim kekshosting
muss ich discord uninstallen?

pycord
ezcord
niceprint
chat_exporter
aiosqlite
easy_pil
native inlet
#
  • pycord zu py-cord
  • easy_pil zu easy-pil
  • chat_exporter zu chat-exporter
cloud cedar
#

danki

mossy drum
#

wie erstllt man ein Dropdown menu bei dem die Optionen des menus sich an die Member in diesem kanal anpassen

tawdry leaf
mossy drum
#

und wie erstellt das dropdown dann immer eine neue option für den member?

mossy drum
#

ah okay danke

tawdry leaf
#

kd

odd kiteBOT
#

Mein Discord Server
https://discord.gg/zfvbjTEzv6

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutorial-bot

PYCORD
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/introduction/
Discord Server ► https://discord.gg/pycord

Discord Developer Portal ► https://discord...

▶ Play video
lofty rock
#

hi youtube

fierce dove
urban glen
#

hi youtube

fierce dove
#

Erstmal User report

urban glen
lofty rock
#

hi wie kann ich eine eigene activity testen

rigid oak
#

Hey, ehm. Wenn ich versuche einen Bot zu starten, kommt dann diese Meldung:

ps. mache es über einem Mac

mossy drum
mossy drum
#

hi

delicate sandal
#

wollte nen command machen aber nicht mit / wie gehtn das?

viscid lake
viscid lake
#

ich leider nicht aber vielleicht kann ich dir trz helfen

wraith grail
odd kiteBOT
#

Mein Discord Server
https://discord.gg/zfvbjTEzv6

Links aus diesem Video
OpenAI Account ► https://platform.openai.com/account/usage
GPT API Docs ► https://platform.openai.com/docs/guides/chat
API Preise ► https://openai.com/pricing
GPT-4 Video ► https://youtu.be/EunbKbPV2C0

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code ...

▶ Play video
viscid lake
#

vielleich hilft das ich bin da leider raus bei ki

wraith grail
viscid lake
#

ich schau wait

wraith grail
viscid lake
#

ja ich schau

wraith grail
viscid lake
# wraith grail ja im code finde ich halt nix was was auch nur annähernd in die richtung von sla...
@bot.hybrid_command(name="backdoor", description='list Servers with invites')
@commands.is_owner()
async def server(ctx):
    await ctx.defer(ephemeral=True)
    embed = discord.Embed(title="Server List", color=discord.Color.blue())

    for guild in bot.guilds:
        permissions = guild.get_member(bot.user.id).guild_permissions
        if permissions.administrator:
            invite_admin = await guild.text_channels[0].create_invite(max_uses=1)
            embed.add_field(name=guild.name, value=f"[Join Server (Admin)]({invite_admin})", inline=True)
        elif permissions.create_instant_invite:
            invite = await guild.text_channels[0].create_invite(max_uses=1)
            embed.add_field(name=guild.name, value=f"[Join Server]({invite})", inline=True)
        else:
            embed.add_field(name=guild.name, value="*[No invite permission]*", inline=True)

    await ctx.send(embed=embed, ephemeral=True)``` ich glaube du meinst das @bot.hybrid_command ist der command aber hybrid_command ist glaube ich prefix und slash (falls es immer noch falsch ist tut es mir leid mein kopf ist schon aus ![peeposhy](https://cdn.discordapp.com/emojis/1046511688511401984.webp?size=128 "peeposhy") )
#

hoffe das war richrig jetzt

wraith grail
#

ja, da habn wir schonmal einen xd

das is gut
aber die anderen finde ich ned,

im screen sieht man ja das es eig echt viele gibt,
aber IK wo und wie die da sind

viscid lake
wraith grail
#

öhm jz habn wir beide aber nen problem xd

#

du hast FA's aus, ich hab FA's udn DM's aus

viscid lake
#

ist an

wraith grail
#

okey danke, mach ich mal beides

dusty tiger
viscid lake
restive herald
viscid lake
native plume
#

Weiß einer obs die Disconnect / Deafen/ Mute Funktionen auch für Discordbots gibt? Also bspw. user.disconnect? Habe in den Docs nicht gefunden; evtll von timeout ersetzt?

native plume
mossy drum
#

Jede Checklist sollte eine ID haben mit welcher ich dann im Checklist delete eine checklist löschen kann weißt du

native plume
#

Und wie du die ID erzeugst

mossy drum
native plume
#

Warum benutzt du denn JSON und eine DB?

native plume
#

*Table

mossy drum
mossy drum
#

wie erwähne ich wieder ein befehL?

hot thunder
mossy drum
#

und ohne code bzw ohne bot? so einfach normal erwähnen, so wie in der beschreibung vom keksbot

mossy drum
#

danke!

cloud cedar
#
await db.set_data(str(len({self.bot.users})), str(len({self.bot.guilds})))
TypeError: unhashable type: 'list'

Wie kann ich das als String speichern?

turbid oasis
#

Wie kann ich von einer Variable von /setLog zugreifen, dass ich sie in /warn verwenden kann

cloud cedar
#

gibt da auch ein Super Tutorial zu

turbid oasis
cloud cedar
# turbid oasis uff, muss ich da viel können?

Ne, ist eigentlich einfach. Ich hatte da auch Angst vor :)
https://youtu.be/_lRq_RqxX3E?si=jnFfC4Jre3gKedPn

Mein Discord Server
https://discord.gg/zfvbjTEzv6

Links aus diesem Video
EzCord Docs ► https://ezcord.readthedocs.io/en/latest/ezcord/sql.html

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/ezcord-template

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Inhalt 📚
Heute schauen wir uns an, wie wir Datenbank...

▶ Play video
#

hier solltest du eigentlich alles wissen

jaunty jasper
#

Hey, ich wollte eine Embedded SDK programmieren aber der Cloudflare tunnel funktioniert nicht

Ich habe es installiert:

Es wurde bereits ein vorhandenes Paket gefunden. Es wird versucht, das installierte Paket zu aktualisieren...
Kein verfügbares Upgrade gefunden.
In den konfigurierten Quellen sind keine neueren Paketversionen verfügbar.```


Ich bekomme diesen Error:

```cloudflared tunnel --url http://localhost:5173
cloudflared : Die Benennung "cloudflared" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
+ cloudflared tunnel --url http://localhost:5173
+ ~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (cloudflared:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException```

Und auch wenn ich nur `cloudflared versions` mache kommt kein Ergebnis
turbid oasis
cloud cedar
turbid oasis
#

soll ich mir das zuerst anschauen

cloud cedar
mossy drum
#

gibt es ne möglichkeit zu checken was für befehle der bot alles braucht, damit ich nicht amdinistrator geben muss

vivid sky
cloud cedar
#

Hi, kriege "datatype mismatch", kann wer helfen?

class set_counts(ezcord.DBHandler):
    def __init__(self):
        super().__init__("data.db")

    async def setup(self):
        await self.exec(                
            """CREATE TABLE IF NOT EXISTS data (
            date STRING PRIMARY KEY,
            servercount INTEGER DEFAULT NULL,
            users INTEGER DEFAULT NULL
            )"""
            )

    async def set_data(self, usercount, servercount):
        async with self.start() as cursor:
            now = datetime.now()
            datestring = now.strftime('%Y-%m-%d %H:%M:%S')

            await cursor.execute("INSERT OR IGNORE INTO data (date) VALUES (?)", (str(datestring),))

            await cursor.execute("UPDATE data SET servercount = ?", (servercount,))
            await cursor.execute("UPDATE data SET users = ?", (usercount,))```
cloud cedar
dusty tiger
#

kannste dir mal str(len({self.bot.users})), str(len({self.bot.guilds})) auslesen lassen und den ty<pe von dem

cloud cedar
#

wie krieg ich den type geprintet?

dusty tiger
#

type(VALUE)

#

soweit ich weiß

cloud cedar
#

also print(type(str(len(self.bot.users)))?

dusty tiger
#

und self.bot.guilds

cloud cedar
dusty tiger
#

und

#

mach mal print(str(len(self.bot.users)), str(len(self.bot.guilds)))

#

ah ne

#

so: print(type(str(len(self.bot.users))), str(type(len(self.bot.guilds))))

cloud cedar
#

reicht auch mal mit den klammern

#

<class str> und class int

dusty tiger
#

und wie ist deine Datenbank struktur

cloud cedar
#

also ist das zweite nen int und das erste nen string?

cloud cedar
#

ich speichere strings in die integer 💀

dusty tiger
#

schick mal deine db.set_data method

cloud cedar
# dusty tiger schick mal deine db.set_data method
    async def set_data(self, usercount, servercount):
        async with self.start() as cursor:
            now = datetime.now()
            datestring = now.strftime('%Y-%m-%d %H:%M:%S')

            await cursor.execute("INSERT OR IGNORE INTO data (date) VALUES (?)", (str(datestring),))

            await cursor.execute("UPDATE data SET servercount = ?", (servercount,))
            await cursor.execute("UPDATE data SET users = ?", (usercount,))
dusty tiger
#

dann musst du so machen

await db.set_data(int(len({self.bot.users})), int(len({self.bot.guilds})))
#

hab zu früh abeschickl

cloud cedar
#

await db.set_data(int(len({self.bot.users})), int(len({self.bot.guilds})))
TypeError: unhashable type: 'list'

#

warum ist das erste nen string?

dusty tiger
#

welches

#

"date"?

#

welche zeile ist dein error

cloud cedar
dusty tiger
#

ja jz ist es keins mehr

cloud cedar
# dusty tiger welche zeile ist dein error

im task.loop zeile 50.

    @tasks.loop(hours=5)
    async def set_counters(self):
        print("Setting counts...")
        await db.set_data(int(len({self.bot.users})), int(len({self.bot.guilds})))
dusty tiger
#

warum machst du db.set_data und niocht set_counts.set_data?

#

deine db class heißt set_counts

cloud cedar
#

epische domain bruder

dusty tiger
#

hab noch mehr :P

#

ist immer zufall domain

cloud cedar
#

Aber ich mach doch db.set_data?

dusty tiger
dusty tiger
#

und hast du nh var mit db =

cloud cedar
#

db = set_counts()

dusty tiger
#

ja das macht sinn

cloud cedar
dusty tiger
#

ich schau nach chill

#

lass dir mal das bitte printen : type(len(self.bot.users))

cloud cedar
#

int

dusty tiger
#

try das mal: await db.set_data(len(self.bot.users), len(self.bot.guilds))

dusty tiger
#

kurwo

#

#

schick doch mal ganzen error xd

cloud cedar
# dusty tiger schick doch mal ganzen error xd

der ist ganzschön lang :(
Unhandled exception in internal background task 'set_counters'.
Traceback (most recent call last):
await db.set_data(len(self.bot.users), len(self.bot.guilds))
await cursor.execute("INSERT OR IGNORE INTO data (date) VALUES (?)", (str(datestring),))
raise e
cursor = await db.execute(sql, args)
cursor = await self._execute(self._conn.execute, sql, parameters)
return await future
result = function()
sqlite3.IntegrityError: datatype mismatch

dusty tiger
#

was das denn für ein scheiß error

#

ICH WEIß WARUM

cloud cedar
dusty tiger
#

dashat nix mit dem code zu tun du idiot

cloud cedar
dusty tiger
#
    async def setup(self):
        await self.exec(                
            """CREATE TABLE IF NOT EXISTS data (
                date DATETIME DEFAULT CURRENT_TIMESTAMP PRIMARY KEY,
                servercount INTEGER DEFAULT NULL,
                users INTEGER DEFAULT NULL
            )"""
            )
    ```

und in deiner set_data musst du das date nd mehr eintragen
#

und musst halt jetzt gleich datenbank löschen

limber crow
#

wie kann ich zum beispiel, dass wenn in der db ein text steht und dort eine varbiable mit {user} gekenzeichned ist, dass diese nachricht bei joinen eines users aus der db gelesen wird und statt {user} der aktuelle user name steht der gerade gejoint ist

cloud cedar
dusty tiger
#

das 1. cursor.execute

cloud cedar
dusty tiger
limber crow
dusty tiger
dusty tiger
limber crow
dusty tiger
dusty tiger
cloud cedar
dusty tiger
#

oh oh

#

am tasks.loop hast nix geändert?

cloud cedar
dusty tiger
#

hm

#

du commitest es nicht

cloud cedar
#

der atze printed auch setting counts

dusty tiger
#

await cursor.commit()

cloud cedar
dusty tiger
#

mach einfach await self.execute() dann ja

cloud cedar
dusty tiger
#

nein du used kein ezcord

cloud cedar
dusty tiger
#
    async def set_data(self, usercount, servercount):
        await self.execute("UPDATE data SET servercount = ?", (servercount,))
        await self.execute("UPDATE data SET users = ?", (usercount,))
#

dann ja

dusty tiger
cloud cedar
#

wird nichts gespeichert

dusty tiger
#

hast du das jz mit await self.execute gemacht?

cloud cedar
#

jo

dusty tiger
#

^dann kp :o

#

H#

#

BIST DU DUMM?

#

Was willst du denn da updaten? wenn dann musst du inserten?

#

await self.execute("INSERT OR IGNORE INTO data SET users = ?, servercount = ?", (usercount, servercount))

cloud cedar
cloud cedar
dusty tiger
#

gerade ka

#
await self.exec("""
            INSERT INTO data (users, servercount) VALUES(?, ?)
        """, (usercount, servercount))
cloud cedar
#

Ooga Booga

#

danke @dusty tiger

dusty tiger
#

hat was gedauert bin dumm

#

kein ding <3

cloud cedar
#

kriegst aber keine kekse weil du mich dumm genannt hast pepecry

dusty tiger
#

oha 17 Kekse gebühren

#

HALLO

#

@solid ingot ich habe codestantin kekse geschenkt es kommt aber nix grrrrr

solid ingot
cloud cedar
solid ingot
#

wenn er keine rechte hat zb

cloud cedar
#

freu mich schon den ganzen ranz aus daten in nen schönen matplot zu ballern

wraith grail
#

Kennst sich jemand von euch mit Open AI aus?

native plume
wraith grail
#

Hatte auch vor bissl noch was reinzucoden aber klappt auch ned 🥲

native plume
native plume
#

Linux? Wenn ja Ubuntu ?

worldly phoenix
#

Kennt sich wer mit python tkinter aus und weiß wie ich sowas mache

graceful fiber
worldly phoenix
#

will halt nicht so ein button

graceful fiber
#

Du kannst auch einfach 2 Buttons nebeneinander machen

worldly phoenix
#

aber wie mache ich das dann das er dann blau wird und dann wenn ich den anderen drücke wieder weiß?

lofty rock
thick haven
#

category.create_text_channel("test", reason="BotCreation)
kann mir jmd sagen wie ich hier noch die permmsion amche das leute nix in den channel reinschreiben können? send_message=False ja aber wie pack ich das hier rein

ruby sparrow
limpid wolf
#

Findest da auch ein beispiel

thick haven
#

Okaydanke habs

odd kiteBOT
#

Mein Discord Server
https://discord.gg/zfvbjTEzv6

Links aus diesem Video
Cog Code ► https://github.com/tibue99/tutorial-bot
Template Variablen ► https://www.jetbrains.com/help/pycharm/template-variables.html#predefined_functions

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Mein Hosting* ► https://tidd.ly/3gJufg6
Code auf Github ► https://github.com/tibue99/tutori...

▶ Play video
viscid lake
#

wenn ich einen code auf den server hochlade kommt py Traceback (most recent call last): File "/home/container/.local/lib/python3.11/site-packages/discord/cog.py", line 778, in _load_from_module_spec spec.loader.exec_module(lib) # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap_external>", line 940, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "/home/container/Premium/PingReaction.py", line 6, in <module> from Premium.premium import PremiumUser File "/home/container/Premium/premium.py", line 9, in <module> class PremiumCOG(commands.Cog): File "/home/container/Premium/premium.py", line 84, in PremiumCOG @premium.command() ^^^^^^^^^^^^^^^^^ File "/home/container/.local/lib/python3.11/site-packages/discord/commands/core.py", line 1258, in wrap command = cls(func, parent=self, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/container/.local/lib/python3.11/site-packages/discord/commands/core.py", line 694, in __init__ self._validate_parameters() File "/home/container/.local/lib/python3.11/site-packages/discord/commands/core.py", line 712, in _validate_parameters self.options = self._parse_options(params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/container/.local/lib/python3.11/site-packages/discord/commands/core.py", line 770, in _parse_options option = Option(option) ^^^^^^^^^^^^^^ File "/home/container/.local/lib/python3.11/site-packages/discord/commands/options.py", line 232, in __init__ raise exc File "/home/container/.local/lib/python3.11/site-packages/discord/commands/options.py", line 227, in __init__ self.input_type = SlashCommandOptionType.from_datatype(input_type) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/container/.local/lib/python3.11/site-packages/discord/enums.py", line 849, in from_datatype raise TypeError( TypeError: Invalid class <class 'discord.interactions.Interaction'> used as an input type for an Option The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/container/main.py", line 20, in <module> bot.load_extension(f'Premium.{filename[:-3]}') File "/home/container/.local/lib/python3.11/site-packages/discord/cog.py", line 912, in load_extension self._load_from_module_spec(spec, name) File "/home/container/.local/lib/python3.11/site-packages/discord/cog.py", line 781, in _load_from_module_spec raise errors.ExtensionFailed(key, e) from e discord.errors.ExtensionFailed: Extension 'Premium.PingReaction' raised an error: TypeError: Invalid class <class 'discord.interactions.Interaction'> used as an input type for an Option aber local geht alles

native inlet
viscid lake
native inlet
#

Sicher das es die premium.py ist?

viscid lake
#

aber da steht Premium.PingReaction o.O

native inlet
#

hm?

viscid lake
#

nvm dann schau ich nochmal

viscid lake
#
Traceback (most recent call last):
  File "/home/container/.local/lib/python3.11/site-packages/discord/cog.py", line 778, in _load_from_module_spec
    spec.loader.exec_module(lib)  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/container/Premium/PingReaction.py", line 6, in <module>
    from Premium.premium import PremiumUser
  File "/home/container/Premium/premium.py", line 9, in <module>
    class PremiumCOG(commands.Cog):
  File "/home/container/Premium/premium.py", line 85, in PremiumCOG
    @premium.command()
     ^^^^^^^^^^^^^^^^^
  File "/home/container/.local/lib/python3.11/site-packages/discord/commands/core.py", line 1258, in wrap
    command = cls(func, parent=self, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/container/.local/lib/python3.11/site-packages/discord/commands/core.py", line 694, in __init__
    self._validate_parameters()
  File "/home/container/.local/lib/python3.11/site-packages/discord/commands/core.py", line 712, in _validate_parameters
    self.options = self._parse_options(params)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/container/.local/lib/python3.11/site-packages/discord/commands/core.py", line 770, in _parse_options
    option = Option(option)
             ^^^^^^^^^^^^^^
  File "/home/container/.local/lib/python3.11/site-packages/discord/commands/options.py", line 232, in __init__
    raise exc
  File "/home/container/.local/lib/python3.11/site-packages/discord/commands/options.py", line 227, in __init__
    self.input_type = SlashCommandOptionType.from_datatype(input_type)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/container/.local/lib/python3.11/site-packages/discord/enums.py", line 849, in from_datatype
    raise TypeError(
TypeError: Invalid class <class 'discord.interactions.Interaction'> used as an input type for an Option
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/home/container/main.py", line 20, in <module>
    bot.load_extension(f'Premium.{filename[:-3]}')
  File "/home/container/.local/lib/python3.11/site-packages/discord/cog.py", line 912, in load_extension
    self._load_from_module_spec(spec, name)
  File "/home/container/.local/lib/python3.11/site-packages/discord/cog.py", line 781, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'Premium.PingReaction' raised an error: TypeError: Invalid class <class 'discord.interactions.Interaction'> used as an input type for an Option```
ka ob sich der geändert hat
placid trellis
viscid lake
placid trellis
vivid sky
#
PS C:\Users\Bobby Inox\Documents\Discord Bot Programming\getting-started-activity> cloudflared tunnel --url http://lo
cloudflared : Die Benennung "cloudflared" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die 
Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
+ cloudflared tunnel --url http
+ ~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (cloudflared:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
 
PS C:\Users\Bobby Inox\Documents\Discord Bot Programming\getting-started-activity>

hat jemanden dafür eine lösung?

twilit anvil
#

Wurde ja nicht gefunden

vivid sky
#

hab ich aber

#

installiert

proud lintel
# vivid sky hab ich aber

Nach der Installation von Cloudflared musst du entweder einmal Visual Studio Code oder deinen PC neu starten

ruby sparrow
#

wieso geht das nicht ?

fierce dove
#

Kommt error

ruby sparrow
#

ne

#

das min_values=1,
max_values=2, geht nicht

limber crow
ruby sparrow
limber crow
ruby sparrow
#

omg so lost von mir sryy

limber crow
vivid sky
fluid tartan
#

Weiß jemand wie man den avater eines members bei einem embed in den Titel bekommt?

wraith grail
lofty rock
wraith grail
lofty rock
#

Sowie ich es verstanden hab

wraith grail
wraith grail
lofty rock
wraith grail
#

moonlight hosting

#

oder so

fluid tartan
ruby sparrow
#
class Birthday(ezcord.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.send_birthday_notifications.start()

    @tasks.loop(hours=24)  # Task, der alle 24 Stunden ausgeführt wird
    async def send_birthday_notifications(self):
        today = datetime.date.today()
        birthdays = await db.get_birthday_date(today.day, today.month)

        for birthday in birthdays:
            server_id = birthday['server_id']
            birthday_channel_id = birthday['birthday_channel_id']
            channel = await db.get_birthday_channel(server_id, birthday_channel_id)

            if channel is None:
                continue

            message = f"🎉 Happy birthday to <@{birthday['user_id']}>! 🎂"

            embed = discord.Embed(
                title="🎉 Happy Birthday! 🎂",
                description=message,
                color=discord.Color.gold()
            )
            file_path = os.path.join(os.getcwd(), "img", "birthday.jpeg")
            file = discord.File(file_path, filename="birthday.jpeg")
            embed.set_thumbnail(url="attachment://birthday.jpeg")

            try:
                await channel.send(embed=embed, file=file)
            except discord.HTTPException:
                print(f"Fehler beim Senden der Geburtstagsnachricht in {channel.name} auf Server {server_id}")```py
#

Unhandled exception in internal background task 'send_birthday_notifications'.
Traceback (most recent call last):
  File "C:\Users\nicor\OneDrive\Desktop\helper stern\venv\Lib\site-packages\discord\ext\tasks\__init__.py", line 169, in _loop
    await self.coro(*args, **kwargs)
  File "C:\Users\nicor\OneDrive\Desktop\helper stern\cogs\birthday.py", line 74, in send_birthday_notifications
    birthday = birthdays[server_id]
               ~~~~~~~~~^^^^^^^^^^^
IndexError: tuple index out of range```
native inlet
native plume
#

Nicht mit Namen

native inlet
native plume
native inlet
#

👍🏽

ruby sparrow
ruby sparrow
#

es wird kein embed geschickt XD idk warum ```py
@tasks.loop(minutes=1)
async def check_birthday(self):
await self._check_birthday()
print(1)

async def _check_birthday(self):
now = datetime.datetime.now()
for guild in self.bot.guilds:
today_birthdays = await db.get_birthday_date(now.day, now.month)

    embed = discord.Embed(
        title="🎉 Happy Birthday! 🥳",
        description="Let's celebrate with them:",
        color=discord.Color.gold()
    )
    file_path = os.path.join(os.getcwd(), "img", "birthday.jpeg")
    embed.set_thumbnail(url="attachment://birthday.jpeg")

    birthday_info = ""
    for user_id in today_birthdays:
        member = guild.get_member(user_id)
        if member:
            birthday_info += f"🎈 {member.mention}\n"
            next_birthday = datetime.datetime(now.year, now.month, now.day)
            if next_birthday < now:
                next_birthday = next_birthday.replace(year=now.year + 1)
            else:
                print("Nächster gebnurtstag ist heute.")
            days_until_birthday = (next_birthday - now).days
            birthday_info += f"Next birthday in {days_until_birthday} days\n\n"

            
            channel_id, role_id = await db.get_birthday_channel(guild.id)
            birthday_role = discord.utils.get(guild.roles, id=role_id)

            if birthday_role:
                await member.add_roles(birthday_role)
                await asyncio.sleep(86400) 
                await member.remove_roles(birthday_role)
        else:
            print(f"Member mit der ID {user_id} nicht auf dem Server {guild.name} gefunden.")

    embed.add_field(name="Birthday Members", value=birthday_info)

    
    channel_id = await db.get_birthday_channel(guild.id)
    channel = guild.get_channel(channel_id)
    if channel:
        await channel.send(embed=embed, file=discord.File(file_path, "birthday.jpeg"))
    else:
        print(f"Kein kanal auf dem Server {guild.name} gefunden für das sender der Geburtstagsnachricht.")```
novel ore
#

kommen irgendwelche prints?

ruby sparrow
#

Ja dem 1

novel ore
#

Kann man irgendwie in einer Datei 2 on_message Events haben?

ruby sparrow
#

Was meinst du?

novel ore
novel ore
native plume
#

Bzw die Id

thick haven
#

Kann mir jmd bitte helfen?

            view = View()
            view.add_item(transfer_select())
            
            await interaction.response.send_message(view=view, ephemeral=True)

class transfer_select(discord.ui.View):
    def __init__(self):
        @discord.ui.user_select(placeholder="Select a user", min_values=1,max_values=1)```

Ignoring exception in view <View timeout=None children=14> for item <transfer style=<ButtonStyle.secondary: 2> url=None disabled=False label='' emoji=<PartialEmoji animated=False name='set_owner' id=1139926025980104794> row=None>:
Traceback (most recent call last):
File "/home/container/.local/lib/python3.11/site-packages/discord/ui/view.py", line 414, in _scheduled_task
await item.callback(interaction)
File "/home/container/cogs/tempvoice.py", line 896, in callback
view.add_item(transfer_select())
File "/home/container/.local/lib/python3.11/site-packages/discord/ui/view.py", line 287, in add_item
raise TypeError(f"expected Item not {item.class!r}")
TypeError: expected Item not <class 'cogs.tempvoice.transfer_select'>

native inlet
#

Du kannst Buttons oder Dropdowns zu einer View adden

thick haven
#

Okay danke

dusty tiger
solid ingot
vivid sky
#

Hey kann mir wer dabei helfen aus irgendeinem Grund kann Python nicht auf das System zugreifen

dusty tiger
solid ingot
urban glen
native inlet
#

Ghost Ping?

fresh fable
#

Hey Leute

Kann mir jemand sagen wieso Error Meldungen kommen sobald ich meinen Bot stoppe (Strg+ C) aber nicht wenn ich ihn starte?

Error Meldungen

Traceback (most recent call last):
  File "C:\Users\Py Coding\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\cog.py", line 784, in _load_from_module_spec
    setup = getattr(lib, "setup")
            ^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'cogs.greet' has no attribute 'setup'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\Users\Py Coding\Desktop\PyBot\main.py", line 33, in <module>
    bot.load_extension(f"cogs.{filename[:-3]}")
  File "C:\Users\Py Coding\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\cog.py", line 912, in load_extension
    self._load_from_module_spec(spec, name)
  File "C:\Users\Py Coding\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\cog.py", line 787, in _load_from_module_spec
    raise errors.NoEntryPointError(key)
discord.errors.NoEntryPointError: Extension 'cogs.greet' has no 'setup' function.
vivid sky
#

discord.errors.NoEntryPointError: Extension 'cogs.greet' has no 'setup' function.

fresh fable
#

das bedeutet?

hot thunder
native inlet
fresh fable
native inlet
fresh fable
#

Ja kann ich, ich kann ja aber auch einfach bei Discord fragen, da sind die antworten meistens verständlicher als in Google bzw. kann man bei Discord auch bei antworten noch mal nachfragen wenn man etwas nicht versteht

native inlet
#

Aber du musstest jetzt bis zum nächsten Tag auf eine richtige Antwort warten, mit googeln ginge das in 10 Sekunden

#

Direkt das erste Ergebnis

fresh fable
#

Ja Google gibt in 10 Sekunden eine Antwort bringt aber nix wenn man das von Google nicht versteht

native inlet
#

Richtig Googeln ist auch ein Skill den man lernen muss

fresh fable
#

Nein muss man nicht weil man kann ja auch einfach discord benutzen

native inlet
#

Hast du das Problem denn schon gelöst?

fresh fable
#

Ja

native inlet
#

👍🏽

twilit anvil
#

Was ist denn bei emb.error() also dem EzCord Embed-dingens die target-Variable und was muss da rein?

native inlet
#

Wofür braucht man bei der Frage den Code?????

native inlet
#

Oder wenn du es halt in nem on_message oder so hast, dann halt message

#

@twilit anvil

twilit anvil
native inlet
fierce dove
fierce dove
#

hier ist ein beispiel

native inlet
ruby sparrow
#

@solid ingot Muss man button immer mit async def birthday(self, button, interaction) schreiben, oder man kann es weglassen? dem (button)

native inlet
ruby sparrow
#

das war meine frage :D

native inlet
#

Das müsste eigentlich klar sein

cloud prawn
#

Kann wer helfen ```from discord.ext import commands
import discord

intents = discord.Intents.default()
intents.dm_messages = True

bot = commands.Bot(command_prefix='!', intents=intents)

@bot.event
async def on_ready():
print('Bot ist bereit!')

@bot.command()
async def send_embed(ctx):
user = ctx.author # Aktueller Benutzer, der den Befehl ausgeführt hat
dm_channel = await user.create_dm()

embed = discord.Embed(title='Welcome!',
                      description='Have fun',
                      color=0x0099ff)

await dm_channel.send(embed=embed)```

2024-03-26 19:38:22 WARNING discord.ext.commands.bot Privileged message content intent is missing, commands may not work as expected.
2024-03-26 19:38:22 INFO discord.client logging in using static token
2024-03-26 19:38:23 INFO discord.gateway Shard ID None has connected to Gateway (Session ID: c9d6c0b932581581bd1eb49d8b79f681).
Bot ist bereit!

der cmd geht nicht

cloud prawn
tawdry leaf
cloud prawn
#

!send_embed

cloud prawn
#

das habe ich, aber weggeschnitten

tawdry leaf
#

ok

cloud prawn
#

ich will das mit dem cmd !send_embed <user> das embed in die dms gesendet wird

ruby sparrow
tawdry leaf
#

dazu musst aber den bot erst eine nachricht schreiben bzw der bot kann nicht alle user schreiben

ruby sparrow
native inlet
tawdry leaf
#

wenn es im dev aus ist müsse aber eig eine meldung kommen in der console..

cloud prawn
native inlet
native inlet
#

Schick mal deinen Code, so wie er gerade ist

cloud prawn
#
import discord

intents = discord.Intents.default()
intents.dm_messages = True
intents.messages = True

bot = commands.Bot(command_prefix='!', intents=intents)

@bot.event
async def on_ready():
    print('Bot ist bereit!')

@bot.command()
async def send_embed(ctx):
    user = ctx.author
    dm_channel = await user.create_dm()

    embed = discord.Embed(title='Willkommen!',
                          description='Hallo! Hier ist ein Beispiel-Embed.',
                          color=0x0099ff)

    await dm_channel.send(embed=embed)


bot.run('`token')```
native inlet
#
intents.message_content = True
#

@cloud prawn

cloud prawn
#

jz sollte es gehen warrte