Python Discord Bot Fehler?

Hey,

als ich einen discord bot mit python erstellen wollte haben ich den fehler bekommen:

 File "bot.py", line 9
  async def on_ready():
    ^
SyntaxError: invalid syntax

und als ich dann im terminal folgendes eingegeben habe: "python3 bot.py" bekam ich den Fehler:

Traceback (most recent call last):
  File "bot.py", line 1, in <module>
    import discord
  File "/home/pi/.local/lib/python3.5/site-packages/discord/__init__.py", line 25, in <module>
    from .client import Client
  File "/home/pi/.local/lib/python3.5/site-packages/discord/client.py", line 33, in <module>
    import aiohttp
  File "/home/pi/.local/lib/python3.5/site-packages/aiohttp/__init__.py", line 6, in <module>
    from .client import BaseConnector as BaseConnector
  File "/home/pi/.local/lib/python3.5/site-packages/aiohttp/client.py", line 30, in <module>
    from yarl import URL
  File "/home/pi/.local/lib/python3.5/site-packages/yarl/__init__.py", line 1, in <module>
    from ._url import URL, cache_clear, cache_configure, cache_info
  File "/home/pi/.local/lib/python3.5/site-packages/yarl/_url.py", line 56, in <module>
    @rewrite_module
  File "/home/pi/.local/lib/python3.5/site-packages/yarl/_url.py", line 132, in URL
    _QUERY_PART_QUOTER = _Quoter(safe="?/:@", qs=True, requote=False)
  File "yarl/_quoting.pyx", line 192, in yarl._quoting._Quoter.__init__
TypeError: __init__() got an unexpected keyword argument 'requote'

und mein python code sieht so aus:

import discord
from discord.ext import commands

client = commands.Bot(commands_prefix = '.')

@client.event
async def on_ready():
	print('The Bot is ready.')

client.run('*Zensiert*')

Ich benutze den Raspberry Pi 3 Model B (Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux)

ich hoffe jemand kann mir helfen. Vielen Dank im voraus :)

Mit freundlichen Grüßen

KolpixTV

PC, Computer, Fehler, Linux, Programmieren, Gaming, Python, Raspberry Pi, discord
0 Antworten
SQL DELETE von bestimmer variable die über Input kommt Python?

Hi,

ich bin momentan dabei, mir SQL in Kombination mit Python beizubringen. Das ganze ist irgendwie nicht so einfach, mit viel googlen komme ich aber meistens weiter.

Nun finde ich aber leider nichts mehr dazu, habe verschiedene Sachen probiert.

Folgender Code

 def ins(self):
        while True:
            o = ""
            wort1 = input("Das deutsche Wort \n")
            time.sleep(1)
            if wort1 == "break":
                self.c.execute(("DELETE FROM Woerterbuch4 WHERE Wort1=%s",(wort1)))
                break
            wort2 = input("Das englische Wort \n")
            time.sleep(1)
            self.c.execute('''INSERT INTO Woerterbuch4 (Wort1, Wort2) VALUES(?,?)''', (wort1, wort2))
            self.conn.commit()
            if wort2 == "break":
                break

Ich möchte damit erreichen, dass wenn man sich entscheidet mit break die Methode zu stoppen, das Wort, dass ja noch eigetragen wird, nicht eingetragen wird und gelöscht wird wieder. Würde natürlich auch anders gehen, indem ich den Insert Befehl anders platziere. Naja jedenfalls kommt folgender Fehler.

Successfully connected to the DB
Successfully created DB
Das deutsche Wort
ko
Das englische Wort
libri
Das deutsche Wort
break
Traceback (most recent call last):
 File "C:***", line 33, in <module>
   w.ins()
 File "C:\***", line 18, in ins
   self.c.execute(("DELETE FROM TABLE WHERE Wort1=%s", (wort1,)))
ValueError: operation parameter must be str
Drücken Sie eine beliebige Taste . . .

Kann mir auch jemand die Hilfe von Visual Studio erklären also das gelb markierte Fenster im Bild.

Besten Dank!

SQL DELETE von bestimmer variable die über Input kommt Python?
sql, Python
1 Antwort
Python Frage zum erstellen einer Klasse mit 2 Funktionen?

Hallo.

