Discord botu "name 'cursor' is not defined" hatası

SukkraW

Decapat
Katılım
12 Ocak 2021
Mesajlar
61
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Discord'da kayıtlı kullanıcıları sorgulamak için yaptığımız bot'ta böyle bir hata çıkıyor. Hatanın Sebebini veya çözümünü bilen birisi yardımcı olabilir mi acaba?

1671391594362.png


Kod;
1671391714095.png


Kod:
import discord
from discord.ext import commands
import mysql.connector

Kodları ekli.
Yardımcı olabilirseniz sevinirim.
 
Son düzenleyen: Moderatör:
Muhtemelen eksik kopyalamışsınız. Kodun orjinal halinde "cursor"un ne için olduğunu belirten bir kod olması lazım. O kısmı da alırsanız problem muhtemelen çözülecektir.
chatgpt üzerinden aldım kodu ve eksiksiz şekilde yapıştırdım yani eksik bir kod yok. herhangi bir çözümünüz varmı
 
Tüm kodu önemli kısımları sansürleyerek atabilir misiniz?
Öncelikle cursor tanımladım fakat kodun son hali şöyle oldu;
1671395862489.png


ardından aldığım hata olayı değişti. Eğer
Kod:
cursor = cnx.cursor()
kodunu ordaki
Kod:
cnx = mysql.connector.connect(
    host='localhost',
    user='root',
    password='*********',
    database='101mb'
)
Kodunun altına yazarsam çok fazla hata alıyorum. Hataların ekran görüntüsü;
1671395953468.png


Eğer üstüne yazarsam şu hatayı alıyorum;
1671395987084.png


Yardımını bekliyorum.
 
Son düzenleyen: Moderatör:
Python:
client = commands.Bot(command_prefix='!', intents=discord.Intents.all())
Kodunu şu şekilde değiştirin.
Python:
class MyBot(commands.Bot):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.db = None
        self.cursor = None

    async def setup_hook(self):
        self.db = mysql.connector.connect(......)
        self.cursor = self.db.cursor()

client = MyBot(command_prefix='!', intents=discord.Intents.all())

Daha sonra bunun dışındaki cnx ve cursor değişkenlerini tanımladığınız satırları silin. Komut fonksiyonlarında cursor kullandığınız yerlerin başına client ekleyin. Yani cursor.fetchall() ise client.cursor.fetchall() olarak değiştirin.
 
Son düzenleme:
Python:
client = commands.Bot(command_prefix='!', intents=discord.Intents.all())
Kodunu şu şekilde değiştirin.
Python:
class MyBot(commands.Bot):
    def __init__(*args, **kwargs):
        super().__init__(*args, **kwargs)
        self.db = None
        self.cursor = None

    async def setup(self):
        self.db = mysql.connector.connect(......)
        self.cursor = self.db.cursor()

client = MyBot(command_prefix='!', intents=discord.Intents.all())

Daha sonra bunun dışındaki cnx ve cursor değişkenlerini tanımladığınız satırları silin. Komut fonksiyonlarında cursor kullandığınız yerlerin başına client ekleyin. Yani cursor.fetchall() ise client.cursor.fetchall() olarak değiştirin.
self.db kodu için self kütüphanesini yüklemem gerekir mi?
 

Yeni konular

Geri
Yukarı