#Allgemeine Hilfe
1 messages · Page 21 of 1
Ja habe ich versucht ist nicht so leicht wie ich dachte
Thx
Naja, je nachdem was du halt genau machen willst und was man unter "Fun commands" versteht
Traceback (most recent call last): File "C:\Programieren\Neuer Ordner\main.py", line 5, in <module> intents = discord.Intents.default() ^^^^^^^^^^^^^^^ AttributeError: module 'discord' has no attribute 'Intents'
Welche discord.py / py-cord version hast du installiert?
Mach mal pip freeze
py-cord==2.4.0
noch da?
Chill, ich mach grad selbst was
Hast du discord.py oder discord in der liste?
xlwings @ file:///C:/b/abs_41rmpiyy58/croots/recipe/xlwings_1664932818417/work
yapf @ file:///tmp/build/80754af9/yapf_1615749224965/work
yarl==1.8.2
youtube-dl==2021.12.17
zict==2.1.0
zipp @ file:///C:/ci/zipp_1652273994994/work
zope.interface @ file:///C:/ci/zope.interface_1625036252485/work
C:\Programieren\Neuer Ordner>pip freezy | copy
Syntaxfehler.
ERROR: unknown command "freezy" - maybe you meant "freeze"
C:\Programieren\Neuer Ordner>pip freeze | copy
Syntaxfehler.
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='cp1252'>
OSError: [Errno 22] Invalid argument
C:\Programieren\Neuer Ordner>pip freeze
aiohttp==3.8.4
aiosignal==1.3.1
async-timeout==4.0.2
attrs==22.2.0
cffi==1.15.1
charset-normalizer==3.0.1
frozenlist==1.3.3
idna==3.4
llvmlite==0.38.0
locket @ file:///C:/ci/locket_1652904031364/work
lxml @ file:///C:/ci/lxml_1657527445690/work
lz4 @ file:///C:/ci/lz4_1619516674350/work
Markdown @ file:///C:/ci/markdown_1614364082838/work
MarkupSafe @ file:///C:/ci/markupsafe_1621528502553/work
matplotlib @ file:///C:/ci/matplotlib-suite_1660169687702/work
matplotlib-inline @ file:///C:/ci/matplotlib-inline_1661915841596/work
mccabe==0.6.1
menuinst @ file:///C:/Users/BUILDE~1/AppData/Local/Temp/abs_455sf5o0ct/croots/recipe/menuinst_1661805970842/work
mistune @ file:///C:/ci/mistune_1607359457024/work
mkl-fft==1.3.1
mkl-random @ file:///C:/ci/mkl_random_1626186184308/work
mkl-service==2.4.0
mock @ file:///tmp/build/80754af9/mock_1607622725907/work
mpmath==1.2.1
msgpack @ file:///C:/ci/msgpack-python_1652329316214/work
multidict==6.0.4
multipledispatch @ file:///C:/ci/multipledispatch_1607574329826/work
munkres==1.1.4
mypy-extensions==0.4.3
navigator-updater==0.3.0
nbclassic @ file:///opt/conda/conda-bld/nbclassic_1644943264176/work
nbclient @ file:///C:/ci/nbclient_1650290387259/work
nbconvert @ file:///C:/ci/nbconvert_1649741016669/work```
nbformat @ file:///C:/b/abs_1dw90o2uqb/croots/recipe/nbformat_1663744957967/work
nest-asyncio @ file:///C:/ci/nest-asyncio_1649829929390/work
networkx @ file:///C:/ci/networkx_1657716998256/work
nltk @ file:///opt/conda/conda-bld/nltk_1645628263994/work
nose @ file:///opt/conda/conda-bld/nose_1642704612149/work
notebook @ file:///C:/Windows/TEMP/abs_79abr1_60s/croots/recipe/notebook_1659083661851/work
numba @ file:///C:/ci/numba_1650394399948/work
numexpr @ file:///C:/Windows/Temp/abs_e2036a32-9fe9-47f3-a04c-dbb1c232ba4b334exiur/croots/recipe/numexpr_1656940304835/work
numpy @ file:///C:/ci/numpy_and_numpy_base_1653574844560/work
numpydoc @ file:///C:/Windows/TEMP/abs_30799058-86dd-4401-b621-d172137a4d87_ra3twm7/croots/recipe/numpydoc_1657529873713/work
olefile @ file:///Users/ktietz/demo/mc3/conda-bld/olefile_1629805411829/work
openpyxl==3.0.10
packaging==23.0
pandas @ file:///C:/b/abs_cdcgk91igc/croots/recipe/pandas_1663772960432/work
pandocfilters @ file:///opt/conda/conda-bld/pandocfilters_1643405455980/work
panel @ file:///C:/ci/panel_1657899702145/work
param @ file:///tmp/build/80754af9/param_1636647414893/work
paramiko @ file:///opt/conda/conda-bld/paramiko_1640109032755/work
parsel @ file:///C:/ci/parsel_1646740216444/work
parso @ file:///opt/conda/conda-bld/parso_1641458642106/work
partd @ file:///opt/conda/conda-bld/partd_1647245470509/work
pathlib @ file:///Users/ktietz/demo/mc3/conda-bld/pathlib_1629713961906/work
pathspec @ file:///C:/Windows/TEMP/abs_581d0u45mh/croots/recipe/pathspec_1659627132171/work
patsy==0.5.2
pep8==1.7.1
pexpect @ file:///tmp/build/80754af9/pexpect_1605563209008/work
pickleshare @ file:///tmp/build/80754af9/pickleshare_1606932040724/work
Pillow==8.4.0
pkginfo @ file:///tmp/build/80754af9/pkginfo_1643162084911/work
platformdirs @ file:///C:/b/abs_73cc5cz_1u/croots/recipe/platformdirs_1662711386458/work
plotly @ file:///C:/ci/plotly_1658142442431/work```
pluggy @ file:///C:/ci/pluggy_1648024580010/work
poyo @ file:///tmp/build/80754af9/poyo_1617751526755/work
prometheus-client @ file:///C:/Windows/TEMP/abs_ab9nx8qb08/croots/recipe/prometheus_client_1659455104602/work
prompt-toolkit @ file:///tmp/build/80754af9/prompt-toolkit_1633440160888/work
Protego @ file:///tmp/build/80754af9/protego_1598657180827/work
psutil @ file:///C:/Windows/Temp/abs_b2c2fd7f-9fd5-4756-95ea-8aed74d0039flsd9qufz/croots/recipe/psutil_1656431277748/work
ptyprocess @ file:///tmp/build/80754af9/ptyprocess_1609355006118/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl
py @ file:///opt/conda/conda-bld/py_1644396412707/work
py-cord==2.4.0
pyasn1 @ file:///Users/ktietz/demo/mc3/conda-bld/pyasn1_1629708007385/work
pyasn1-modules==0.2.8
pycodestyle @ file:///tmp/build/80754af9/pycodestyle_1636635402688/work
pycosat==0.6.3
pycparser @ file:///tmp/build/80754af9/pycparser_1636541352034/work
pyct @ file:///C:/ci/pyct_1658488033428/work
pycurl==7.45.1
PyDispatcher==2.0.5
pydocstyle @ file:///tmp/build/80754af9/pydocstyle_1621600989141/work
pyerfa @ file:///C:/ci/pyerfa_1621560974055/work
pyflakes @ file:///tmp/build/80754af9/pyflakes_1636644436481/work
Pygments @ file:///opt/conda/conda-bld/pygments_1644249106324/work
PyHamcrest @ file:///tmp/build/80754af9/pyhamcrest_1615748656804/work
PyJWT @ file:///C:/ci/pyjwt_1657511236979/work
pylint @ file:///C:/Windows/TEMP/abs_518eqlbmoo/croots/recipe/pylint_1659110354241/work
pyls-spyder==0.4.0
PyNaCl==1.4.0
pyodbc @ file:///C:/Windows/Temp/abs_61e3jz3u05/croots/recipe/pyodbc_1659513801402/work
pyOpenSSL @ file:///opt/conda/conda-bld/pyopenssl_1643788558760/work
pyparsing @ file:///C:/Users/BUILDE~1/AppData/Local/Temp/abs_7f_7lba6rl/croots/recipe/pyparsing_1661452540662/work
pyrsistent @ file:///C:/ci/pyrsistent_1636093225342/work
PySocks @ file:///C:/ci/pysocks_1605307512533/work
pytest==7.1.2```
python-dateutil @ file:///tmp/build/80754af9/python-dateutil_1626374649649/work
python-lsp-black @ file:///tmp/build/80754af9/python-lsp-black_1634232156041/work
python-lsp-jsonrpc==1.0.0
python-lsp-server @ file:///tmp/build/80754af9/python-lsp-server_1648176833691/work
python-slugify @ file:///tmp/build/80754af9/python-slugify_1620405669636/work
python-snappy @ file:///C:/ci/python-snappy_1610133405910/work
pytz @ file:///C:/Windows/TEMP/abs_90eacd4e-8eff-491e-b26e-f707eba2cbe1ujvbhqz1/croots/recipe/pytz_1654762631027/work
pyviz-comms @ file:///tmp/build/80754af9/pyviz_comms_1623747165329/work
PyWavelets @ file:///C:/ci/pywavelets_1648728084106/work
pywin32==302
pywin32-ctypes @ file:///C:/ci/pywin32-ctypes_1607553594546/work
pywinpty @ file:///C:/ci_310/pywinpty_1644230983541/work/target/wheels/pywinpty-2.0.2-cp39-none-win_amd64.whl
PyYAML==6.0
pyzmq @ file:///C:/ci/pyzmq_1657615952984/work
QDarkStyle @ file:///tmp/build/80754af9/qdarkstyle_1617386714626/work
qstylizer @ file:///tmp/build/80754af9/qstylizer_1617713584600/work/dist/qstylizer-0.1.10-py2.py3-none-any.whl
QtAwesome @ file:///tmp/build/80754af9/qtawesome_1637160816833/work
qtconsole @ file:///opt/conda/conda-bld/qtconsole_1643819126524/work
QtPy @ file:///C:/ci/qtpy_1662015096047/work
queuelib==1.5.0
regex @ file:///C:/ci/regex_1658258307256/work
requests @ file:///C:/ci/requests_1657735342357/work
requests-file @ file:///Users/ktietz/demo/mc3/conda-bld/requests-file_1629455781986/work
rope @ file:///opt/conda/conda-bld/rope_1643788605236/work
Rtree @ file:///C:/ci/rtree_1618421015405/work
ruamel-yaml-conda @ file:///C:/ci/ruamel_yaml_1616016898638/work
s3transfer @ file:///C:/ci/s3transfer_1654512518418/work
scikit-image @ file:///C:/ci/scikit-image_1648214340990/work
scikit-learn @ file:///C:/ci/scikit-learn_1642617276183/work
scikit-learn-intelex==2021.20221004.171935
scipy==1.9.1```
Scrapy @ file:///C:/Windows/TEMP/abs_f50e21j997/croots/recipe/scrapy_1659598707153/work
seaborn @ file:///tmp/build/80754af9/seaborn_1629307859561/work
Send2Trash @ file:///tmp/build/80754af9/send2trash_1632406701022/work
service-identity @ file:///Users/ktietz/demo/mc3/conda-bld/service_identity_1629460757137/work
sip==4.19.13
six @ file:///tmp/build/80754af9/six_1644875935023/work
smart-open @ file:///C:/ci/smart_open_1651235069716/work
sniffio @ file:///C:/ci/sniffio_1614030527509/work
snowballstemmer @ file:///tmp/build/80754af9/snowballstemmer_1637937080595/work
sortedcollections @ file:///tmp/build/80754af9/sortedcollections_1611172717284/work
sortedcontainers @ file:///tmp/build/80754af9/sortedcontainers_1623949099177/work
soupsieve @ file:///tmp/build/80754af9/soupsieve_1636706018808/work
Sphinx @ file:///C:/ci/sphinx_1657617205740/work
sphinxcontrib-applehelp @ file:///home/ktietz/src/ci/sphinxcontrib-applehelp_1611920841464/work
sphinxcontrib-devhelp @ file:///home/ktietz/src/ci/sphinxcontrib-devhelp_1611920923094/work
sphinxcontrib-htmlhelp @ file:///tmp/build/80754af9/sphinxcontrib-htmlhelp_1623945626792/work
sphinxcontrib-jsmath @ file:///home/ktietz/src/ci/sphinxcontrib-jsmath_1611920942228/work
sphinxcontrib-qthelp @ file:///home/ktietz/src/ci/sphinxcontrib-qthelp_1611921055322/work
sphinxcontrib-serializinghtml @ file:///tmp/build/80754af9/sphinxcontrib-serializinghtml_1624451540180/work
spyder @ file:///C:/Windows/TEMP/abs_66k5aq_mkw/croots/recipe/spyder_1659599805372/work
spyder-kernels @ file:///C:/ci/spyder-kernels_1647011408404/work
SQLAlchemy @ file:///C:/Windows/Temp/abs_f8661157-660b-49bb-a790-69ab9f3b8f7c8a8s2psb/croots/recipe/sqlalchemy_1657867864564/work
statsmodels==0.13.2
sympy @ file:///C:/ci/sympy_1647853873858/work
tables==3.6.1
tabulate @ file:///C:/ci/tabulate_1657619055201/work
TBB==0.2
tblib @ file:///Users/ktietz/demo/mc3/conda-bld/tblib_1629402031467/work```
bitte nicht spammen @lucid furnace
das sind alle meine installs
sorry er hat gesagt ich soll pip freeze machen
das waren 12 nachrichten
huch
wenn du so viele sachen installiert hast schick das als datei
ja sorry mach ich beim nöchsten mal
Einfach den Path dazu angeben
from easy_pil import Font
font = Font("./fonts/deineFont.ttf")
editor.text("Hallo", (50, 50), font=font, color="white")
?
font = Font(...)
Da is doch font definiert
Da wo du es brauchst
In deinem text
@urban glen
?
wie niemst du solceh ss
Dann mach es 100 weiter links
kennt sich jemand mit webservern aus ?
ein wenig*
dan halt ein wenig*
dann*
ich habe 2 subdomains auf eine ip laufen
nextcloud und Gitea
und immer wenn ich auf gitea zugreifen will muss ich den port mit hinter machen ohne das ich auf meine nextcloud stoße
mit dem kenn ich mich nicht aus sorry
Ich mache gerade das Tutorial zu den Bots Part8 und habe das problem das mein code den error schmeißt User hätte kein Attribut kick. Verstehe nicht ganz woher er den User auf einmal nimt weil ich mir meinbes Wissens eig den Member geben lasse.
Mein Code:
'''python
+error
import discord
from discord.ext import commands
from discord.commands import slash_command, Option
class Admin(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command(description="Kicke einen Member")
async def kick(self, context, member: Option(discord.Member, "Wähle einen Member")):
try:
await member.kick()
except discord.Forbidden as e: #except Exception as e
print(e)
await context.respond("ich habe keine Berechtigung diesen Member zu kicken")
return
await context.respond(f"{member.metion} wurde gekickt!")
@commands.Cog.listener()
async def on_application_command_error(self, context, error):
await context.respond(f"Es ist ein Fehler aufgetreten: ```{error}```")
raise error #damit auch in der Konsole
def setup(bot):
bot.add_cog(Admin(bot))```
AttributeError: 'User' object has no attribute 'kick'
wenn der User zB nicht mehr auf dem Server ist, kann es passieren, dass du ein User Objekt bekommst, obwohl du "discord.Member" angegeben hast
in zeile 12 was nach dem try wäre
oh wow danke ja stimmt meinen Testuser hatte ich vorhin gekickt ohne ihn danach wieder zu joinen ups. Vielen Dank 😅
@urban glen schau Dm's!
kann man per command von einem discord bot das endelon hosting py run vom bot restarten lassen?
theoretisch ja
kommt darauf an wie viel Access du auf dem Server hast
und was ist
bot.reload_extension
?
reload_extension ist um extensions zu reloaden
Oder was meinst du?
bot.load_extension(f"cogs.{filename[:-3]}")
RuntimeWarning: Enable tracemalloc to get the object allocation traceback```
Musst awaiten
Schick ganzen Error
Der ganze Error is nie so klein
ist der ganze error
hier ist der code wo der error auftritt
if __name__ == "__main__":
for filename in os.listdir("cogs"):
if filename.endswith(".py"):
bot.load_extension(f"cogs.{filename[:-3]}")```
Taucht der Error auf, seitdem du ein neuen Cog hinzugefügt hast?
ne
Nutzt du discord.py?
seitdem ich zu pycharm gewechselt habe
pycord
Wie viele Cogs hast du im cogs ordner?
1
Schick mal den Code
Meist liegt es am Cog
Wenn der Fehler auftaucht
Vom Cog ._.
ich hab das von github
Noch schlimmer 😭

ja aber jeder ffmpeg tut ist so scheisse
Dann nimm was anderes 
wie meint du
Weil ffmpeg allgemein scheiße ist
Sogar ich bekomm es besser hin ohne FFmpeg und ohne Copy & Paste ._.
Obwohl ich in allem Scheiße bin xD
Also für 5€ Amazon Card, würde ich es für dich machen @lucid furnace
machs nicht xd
Geld is Geld
Versuch es erstmal selber xd @lucid furnace
der muss das lernen
Geld ist Geld
Und Geld ist Alles
Und Alles kostet Geld
Xd
ich mach es nicht für geld
Ja, ich mach es aber für geld ._.
und ich gebe kein geld für etwas das ich selber machen kann aus
Okay, dann mach das mal selber
Aber "selber machen", heißt auch "selber machen", also nix Copy & Paste
hab ich doch-_-
._.
Da hast du doch zugegeben das es copy & paste is
kein FFmpeg nutzen
._.
If name könnte srin
Nope, liegt nicht daran
Die Version ist noch nd stable
Is genau wie in deinem Beispiel
Laut deinem Code, müsste channels=1, rate=44100, record_time=10 eigentlich in audio.start_recording rein, also -> audio.start_recording(channels=1, rate=44100, record_time=10)
Und beim AudStreamer muss der file name rein
Aber danach passiert nix mehr
Ka was da gerade los ist kümmere mich morgen darum
Du hast ganz unten in deinem Code das hier:
Hab das weg gemacht, jetzt wird wenigstens "Recording..." geprintet xD
Wie gesagt der code ist nd stable und ist gerade erst gemacht wurden aber wird noch verbessert
Hab den (sehr) umgeändert, jetzt funktioniert er xD
Kann dir den Code geben
Wenn du willst
@safe tendon soll ich dir schicken?
Dann kannst du den so übernehmen, und der funktioniert auch
Musik Bot's mit YouTube zu machen, ist gegen die Terms of Service
Es geht nicht um Account ._.
Es is aber verboten
Steht in den YouTube Terms und Discord Terms
Deshalb steigen alle auch auf SoundCloud um ._.
hilfst du mir aber
Ich helfe dir nicht dabei, gegen die Regeln zu verstoßen
wow ok ist ok wie wechsel ich mein code zu sound cloud
Mit Wavelink 
wie geht wavelink kannst du mir die docs senden wens welche gibt
Aber erstmal solltest du dir nen lavalink server holen 
Oder hosten
Without SSL should work out of the box!
oder du nimmst welche von dieser Seite :D
Hey!
Thanks for watching todays video, todays video I really hope you enjoyed and join my discorddd... also subscribeee :)
LINKS -
Join my Discord - https://discord.gg/twHW4UUJGq
Set Up VSC - https://www.youtube.com/watch?v=KpzkP...
Set Up PYTHON - https://youtu.be/h4fhdhNWDKk
Anyways Thanks if you read all of this and I ...
Müsste genauso in pycord gehen
Schick mal rüber gucke ich mir an
Hab ich schon ._.
Warum antwortest du auf meine Nachricht?
Wenn es dir nicht passt melde mich doch
Was bringt es denn mich damit zu pingen, wenn der andere das nd kann ._.
ist doch egal?
hallo leute hätte fragen zu button.
kann man mit button drücken den label name (text) ändern?
Wie wärs mit mehr code und error?
Und hast du die Klammer geschlossen?
Als screenshot?
Bin handy, weil schule
wie macht man diese Hintergründe sieht voll geil aus
Meinst du außenrum?
Oder In Vsc den background?
außenrum
Xshare
kann mir jemand helfen?
Aktivier case_insensitive, da wo du deinen Bot definiert hast
bot = commands.Bot(case_insensitive=True)
So z.B.
Aber halt mir prefix
Weil du führst den Command aus, schreibst T aber klein, aber in deinem Code steht das T groß
Und wenn du case_insensitive=True machst, dann is es egal ob groß oder klein
tausend dank dir
kann mir dabei wer helfen bzw was muss ich vor load config schreiben mir ist nichtts weiter als das eingefallen
In den docs steht nix von _load_config
stimmt ich sehs bruh
._.
Wie kommst du da drauf, dass sowas existiert?
Erstell ein Post
Dann sehen die Leute das eher und können dir helfen
ich habe nicht weiter gefunden und als ich das bot weg gemacht hat hat er gesagt er braucht das
schau wenn ich das ohne mach kommt das
Musst du in die Klammern eintragen
Schick doch mal code von _load_config
Als screenshot
.
@old ore
config = _load_config(bot)
Junge…
Schick doch mal code von _load_config
Was is denn _load_config
Zeig mir den code mal davon
@bot.command()
async def add_Twitch(ctx, *channels: str):
"""
Add Twitch channels to the notification list.
"""
if not channels:
embed = discord.Embed(
title=":error: Error",
description="you didn't send me a twitch channel",
color=0x9461cb
)
await ctx.send(embed=embed)
return
config = _load_config(bot)
if "twitch_channels" not in config:
config["twitch_channels"] = []
for channel in channels:
if channel not in config["twitch_channels"]:
config["twitch_channels"].append(channel)
_save_config(config)
embed2 = discord.Embed(
title="Successfull",
description="Your Twitch name was saved successfull!",
color=0x9461cb
)
await ctx.send(embed = embed2)
def _load_config(bot):
"""
Load the bot configuration from the config.json file.
"""
if not os.path.exists("config.json"):
return {}
with open("config.json", "r") as f:
return json.load(f)
def _save_config(bot, config):
"""
Save the bot configuration to the config.json file.
"""
with open("config.json", "w") as f:
json.dump(config, f, indent=4)
@staticmethod
def get_twitch_channels() -> List[str]:
"""
Get the list of Twitch channels to be notified.
"""
config = _load_config(bot)
if "twitch_channels" not in config:
return []
return config["twitch_channels"]```
so?
Als screenshot
Junge nein
Nicht vom command
Sondern dein _load_config
finde ich ned
es ist das erste mal das ich mit json arbeite und da ich keine anhalte punkte habe habe ich keine wirkliche ahnung davon
Kann hier jemand darauf antworten, auf diese Frage?
kann man
das hier ist kein code generier Server
button.label
ja
Aber wie sollte das mit button.label in einem Button Funktionieren
hast du eine button klasse oder eine view klasse?
Hab es self.button.label("hello") gemacht
Button Classe dort noch eine async def classe

async def klasse?
label ist keine methode, sondern ein attribut. außerdem muss es nur self.label sein, da self ja schon der button ist
Joa um dann mit diese classe zum Beispiel über eine andere Button den label zu ändern wie zB #1074816451426394236
Wird dann einfach in label klammern oder bei = Zeichen?

Self.label = "hello"
Self.label("hello")?
eins davon ist richtig
überleg mal welches davon ein attribut ist und welches eine klasse
Classe
Attribute also Brauch ich Attribute?
Muss ich da noch awaiten?
Könnte mir jmd helfen
Frag ChatGPT lmao
schick doch mal die save_config methode
wie mach ich die. (ich hab noch nie mit json gearbeittet)
die die du in deinen Code aufrufst
Richtig
ja ich habs gefunden danke
wie kann ich es machen das der bot nur einen bestimmten teil eines textes nimmt
Was mache ich Falsch?
import discord
from discord.ext import commands
from discord.commands import Option, slash_command
class Base(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command()
async def wait(self, context):
await context.respond("Gib eine Zahl ein!")
answer = self.bot.wait_for("message")
await answer.reply(f"Du hast die Zahl {answer.content} eingegeben.")
def setup(bot):
bot.add_cog(Base(bot))
Error: Application Command raised an exception: AttributeError: 'coroutine' object has no attribute 'reply'
Wie kann ich loggen wenn ein member den server boostet ?
da fehlt ein await vor self.bot.wait_for
habe ich in der doku auch gerade gefunden. (in deinem Tutorial dazu "fehlt" es aber oder wurde damals nicht benötigt)
du könntest das zB über das on_message Event machen und darin abfragen, ob eine boost message kommt (also diese automatische von Discord)
also mit premium_guild_subscription
oh ups war zu schnell fürs tutorial 😂 haste natürlich nicht vergessen. Und wie immer mega Arbeit die du da abgeliefert hast 👍
Wollte frage wie du das gemacht hast xD
danke
ich sehr Grade das hab ich im Video auch erstmal schön falsch gemacht
ja und ich habe noch ein Error handling was mir errors auch in Discord zeigt und der kam bei dir nicht (verständlicherweise) und dann dachte ich ich habe mal wieder was falsch gemacht 😅
wenn du dne mmember bekommen willst mach ein role update event und checke ob dir neue rolle die booster rolle ist dann hast du member auch
ich scanne keine neuen boosts, ich Frage das über guild.premium_subscribers ab
okay
stimmt so geht's auch
timo hat nen loop gemacht
ich kann es versuchen
so würde ich es machen
okay
?
nvm
bruh
ah btw. noch ne Möglichkeit:
for guild in self.bot.guilds:
for member in guild.premium_subscribers:
...
kein event
wie denn xD
dein cmd / da wo du es haben willst
ich will die ja nicht abfragen sondern abfragen wenn einer boostet also in ein event
also wenn einer den server boostet das der ne nachricht bekommt
aso dann das wo ich dir gesagt habe
ja und wie mache ich das jetzt ?
ich würd's dann über die Booster rolle machen, also on_member_update müsste das sein
wie kann ich machen wenn er die rolle bekommt dann schreibt er das also mit on_member_update aber ich will ja nur die rolle und nicht die anderen
ja aber wie kann ja ned machen if member.got_role(id ):oder ?
schau dir mal die member update params an ^^
ja self, before und after
nach dem update
@commands.Cog.listener()
async def on_member_update(self, after, member):
if boosterrole in after.roles:
dm = await member.create_dm()
channel = await self.bot.fetch_channel(boosterchannel)
await dm.send("Thank you for boosting the server!")
await channel.send(f"{after.mention} has boosted the server!")```
Es kommt kein error
aber es geht auch nicht
import discord
from discord.ext import commands
from discord.commands import slash_command, options
boosterrole = [1076141106129027173]
class boost(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_member_update(self, after, member):
boosterchannel = 1076225443193176104
for role in boosterrole:
if role in after.roles:
dm = await member.create_dm()
channel = await self.bot.fetch_channel(boosterchannel)
await dm.send("Thank you for boosting the server!")
await channel.send(f"{after.mention} has boosted the server!")
def setup(bot):
bot.add_cog(boost(bot))```
in solchen situationen ist es immer gut, sich das ganze mal ausgeben zu lassen. wenn nichts passiert gibt es 2 möglichkeiten:
- event wird nicht aufgerufen
- if bedingung wird false
beides kannst du durch ein einfaches print statement prüfen
okay
dann würdest du nämlich sehen, dass boosterrole eine liste mit einer ID ist, aber after.roles eine Liste mir role objekten ist.
boosterrole wird also nicht in after.roles vorkommen
prüfen, ob die rolle in after.roles vorkommt
dazu gibt es einige möglichkeiten, zb mit guild.premium_subscriber_role oder mit der ID
@commands.Cog.listener()
async def on_member_update(self, after, member):
guild = self.bot.get_guild(1075856951772196964)
boosterrole = guild.premium_subscriber_role
boosterchannel = 1076225443193176104
print("User has boosted the server.")
for role in boosterrole:
if role in after.roles:
dm = await member.create_dm()
channel = await self.bot.fetch_channel(boosterchannel)
await dm.send("Thank you for boosting the server!")
await channel.send(f"{after.mention} has boosted the server!")```
so?
probiers aus
ich denke aber nicht
boosterrole ist keine liste, also kannst du auch keine for schleife damit machen
Okay
wie kann ich die id von jmd der gepingt wird rausbekommen ? mache das jetzt so nur kann daraus keine id bekommen message.mentions
wieso kannst du daraus keine IDs bekommen
wenn ich message.mentions.id dann bypasst er das udn gibt nen error das man das nicht machen kann
@solid ingot
dann benutzt du es wohl falsch
jap
schau dir mal genau an was message.mentions für ein typ ist
kein ahnung xD
in den docs steht es
eine list
sehr gut
ja also mit for schleife richtig ?
zum beispiel
okay
discord.errors.ApplicationCommandInvokeError: Application Command raised an exception: JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Was bedeutet dieser fehler?
hallo Leute, Ich habe Probleme bei meiner twitch.py datei, undzwar gibt sie mir den im anhang gezeigten error und ich weiß nicht wieso. Ich hoffe auf Baldige hilfe.
MfG
das ist der code:
import json
import requests
from datetime import datetime
import requests
with open("config.json") as config_file:
config = json.load(config_file)
def get_app_access_token():
params = {
"client_id": config["client_id"],
"client_secret": config["client_secret"],
"grant_type": "client_credentials"
}
response = requests.post("https://id.twitch.tv/oauth2/token", params=params)
access_token = response.json()["access_token"]
return access_token
def get_users(login_names):
params = {
"login": login_names
}
headers = {
"Authorization": "Bearer {}".format(config["access_token"]),
"Client-Id": config["client_id"]
}
response = requests.get("https://api.twitch.tv/helix/users", params=params, headers=headers)
return {entry["login"]: entry["id"] for entry in response.json()["data"]}
def get_streams(users):
params = {
"user_id": users.values()
}
headers = {
"Authorization": "Bearer {}".format(config["access_token"]),
"Client-Id": config["client_id"]
}
response = requests.get("https://api.twitch.tv/helix/streams", params=params, headers=headers)
return {entry["user_login"]: entry for entry in response.json()["data"]}
online_users = {}
def get_notifications():
users = get_users(config["twitch_channels"])
streams = get_streams(users)
notifications = []
for user_name in config["twitch_channels"]:
if user_name not in online_users:
online_users[user_name] = datetime.utcnow()
if user_name not in streams:
online_users[user_name] = None
else:
started_at = datetime.strptime(streams[user_name]["started_at"], "%Y-%m-%dT%H:%M:%SZ")
if online_users[user_name] is None or started_at > online_users[user_name]:
notifications.append(streams[user_name])
online_users[user_name] = started_at
return notifications
das die json kaputt ust
also der Inhalt nicht richtig formatiert wurde
das heißt da muss noch was hin
ich würde dir empfehlen, cogs zu nutzen
rede mit Bobby Grade...
wie önder ich den interpreter pfad in pycharm jedes mal wenn ich es mach geht das installations ding auf
settings -> project -> interpreter
ja aber wie gesagt es öfnet das installations ding von python
wie fixe ich das
Wie wärs erstmal mit nem Screenshot?
Weil mit "es öffnet das installations ding" kann man nicht viel anfangen
die antwort funktion von discord ist übrigens nicht dazu da, um leute zu pingen, sondern um auf nachrichten zu antworten
wie soll ich sonst so machen das du es mit bekommst wenn ich die Ping Funktion benutzt werdet ihr sagen "So unötig zu pingen" und nein ich warte keine 2std für 1 antwort
Garnicht pingen, er antwortet, wann er antwortet
Er is auch nur ein Mensch
und nein ich warte keine 2std für 1 antwort
Sei froh, dass dir überhaupt geholfen wird, selbst wenn es nh Tag dauert
So is das leben und daran kann man nix ändern
wenn du mit der antwort funktion pingst, wird es dadurch nicht weniger unnötig. und doch, hier helfen alle freiwillig, und wenn dir deine hilfe nicht schnell genug kommt, frag woanders nach

haha
lustig 
was mache ich beim verwenden der emojis gerade falsch?
discord.SelectOption(label="Python", description="Python Beschreibung", emoji=":sweat_smile:"),
discord.SelectOption(label="Bla", description="Beschr.", emoji=":sweat_smile:"),
Error: In data.components.0.components.0.options.0.emoji.name: Invalid emoji
In data.components.0.components.0.options.1.emoji.name: Invalid emoji
hm, versuch vlt mal das symbol reinzukopieren: \😅
ach habe meinen Fehler gerade gefunden muss ja das emoji erst abschicken bevor ich es rasukopiere \😅
Aber trotzdem Danke für die schnelle Hilfe
Und ich hänge schon wieder:
import discord
from discord.ext import commands
from discord.commands import Option, slash_command
import asyncio
class Dropdown(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
self.bot.add_view(SelectView())
@slash_command()
async def select1(self, context):
await context.respond("Wähle Sprachen", view=SelectView())
@slash_command()
async def select2(self, context):
select = SelectClass()
select.append_option(keks)
view = discord.ui.View(timeout=None)
view.add_item(select)
await context.respond("Wähle Sprachen", view=view)
def setup(bot):
bot.add_cog(Dropdown(bot))
options = [
discord.SelectOption(label="Python", description="Python Beschreibung", value="py"),
discord.SelectOption(label="Bla", description="Beschr."),
]
keks = discord.SelectOption(label="Test", emoji="🎉")
class SelectView(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
@discord.ui.select(
min_values=1,
max_values=2,
placeholder="Triff eine Auswahl",
options=options,
custom_id="pups",
)
async def select_callback(self, select, interaction):
if "Python" in select.values:
label = [option.label for option in select.options]
if "Test" not in label:
select.append_option(keks)
else:
select.disabled = True
await interaction.response.edit_message(view=self)
else:
s = ""
for auswahl in select.values:
s += f"- {auswahl}\n"
await interaction.response.send_message(f"Du hast folgendes ausgewählt:\n{s}")
class SelectClass(discord.ui.Select):
def __init__(self):
super().__init__(
min_values=1,
max_values=1,
placeholder="Triff eine Auswahl",
options=options,
)
async def callback(self, interaction):
await interaction.response.send_message(f"Du hast {self.values[0]} asugewählt!")
Ich habe das problem das das Select-Menu sich nicht aktualisiert wenn ich nur "Python" ausgewählt habe sonder gleich die Antwort kommt "Du hast ... ausgewählt.
Also irgendwie ist heute der Wurm drin und ich finde ihn nicht:
import discord
from discord.ext import commands
from discord.commands import Option, slash_command
from discord.ext.pages import Paginator, Page
class TestPage(commands.Cog):
def __init__(self, bot):
self.bot = bot
@slash_command()
async def page(self, context):
pages = [
Page(embeds=[discord.Embed(title="Keks", color=discord.Color.yellow())]),
Page(content="Du stinkst")
]
paginator = Paginator(pages=pages, show_disabled=False, timeout=None)
#paginator.remove_button("first") # wenn man die button gar nicht haben möchte
#paginator.remove_button("last")
await paginator.respond(context.interaction)
@slash_command()
async def memberlist(self, context):
members = context.guild.members
pages = []
description = ""
for index, member in enumerate(members):
description += f"{member}\n"
if (index + 1) % 10 == 0:
embed = discord.Embed(title="Memer List", description=description, color=discord.Color.green())
page = Page(embeds=[embed])
pages.append(page)
description = ""
paginator = Paginator(pages=pages)
await paginator.respond(context.interaction)
def setup(bot):
bot.add_cog(TestPage(bot))
Error: TypeError: 'NoneType' object is not iterable
kommt wenn ich /memberlist versuche aufzurufen. /page funktioniert
habe hierfür das problem gefunden, der server hatte nur member für eine Seite und dann Schein Paginator zu streiken
Traceback (most recent call last):
File "C:\Users\bobby\PycharmProjects\rdwbot\main.py", line 31, in <module>
bot = discord.Bot(command_prefix='$', activity=activity, status=discord.Status.online, intents=discord.Intents.all())
AttributeError: module 'discord' has no attribute 'Bot'
Warum bekomme ich das immer obwohl ich das package heruntergeladen habe?
Mach Mal pip uninstall pycord
Und pip uninstall py-cord
Und danach wieder pip Install py-cord
@vivid sky
immernoch
Welche Version hast du ?
lol ich habe noch discord.py
Oder mach Mal nicht discord.Bot sondern commands.Bot
Das ist eigentlich egal
Traceback (most recent call last):
File "C:\Users\bobby\PycharmProjects\rdwbot\main.py", line 187, in <module>
@bot.slash_command(guild_ids=[settings["guildID"]], name="whitelist", description="Whitelist a person to use the bot.")
AttributeError: 'Bot' object has no attribute 'slash_command'. Did you mean: 'add_command'?
und das?
Ohne bot.
aber es ist ja in der main.py oder ist das egal?
Glaube das das egal ist
Traceback (most recent call last):
File "C:\Users\bobby\PycharmProjects\rdwbot\main.py", line 188, in <module>
@slash.command(guild_ids=[settings["guildID"]], name="whitelist", description="Whitelist a person to use the bot.")
NameError: name 'slash' is not defined. Did you mean: 'hash'?
Process finished with exit code 1
weil ich gerne lesbaren/verständlichen code schreibe. Weiß ich einfach später schneller wieder was ich da für nen müll zusammengecodet habe. Versuche möglichst sprechende bezeichnungen zu nutzen IDE übernimmt ja das schreiben also egal wie lang
Code & error
soll ich dir jetzt denn ganzen code schicken? error habe ich schon
lol es ist im ganzen code weil ich mehr slash commands habe.
Bin grade lost, hat wer von euch nh anhnung wie man nochmal die message id ausliest (von der nachricht die der bot grade selber gesendet hat)
kommt drauf an was für ne msg
respnd msg oder channel msg
msg in dms
zählt doch eig zu channel msgs oder liege ich da falsch?
Brauche halt nur die id von der Nachricht, die der Bot selber gesendet hat
msg = deine response lol
msg.id
oh okay wow xd danke
wieso tut sich hier nichts
wahrscheinlich wegen dem error
der key "data" scheint nicht in deinem json vorzukommen
denn gibt es auch nicht ich dachte des geht so?
du solltest die Errors in deiner Konsole schon beachten
ja ich weiß ich arbeite aber noch nicht so lange mit json
meinst du innerhalb des embeds?
gepingt wird die rolle nur, wenn die außerhalb steht
Ignoring exception in modal <Systeme.ticket_sys.ReasonModal object at 0x000001A6D27C28C0>:
Traceback (most recent call last):
File "C:\Users\Linus\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\ui\modal.py", line 341, in dispatch
await value.callback(interaction)
File "c:\Users\Linus\Desktop\Wolkenlos\WolkenlosBot\Systeme\ticket_sys.py", line 91, in callback
await db.execute("INSERT OR IGNORE INTO Ticket_sys (ticket) VALUES (?)", (ticket_channel.id))
File "C:\Users\Linus\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 184, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
File "C:\Users\Linus\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 129, in _execute
return await future
File "C:\Users\Linus\AppData\Local\Programs\Python\Python310\lib\site-packages\aiosqlite\core.py", line 102, in run
result = function()
ValueError: parameters are of unsupported type```
Warum kommt dieser Fehler bei dem Code?
async def callback(self, interaction):
server = interaction.user.guild
grund = self.children[0].value
cat = server.get_channel(1038842378494169140)
user = interaction.user
ticket_channel = await interaction.guild.create_text_channel(f"Allgemeines Ticket - {interaction.user}",
category=cat,
topic=f"Allgemeines Ticket - {interaction.user}")
print(ticket_channel.id)
async with aiosqlite.connect("wolkenlos.DB") as db:
await db.execute("INSERT OR IGNORE INTO Ticket_sys (ticket) VALUES (?)", (ticket_channel.id))
await db.execute("INSERT INTO Ticket_sys (user, grund) VALUES (?, ?)", (user.id, grund))
await db.commit()```
Ich bin dumm Timo :c
:d
Hier hab ich die DB erstellt:
@commands.Cog.listener()
async def on_ready(self):
async with aiosqlite.connect("wolkenlos.DB") as db:
await db.execute(
"""
CREATE TABLE IF NOT EXISTS Ticket_sys (
ticket INTEGER PRIMARY KEY,
user INTEGER DEFAULT 0,
grund STRING DEFAULT 0
)"""
) ```
(ticket_channel.id,)
ah thx
hast nh komma vergessen
ja habs gerade bemerkt xD
du hast ein komma vergessen
Ach was
ich helfe immer gerne
xD
Richtig Timo 
hm also der erledigt hier wichtige aufgaben das geht nicht
Is mir egal
Er gehört hier weg
Must be 1024 or fewer in length.
wie machst du den grauen hintergrund/
?
Magic
Mein tolles Ticket system ist ja überall
Jetzt noch mit Web Anwendung, dass man die Ticket's verwalten kann ._., dann wäre perfekt
Mach ich grad zurzeit nämlich xD
Was soll man da verwalten
Ja die tickets, dass man halt per Web Anwendung schließen kann, erneut öffnen, claimen etc..
Mit viel viel mehr features
discord in chrome
tickettool mäßig?
werdet ihr sehen
dauert bestimmt lange 😄
jo
Ich habe bot bei de rklasse definiert
code ?
kann mir bitte jmnad dabei helfen?
ich arbeite auch nicht mit cogs 😄
Zeitverschwendung finde ich

mach mal video wieso man cogs benutzen sollte
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github
► https://github.com/tibue99/tutorial-bot
Tutorial Playlist
► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Discord Developer Portal
► https://discord.com/developers/applications
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/i...
ne du
manno
Ne leider net
@slash_command(description="Ping Pong! Send a Pong!")
async def ping(self, ctx):
await ctx.respond(f"Pong! {bot.latency * 1000}ms")
@tawdry leaf gensuso kopiert
bot ist nicht definiert
self.bot.latency
Ist
dann schick mal den code wo du deinen bot definiert hast
Funktioniert.
Ich finde cogs nicht cool mit dem ganzen self und hier und da außerdem wie Lucky gesagt hat finde ich ist das Zeitverschwendung
Wäre aber guter Stil
Ich glaube du hast den sinn hinter cogs nicht vestanden
Das ist, damit dein Code strukturiert ist und nicht jeder scheiß in der main file landet
Und wow, vor bot noch ein self zu setzten ist ja sooo schwierig
xD
Da findet man Sachen doch auch viel schneller
Das ist, damit dein Code strukturiert ist
Wenn ich z.b. alles in der main hätte, würde ich absolut nichts wiederfinden. Ich hab ja jetzt mit cogs schon in manchen Codes Probleme
Zusätzlich auch flexibel weil du den Code schnell Updaten kannst Einzel ect
Du kannst zB teil deines Code schon für den bot veröffentlichen.
Du mir brauchst du das nicht sagen. Auf Wartbarkeit Durchgetestet und guter Stil werde ich im Studium genug getrimmt.
xD
Das war für mich ein Segen mit Cogs da hab ich zB eine Funktion fertig und arbeite noch an andere. Segen auf cogs

Zusätzlich ist Code teilen einfacher anstatt sein ganze bot zu schicken

Wäre cool wenn jemand hier mal nochmal drauf schauen könnte finde einfach meinen Fehler nicht: #1019974414487535736 message
wie meinst du das genau mit es aktualisiert sich nicht?
Bei dir im Tutorial wenn man Python auswählt bekommt man eine Weitere Auswahl bei mir kommt einfach nur die respond vom Bot du hast Python ausgewählt. Habe eig nur versucht dein Beispiel nachzucoden
hm, das ist eigentlich die response von SelectClass und nicht die von SelectView
Ich verstehe gerade nicht 🫣
Bis darauf das ich in der Option das label="Test" habe und nicht "Keks" sehe ich keinen unterschied zwischen deinem und meinem Code. Aber sie kommen zu unterschiedlichen Ergebnissen. 🤔
kennt sich wer mit pyyaml aus ?
Bestimmt jemand
doch habe ich.
ach wirklich.
@slash_command(description='Stelle ChatGPT eine Frage')
@commands.guild_only()
async def ask(self, ctx, question: Option(str, description="Deine Frage")):
msg = await ctx.respond(f"Please wait ...")
# Hier ist normalerweise dann die Anfrage an ChatGPT
print(completion.choices[0].message)
messageeee = f"**{question}**"
answer = f"{completion.choices[0].message.content}"
await msg.edit(f"{messageeee} {answer}")
Das Print Event funktioniert soweit. Der Fehler liegt bei await msg.edit(f"{messageeee} {answer}") jedoch weiß ich leider nicht was genau ich falsch mache. Hat jemand von euch eine Idee?
ctx.respond() gibt keine message zurück, sondern eine interaction. das hier sollte dir helfen: #1019974414487535736 message
Ah dankeschön :D
@solid ingot anpinnnen pls
Hm der code kommt mir bekannt vor
Jaja :D Der is von AFC. Also Ich hatte sowas ähnliches aber bei mir hat es nur rum gemuckt
oki doki
Wie mach ich das wenn jemande beitritt automatisch seine Bio gechanged wird?
Die Bio von Usern kann man doch nt ändern?
https://image.nykoos.de/Gqdk5lAf Du meinst doch das hier?
geht nd
die kann man nicht administrieren
spontan weiß ich auch nd wie man die überhaupt ausliest
das geht auch nicht
xD
die nitro ding
nein geht nd
mhm
nein wie denn xD
?
ein programm wo du dich in den user einloggst, da dann die bio changst?
und jetzt komm nicht "du kannst dich nicht eif einloggen" das hab ich schon gemacht
Dan weißt du ja wie es geht xd
ja das war aber nd meine frage
sich in andere Accounts einzuloggen ist definitiv gegen die TOS
ich will ja die BIO auf dem SERVER ändern
Wenn man die login daten hat nicht :D
doch
dann sag das doch
bruh
glaube aber trotzdem nicht dass das geht
vlt hab ich's auch falsch verstanden
programm => Einloggen => About Me changen
aber nur für einen bestimmten server
also
nein das ist generell gegen die TOS
das nennt man selfbotting
was 100% gegen die TOS ist
Ja ist verboten
Natürlich ist das verboten
echt?
lol
Ok
Meinst du den Pfad von deinem Projekt?
Also das da steht, dass du dich in helloworld.py befindest oder so?
Also ich nutze kein Pycharm, aber vielleicht hilft dir ja das: https://stackoverflow.com/questions/62200703/how-to-hide-path-location-in-run-window-in-pycharm
A quick guide on how to Hide path / Fold lines in console output in PyCharm
Oder das
was eine Frage xD
xD
das als freiwilliger Helfer mal aussortieren 😦
xdd tos kentnisse sind ja supa D:
ja ist aber nicht der einzige der sich da nd auskennt von den freiwilligen helfern
Gibt doch ntmal so viele? Und wenn wir weiterschreiben lass thread aufmachen xd
Oder ne geht nt haha dann chat oder so
diese Aggressivität xD
hallo leute kann mir jemand da helfen um den label zu ändern?
#---Button configuration---
# Next & Back Pageing
class PageCounter(discord.ui.Button):
def __init__(self, UserID: int, pages):
super().__init__(
label=f'1/{len(pages)}',
disabled=True,
style=discord.ButtonStyle.gray,
)
self.UserID = UserID
self.pages = pages
self.page_number = 0
# Update the label initially
#asyncio.create_task(self.update_label())
async def update_label(self):
async with aiosqlite.connect(os.getenv('UserConfigSQL')) as db:
async with db.execute('SELECT PageTemp FROM UserConfig WHERE UserID = ?', (self.UserID,)) as cursor:
page_number_tuple = await cursor.fetchone()
if page_number_tuple is None:
page_number = 0
else:
page_number = page_number_tuple[0]
self.page_number = page_number
self.label = f'{self.page_number+1}/{len(self.pages)}'
print(self.label)
async def callback(self, interaction):
self.disabled = True
self.label = f'{self.page_number+1}/{len(self.pages)}'
print(self.label)
nach der label änderung musst du noch die message bearbeiten
naja wenn du das label änderst, machst du doch änderungen am view
mal anders wie kann ich mit custom_id den label ändern?
etwa so`
# Ändere das Label des 'Pizza'-Buttons
for child in self.children:
if isinstance(child, discord.ui.Button) and child.custom_id == 'pizza':
child.label = 'Neue Label-Bezeichnung'
quelle chatgpt
Immer wieder gerne
veraltet 😐
Jemand nh Ahnung was das Bedeutet?
code?
Liegt nicht am Code. Den error bekomme ich das erste mal. Das automatische ändern des Status hat auch vor dem error geklappt. Ich will nur wissen was dieses closed gareway bedeutet
Hilfe
ii json 🤮
Traceback (most recent call last):
File "C:\Users\Georgi\Documents\Georgi\DEVELOPMENT\PYTHON\EUROPE VERSE BOTS\SPACE X SYSTEM NEW\main.py", line 2, in <module>
from discord.commands import slash_command, 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```
der gibt mir immer diesen fehler raus
ich habe d.py deinstalliert
installier pycord nochmal neu
Ja ne xD, wenn's richtig wäre, dann wäre es nicht rot ._.
Aber gut das du das Problem selbst gelößt hast
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...
Wie kann ich Checken ob ein User eine Rolle hat bzw. ob mehrere User dann eben diese Rolle haben um dann den Nickname der Personen mit dieser Rolle zu ändern zbsp Staff | Name
eine möglichkeit wäre die rolle zu laden und dann eine if bedingung zu erstellen: ```py
if role in user.roles
Von mehreren Membern, dann würde ich so machen, dass du durch die member loopst for mem in guild.members und dann, wenn jemand die Rolle hat if role in mem.roles ihm halt den Nickname ändern
das hab ich in dem video auch gezeigt
code?
andersrum
ein followup geht erst nachdem du die eigentliche response gesendet hast
so wie im video
sende ich mehrere embeds so ab?
nein
em und embanner sind doch nur Strings, du musst schon richtige embeds definieren
aber die Antwort auf die Frage "funktioniert das so" ist eigentlich immer "probiers aus", das geht am schnellsten
raise errors.ExtensionFailed(key, e) from e
discord.errors.ExtensionFailed: Extension 'cogs.owner' raised an error: IndentationError: unexpected indent (owner.py, line 59)```
doppelpunkt hinter die if bedingung
Die antwort auf die Frage ist eigentlich immer: https://tryitands.ee/
Psychopath is typing...
Kann mir jemand helfen muss machen dass wen ein User joint ein welcome bannere gesendet wird, habe ich gemacht, aber jetz auch muss da stehen "User eingeladed von" und weiß net wie ich es machen muss?
Vielleicht hilft dir ja das
wie soll ich es ändern
?
Nein ._.
wie den
Du gehst durch die for loop, dann definierst du den inviter, und dann setzt du den inviter.name in deinen text
Aber wait
eh
Wait
Glaube das würde so garnd funktionieren
xD
Also wie oben auf meinem Screenshot
muss es abe im text haben
um den inviter rauszufinden, musst du alle invites in einer Datenbank tracken
die if Bedingung macht keinen sinn
Deshalb sag ich ja, das würde so nicht funktionieren
prüf das nächste Mal ob der Code Sinn macht bevor du Leuten empfiehlst ihn zu nutzen 
kannst du mi dabei helfen`?
um den inviter rauszufinden, musst du alle invites in einer Datenbank manuell tracken und im on_member_join event prüfen, welcher invite link benutzt wurde
komm call
why
ok komm gleich rein baruche hilfe
nein, ich muss lernen
Kann mir jmd helfen warum er die option nicht appendet es gibt keinen error die view wird gesendet aber ohne das hinzugefügte
view = View()
view.add_item(Dropdown())
view.add_item(Send())
view.add_item(Share())
if int(interaction.user.id) == 416015508303904779:
view.add_item(Share_To_DB())
try:
if self.children[2].value == "true" or "false":
print("Ja")
Dropdown.append_option(discord.SelectOption(label="Field Remove", description="Edit Embeds Fiel", emoji=":heavy_minus_sign:", value="field_remove"))
xxxx
else:
xxx
except:
pass
await interaction.response.edit_message(embed=embed, view=view)```
woher willst du wissen, ob es einen error gibt, wenn du except pass machst?
Oh stimmt XD
Jetzt macht das aber keinen sinn
Traceback (most recent call last):
File "C:\Users\jurek\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\ui\modal.py", line 341, in dispatch
await value.callback(interaction)
File "c:\Users\jurek\Documents\Development\Python\DC Bots\Xenority\Xenority-Main-Pycord-V2\cogs\embed_builder.py", line 527, in callback
Dropdown.append_option(self, option=discord.SelectOption(label="Field Remove", description="Edit Embeds Fiel", emoji=":heavy_minus_sign:", value="field_remove"))
File "C:\Users\jurek\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\ui\select.py", line 319, in append_option
if self._underlying.type is not ComponentType.string_select:
^^^^^^^^^^^^^^^^```
ich habe das gleiche mit _ bei add field hä
schick vlt mal die eigentliche error meldung
das ist der error
sicher? sieht so aus als wäre das nur traceback
| Guilds ---> 2 Users: 50
|-------------------------------------------------------------|
Ja
Ignoring exception in modal <cogs.embed_builder.field_add object at 0x0000018814E42C90>:
Traceback (most recent call last):
File "C:\Users\jurek\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\ui\modal.py", line 341, in dispatch
await value.callback(interaction)
File "c:\Users\jurek\Documents\Development\Python\DC Bots\Xenority\Xenority-Main-Pycord-V2\cogs\embed_builder.py", line 527, in callback
Dropdown.append_option(self, option=discord.SelectOption(label="Field Remove", description="Edit Embeds Fiel", emoji=":heavy_minus_sign:", value="field_remove"))
File "C:\Users\jurek\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\ui\select.py", line 319, in append_option
if self._underlying.type is not ComponentType.string_select:
^^^^^^^^^^^^^^^^
AttributeError: 'field_add' object has no attribute '_underlying'```
das sieht schon besser aus
okay
ich hab den module installiert
hat nicht funkioniert
hab deinstalliert und wieder installiert und geht immernoch nicht
nicht discord_slash sondern discord.commands
Nutze bitte keine extra Library dafür, slash commands werden in discord.py und deren forks unterstützt
also ich suche seit 1 stunde das problem und das war es?
Und warum willst du dann das extra package discord_slash nutzen?
slash commands werden in py-cord unterstützt
hm
das ist doch alles richtig oder?
import discord
nicht import py_cord
und mach das so py from discord.commands import Option, SlashCommandGroup, slash_command
WIE FIX ICH DAS
Mein Discord Server
► https://discord.gg/zfvbjTEzv6
Code auf Github
► https://github.com/tibue99/tutorial-bot
Tutorial Playlist
► https://youtube.com/playlist?list=PLwRWzD1Sw5lXZApchxorxeBQ_P_Fjdsj1
Discord Developer Portal
► https://discord.com/developers/applications
Pycord
Docs ► https://docs.pycord.dev/
Guide ► https://guide.pycord.dev/i...
@urban glen
hey, bitte keine caps
was ist dann so schlimm daran wenn man das versehenlich amch oder nicht?
es sind nur buchstaben abc oder ABC ist doch egal die wörter sind doch gleich?
caps = schreien
hä ist ja mega komisch sind doch nur großbuchstaben aber egal... hast du ne lösung
nope
wenn du jemanden anschreist sind das auch nur worte. dieser channel ist aber nicht für diskussionen, also halte dich bitte einfach an #🔰・old-help-rules
ein satz ist ein satz.
hab grad auch an einen role command gearbeitet der den user die eingegebene rolle geben soll und wenn der user die schon hat dann sie wegnehmen soll aber hab error beim "Discord.Member, role: Discord.Role"
@bot.slash_command(name='role', description='Assign or remove a role from a user')
async def role(ctx: member: Discord.Member, role: Discord.Role):
if role in member.roles:
await member.remove_roles(role)
await ctx.send(f'Removed role {role.name} from {member.mention}')
else:
await member.add_roles(role)
await ctx.send(f'Assigned role {role.name} to {member.mention}')
discord muss klein geschrieben werden
jedenfalls solltest du es klein importiert haben
hatte es auch grad klein hab es danach nochmal groß ausporbiert geht beides nicht
ausprobiert*
trotzdem ist klein richtig und groß falsch
hab klein versucht
es sagt "invalid syntax"
es findet discord glaub ich nicht
ich hab discord imported
das bedeutet nicht automatisch, dass die kleine variante falsch ist
wollte nur versuchen während dem coding ding heute gabsen viele sachen die mich durcheinander gebracht haben
der fehler ist ctx: und dann steht da member:
Löschen?
Garnicht's
Mach einfach ctx: discord.ApplicationContext
ähm
soll ich dann zum cx hinzuügen oder die anderen weg machen und dann rein
@urban glen mal so als Frage, beherrscht du die Python Basics?
Also dazu zählt ungefähr sowas:
- Primitive data types
- Operators
- Data structures
- Importing
- Variables, namespace and scope
- String formatting
- OOP
- Control flow
- Exception handling
- Function definitions
- Classes, objects, attributes and methods
- Console usage, interpreters and environments
- Decorators
- Asyncio basics
- Blocking
- Logging
00P, Control flow und exeption ist mir nicht bekannt
Und der rest schon?
Dann wundert es mich bisschen, dass du bei so einer aufgabe verzweifelst
ja, das sind sogar scratch basics
So ```py
@bot.slash_command(name='role', description='Assign or remove a role from a user')
async def role(ctx: discord.ApplicationContext member: Discord.Member, role: Discord.Role):
if role in member.roles:
await member.remove_roles(role)
await ctx.send(f'Removed role {role.name} from {member.mention}')
else:
await member.add_roles(role)
await ctx.send(f'Assigned role {role.name} to {member.mention}')
war für 2 monaten nicht am programmieren
War mal nh Halbes Jahr nd am programmieren, aber sowas vergisst man nicht
Oder willst du mir sagen du vergisst nach ner Zeit auch die Reihenfolge vom Alphabet? xD
Abcdzeku
Merkste selber, oder?
ich glaub ich sollte python von neu lernen
gar kein bock
MANJNNNN
Wie kann dir "exception" nicht bekannt sein?
was das
ich weiß nciht
hm
._.
Meinst du des ernst?
egal gucke jetzt Timo und abonniere
:ja:
Erstmal gegen die Regeln verstoßen ._.
äh
Und das is so unnötig den Server Inhaber zu Pingen
was meinst du
Die message zu editieren bringt nix ._.
hab doch nichts gemacht
ne ne
hab das u bei und vergessen
Is ja nicht so, dass Timo den ping trotzdem erhält ._.
du warst das
du hast nachricht gelöscht
@urban glen hör mal auf mich zu ghostpingen
Meinst du das jetzt ernst?
Junge ich red mit timo, nd mit dir
Geh jetzt dein drecks problem lösen
.ban AFC weil ich kurde kein grenzen habe
kein pb xD
pip installieren
wie geht das denn 👀
basics lernen
was hat pip instlalieren mit programmieren zutun du lucky
👀
dann?
Umsonst? Bei Timo ._.
Aber wenn man kostenfreie hoster nimmt, is es höchstwahrscheinlich so das die Performance beschissen is
Deshalb lieber ein bezahlter host
sehr viel 🤔
Also das man nichtmal weiß, wie man etwas installiert… das ist grundwissen

du AFC mechaniker
Du kannst einfach nur nicht die Basics.
Öffnen Sie in PyCharm über File → Settings den Einstellungsdialog und wählen Sie im Menüpunkt Project: project_name den Unterpunk Project Interpreter. Auf der rechten Seite können Sie über den Button + nach dem Paket mypy suchen und es installieren.
pip : The term 'pip' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was
included, verify that the path is correct and try again.
At line:1 char:1
- pip install py-cord
-
+ CategoryInfo : ObjectNotFound: (pip:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
Einfach Python reinstallen und dann pip auswählen ._.

hab ich
Hast du Python auch zu path hinzugefügt?
ich hab vergessen wo das war
Bei path ._.
In den Umgebungsvariablen oder wie das heißt
..
Okay, danke für den Ping
Zwei punkte sind jedoch nicht sehr aussagekräftig
okay warte ich rede auf deiner sprache
Wieder ein unnötiger Ping
import AFC
.. = wo ist das bruda
bot.run(TOKEN)
(rel script working)
verstanden?
Das macht nd mal sinn ._.
wo ist path sag mir das ._.
- Der import is unnötig
- Du hast nirgends bot definiert
Hab ich doch schon gesagt 
In den umgebungsvariablen
hä
hä
Du musst in die Umgebungsvariablen
danke für den unnötigen ping
oh
Logischerweise
Ich mache jetzt mal etwas, wozu du anscheinend zu faul bist
Hier bitte:
In this video, we will learn how to add Python Path to Environment Variable on Windows 11. If you are getting errors when you run the python program, this could be due to the Python path not being set up on the environment variable on Windows 11. Here is how you can do it.
Learn More: https://www.thecoderworld.com/how-to-add-python-path-to-envi...
der indische
Is das so schwer mal zu suchen?
?
Kinder…
Man man man
Was soll man nur mit Menschen wie euch machen…
oki
:AFCfacereveal
ups hab doppel punkt vergessen
WAS
WAS
WAS
ANANANAS
MACHEN KEINE SPASS
Wie wärs mit Nachrichten löschen ._. Oder wird das hier unterstützt? xD ||Joke timo.. joke||
der user ist schon im timeout, du könntest aber auch mal etwas netter sein
@tawdry leaf junge 
Bruh
Ich bilde mich fort
nein woher
handy spieler

Vorname: handy
Nachname: spieler

ok
discord schrott
bzw. warscheinlich hast du nen kak handy
Der nimmt jetzt immer nur eine Zahl, da die "winners_number" auf 1 steht. Weiß jemand von euch wie ich jetzt aber ein Element aus der Liste auswähle (eine gesammte id) und nicht nur eine zahl?
ich denke, dass users keine liste ist, sondern ein string
Users ist dashier: und das ist doch eine Liste oder irre ich mich?
naja, das kann auch ein string sein
listen kannst du in einer DB nicht so einfach speichern
Hm ja das ist wirklich ein String, jetzt muss ich den halt irgendwie zu einer Liste ändern
✨ string formatting ✨


if isinstance(command, discord.SlashCommandGroup):
for subcommand in command.subcommands:
embed.add_field(name=f"</{subcommand.parent.name} {subcommand.name}:{subcommand.id}>", value=f"`{subcommand.description}`")
ok
wieso wird der slash command nicht erwähnt?
</{subcommand.parent.name} {subcommand.name}:{command.id}>
macht immernoch nicht die mention
Maybe subcommand.parent.id?
sieht immenroch gleich aus
</userinfo:1042214688177541200>
Bei einem Cog ist der Cog eine Datei in der Main datei also wird der Cog auch im Ordner sein auf dem Pc?
was
Glaube ich auch
Ein Cog ist doch in der Datei eine datei oder?
Also bei mir klappts 
wird das auf dem Pc irgendwo zufinden sein? ne weil es in der Datei ist oder?
?
Es gibt eine Datei z.B main.py das ist eine Datei?
ja
In der datei ist ein Cog oder?
extra py datei?
Nein? Das was du in der py als cog definierst ist eine Klasse. Eine Klasse ist ja in einer .py drinnen.
Ein Cog ist doch in der Datei eine datei
Der satz mach keinen sinn ._.
also z.B in der main datei?
Und bei sowas kann man dann wieder sagen, 
ja
@manic tusk nochmal für dich, erst das:
- Primitive data types
- Operators
- Data structures
- Importing
- Variables, namespace and scope
- String formatting
- OOP
- Control flow
- Exception handling
- Function definitions
- Classes, objects, attributes and methods
- Console usage, interpreters and environments
- Decorators
- Asyncio basics
- Blocking
- Logging
und dann erst Discord Bot's
Wenn du die Klassen in einer Datei hast, dann ja
Macht aber kein Sinn, da es Cogs sind.
Die sind extra dazu da, sie in mehreren Dateien zu haben, damit es strukturierter ist
Die Datei ist dann main.py
also ja oder?
Ich werd mich nicht nochmal wiederholen
hä jz check ich nix mehr
dann check es nicht
- Classes, objects, attributes and methods

ich dachte ein cog ist eine klasse in der datei wo es dann strukturierter sein sollte
Extra wegen solchen Fragen werden schon Vorschläge wie: #1081518516282331147 gebracht
Nicht vom Thema ablenken
Denken kann man viel, aber Lesen sollte man das eher
Und du solltest dich an die Regeln halten
yes
was ein god
Hab eben gemerkt, dass jeder der hier Fragen stellt ohne Basics zu besitzen, gegen die #🔰・old-help-rules verstößt xD
xD
Jo, weiß jedmand wie man checken kann ob member bestimmte rechte in einem channel haben?
zb mit channel.permissions_for()
Hast du kruz Zeit?
Ja, wenn du keinen member auswählst, kann er auch nd überprüfen ob der member ein Bot ist
Deshalb steht da ja "NoneType" object has not attribute "bot"
Hey, weiss jmd wie ich von einem Select Menü eine Option entfernen kann?
view klasse oder slect klasse?
öhm
View: select.values.remove(deine val)
ich denke select
2
jetzt bekomme ich den error
Traceback (most recent call last):
File "C:\Users\jurek\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\ui\modal.py", line 341, in dispatch
await value.callback(interaction)
File "c:\Users\jurek\Documents\Development\Python\DC Bots\Xenority\Xenority-Main-Pycord-V2\cogs\embed_builder.py", line 537, in callback
await interaction.response.edit_message(embed=embed, view=view)
File "C:\Users\jurek\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\interactions.py", line 961, in edit_message
await self._locked_response(
File "C:\Users\jurek\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\interactions.py", line 1090, in _locked_response
await coro
File "C:\Users\jurek\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\discord\webhook\async_.py", line 221, in request
raise HTTPException(response, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In components.0.components.0.options.11: The specified option value is already used```
`self.dropdown.values.remove(field_add)`
Warum???
So lernt er es nicht
Oder bekommst du auch Lösungen in der Klausur oder in ner Arbeit?
oh
sorry
wollte nur helfen
Naja es bringt user aufjedenfall weiter als auf deine weblink zu drücken und sich damit die zeit zu verschwenden
alles gut, freut uns dass du hilfst 😌
Alles gut, aber dafür ist dieser Forum hier xD
In Dm's lösungen zu schicken bringt ihn nicht weit
member = member or ctx.author
._.
Warum wird bei diesem Code : ```py
class CloseView(discord.ui.View):
def init(self):
super().init(timeout=None)
@discord.ui.button(label="Schließen", style=discord.ButtonStyle.red, custom_id="close")
async def button_callback1(self, button, interaction):
for role in interaction.guild.roles:
if(not IGNORE_CLOSE.__contains__(role.id)):
for member in role.members:
embed7 = discord.Embed(
title="**Ticket wurde geschlossen**",
description=f"Das Ticket wurde von {interaction.user} geschlossen.",
color=config.TRANPARENT
)
overwrite = discord.PermissionOverwrite()
overwrite.send_messages = False
overwrite.create_instant_invite = False
await interaction.channel.set_permissions(member, overwrite=overwrite)
await interaction.channel.send(embed=embed7)
button.style = discord.ButtonStyle.green
button.label = "Öffnen"
await interaction.response.edit_message(view=self)``` Das embed 2 mal geschickt?
Weil es in einer for loop ist
sag mal wie ich das ändern kann bidde
Wie viele Member haben diese Rolle?
Das Embed außerhalb vom Embed schicken
Häää

Wofür is überhaupt die For-Schleife?
Naja es wird als erstes geguckt bei welchen rollen die perms nicht geändert werden und danach wird geguckt bei welchen rollen deren membern die rollen geändert werden sollen
Also du willst machen, dass Member mit ner bestimmten rolle das Ticket closen kann?
oder wie jetzt
Bin grad auch am Handy, deshalb is es schwer den Code so zu verstehen xD