Ich habe 2 Funktionen geschrieben die im einzelnen auch funktionieren.

Mir wurde hier auch schon etwas geholfen, aber das letzte bisschen fehlt mir noch. Ich schaffe es nicht die Liste "kartendeck" von einer in die andere Methode zu übergeben.

jetziger Code:

class Karten:    

    def karten_erstellen(self):
        farben = ['Herz', 'Karo', 'Pik', 'Kreuz']
        werte = ['7', '8', '9', '10', 'Bube', 'Dame', 'König', 'Ass']

        kartendeck = []

        for w in farben:
            for y in werte:
                z = str(w + ' ' + y)
                kartendeck.append(z)
        return kartendeck

    def karten_zuweisen(self):
        kartendeckcopy = kartendeck.copy()        
        z_ass = 1
        z_7 = 7
        z_8 = 8
        z_9 = 9
        z_10 = 10
        for i in kartendeckcopy:
            if '7' in i:
                i_neu = i
                i_neu = (i_neu, z_7)
                kartendeck.append(i_neu)
                kartendeck.remove(i)
        for i in kartendeckcopy:
            if '8' in i:
                i_neu = i
                i_neu = (i_neu, z_8)
                kartendeck.append(i_neu)
                kartendeck.remove(i)
        for i in kartendeckcopy:
            if '9' in i:
                i_neu = i
                i_neu = (i_neu, z_9)
                kartendeck.append(i_neu)
                kartendeck.remove(i)
        for i in kartendeckcopy:
            if '10' in i:
                i_neu = i
                i_neu = (i_neu, z_10)
                kartendeck.append(i_neu)
                kartendeck.remove(i)
        for i in kartendeckcopy:
            if 'Bube' in i:
                i_neu = i
                i_neu = (i_neu, z_10)
                kartendeck.append(i_neu)
                kartendeck.remove(i)
        for i in kartendeckcopy:
            if 'Dame' in i:
                i_neu = i
                i_neu = (i_neu, z_10)
                kartendeck.append(i_neu)
                kartendeck.remove(i)
        for i in kartendeckcopy:
            if 'König' in i:
                i_neu = i
                i_neu = (i_neu, z_10)
                kartendeck.append(i_neu)
                kartendeck.remove(i)
        for i in kartendeckcopy:
            if 'Ass' in i:
                i_neu = i
                i_neu = (i_neu, z_ass)
                kartendeck.append(i_neu)
                kartendeck.remove(i)
            
        return kartendeck
    

    def __init__(self):
        
        karten = self.karten_zuweisen()
    
        

Aufruf der Klasse mit:

karten = Karten()

Ich schaffe es nicht kartendeck, die in karten_erstellen erstellt wurde in der nächsten Methode karten_zuweisen aufzurufen. Kann mir jemand sagen wie ich das machen kann?

Programmieren, Python
1 Antwort
Kivy (Python) zeigt nur Error, was tun?

Ich wollte mit der Programmierung mit dem Python Package Kivy anfangen, jedoch bekomme ich nur Errors nachdem ich folgenden Code geschrieben habe:

import kivy

from kivy.app import App

from kivy.uix.button import Button

class StartApp(App):

   def build(self):

       return Button(text="hi")

if __name__ == "__main__":

   StartApp().run()

----------------------------

Mir werden diese Errors angezeigt:

[CRITICAL] [Text       ] Unable to find any valuable Text provider. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes

sdl2 - ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

 File "C:\Users\Flylix\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\kivy\core\__init__.py", line 63, in core_select_lib

   fromlist=[modulename], level=0)

 File "C:\Users\Flylix\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\kivy\core\text\text_sdl2.py", line 13, in <module>

   from kivy.core.text._text_sdl2 import (_SurfaceContainer, _get_extents,

pil - ModuleNotFoundError: No module named 'PIL'

 File "C:\Users\Flylix\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\kivy\core\__init__.py", line 63, in core_select_lib

   fromlist=[modulename], level=0)

 File "C:\Users\\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\kivy\core\text\text_pil.py", line 7, in <module>

   from PIL import Image, ImageFont, ImageDraw

[CRITICAL] [App        ] Unable to get a Text provider, abort

Informatik, Python
1 Antwort
Wie erzeuge ich beim Programmieren alle quaternären (DNA) Kombinationen für feste Kombinationslänge?
  1. Aufgabenstellung:

Es sollen alle möglichen Kombinationen der 4 Buchstaben (A, G, C, T), für eine feste länge n (n = 4, 5, ..., 9, 10) erzeugt werden. Hier von gibt es offensichtlich 4^n.

Beispiel: n = 4: (A, A, A, A), (A, A, A, G), (A, A, A, C), (A, A, A, T), (A, A, G, A), (A, A, G, G), (A, A, G, C), (A, A, G, T), ..... Insgesamt gibt es hier 4^n = 4^4 = 256 Kombinationen.

2. Aufgabenstellung (optional):

Wie oben, aber es sollen nur die Kombinationen erzeugt werden, welche unten stehenden Restriktionen erfüllen. Man kann natürlich einfach wie oben vor gehen und dann die Kombinationen raus schmeissen, welche die Restriktionen nicht erfüllen. Dies ist jedoch sehr ineffizient, da man zum Beispiel für den worst-case n = 10, erstmal 4^10 = 1.048.576 Kombinationen erzeugen muss, wovon sehr viele durch die beiden Restriktionen rausfliegen.

  1. Restriktion: Die Anzahl der Male die 'G' und 'C' insgesamt, in einer Kombination vorkommt ist bei geradem n genau n/2. Bei ungeradem n ist es genau n/2 - 0.5.

Beispiel 1: n = 4. G und C darf n/2 = 4/2 = 2 mal vorkommen. (A, G, C, T) ist erlaubt, da G und C insgesamt 2 mal vorkommt. (G, A, C, G) und (A, T, G, A) sind nicht erlaubt, da die beiden 3 und 1 mal vorkommen.

Beispiel 2: n = 5. G und C darf n/2 -0.5 = 5/2 -0.5 = 2 mal vorkommen. Dann, analog zu Beispiel 1.

2. Restriktion: In einer Kombination darf nicht zwei mal in Folge der selbe Buchstabe auftreten.

Beispiel: n = 4. (A, G, C, T) ist erlaubt. (A, A, C, T) ist nicht erlaubt, da A zweimal hintereinander auftritt.

Ich programmiere mit Python. Am Besten sollte das Ergebnis eine Liste von Listen mit Strings für die Buchstaben sein. Zum Beispiel für n = 4:

[['A', 'G', 'C', 'T'], ['A', 'C', 'G', 'T'], ..., ['C', 'G', 'A', 'T']]

Computer, Schule, Mathematik, Programmieren, Bioinformatik, DNA, Informatik, Python
0 Antworten
Python: Webhook mit Dhooks verschicken geht nicht?

Hey.

Ich versuche gerade, ein Webhook mit Dhooks und Py abzuschicken.

Hier folgender Code:

from dhooks import Webhook, Embed

hook = Webhook("https://discord.com/api/webhooks/...")
embed = Embed(
  description="Test :smiley:",
  color=0x5CDBF0,
  timestamp="now"
)
embed.set_author(name="Test2")
embed.add_field(name="field1l", value=(str(res) + "hello")
embed.add_field(name="field2", value=(str(pws))
embed.set_footer(text="footer")
hook.send(embed=embed)
File "C:\Users\tim04\Desktop\Python Project\Webhook test.py", line 16
embed.add_field(name="field2", value=(str(pws))
^
SyntaxError: invalid syntax
[Finished in 0.1s with exit code 1]
[shell_cmd: python -u "C:\Users\tim04\Desktop\Python Project\Webhook test.py"]
[dir: C:\Users\tim04\Desktop\Python Project]
[path: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\libnvvp;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\Nsight Compute 2020.2.0\;C:\Users\tim04\AppData\Local\Programs\Python\Python38\Scripts\;C:\Users\tim04\AppData\Local\Programs\Python\Python38\;C:\Users\tim04\AppData\Local\Microsoft\WindowsApps;;C:\Users\tim04\AppData\Local\Programs\Microsoft VS Code\bin]

Was ist denn falsch daran?

Ich habe dem Tutorial nach dem Error alles 1:1 gleich gemacht, aber irgendwie geht es trotzdem nicht. 🤔

Python, discord
1 Antwort

Meistgelesene Fragen zum Thema Python