JavaScript Discord botu çalışmıyor

dogiadam

Hectopat
Katılım
30 Kasım 2021
Mesajlar
149
Çözümler
3
Daha fazla  
Cinsiyet
Erkek
JavaScript:
class aclient(discord.Client):

def __init__(self):

super().__init__(intents=discord.Intents.all())

self.synced = False



    async def on_ready(self):

await self.wait_until_ready()

if not self.synced:

await tree.sync(guild=discord.Object(id="1069188530099716117"))

self.synced = True





client = aclient()

tree = app_commands.CommandTree(client)





@tree.command(name="test")

async def test(interaction: discord.Interaction):

await interaction.response.send_message("Hello!")

Maalesef böyle çalışmıyor. Yardımınız lazım.
 

Dosya Ekleri

  • 1686677086982.png
    1686677086982.png
    1,5 KB · Görüntüleme: 31
Artı -2 Eksi
Ben hala on_ready class içinde mi dışında mı onu çözmeye çalışıyorum hocam.
JS Python modülü de yeni çıkmış galiba
Sanırım sorun bizde değil...

Screenshot_2023-06-13-20-32-31-097_org.mozilla.firefox-edit.jpg


@dogiadam sendeki kodu boşver. Sen ne yapmak istiyorsun söyle öyle yardımcı olalım.
 
Python'la yazılmış discord.py örneği aşağıda.

Python:
# This example requires the 'message_content' intent.

import discord

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

client = discord.Client(intents=intents)

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

@client.event
async def on_message(message):
    if message.author == client.user:
        return

    if message.content.startswith('$hello'):
        await message.channel.send('Hello!')

client.run('your token here')

Gördüğünüz gibi syntax kullanımı bakımından konu sahibinin yazdığı kütüphaneye pek de benzemiyor.
 
Gördüğünüz gibi syntax kullanımı bakımından konu sahibinin yazdığı kütüphaneye pek de benzemiyor.
Yok benziyor da çok eksik ve eski kalmış biraz.

Herhalde tüm işlevler şöyle bir şey olurdu.

Python:
import discord
from discord.ext import commands

class ABot(commands.Bot):
    def __init__(self):
        super().__init__(
            intents=discord.Intents.all()
        )
    async def on_ready(self):
        print(f"{__class__.__name__} Ready")

    async def setup_hook(self) -> None:
        await self.tree.sync(guild=discord.Object(id=id_of_guild))

    @discord.app_commands.command(name="test")
    async def test(self, interaction:discord.Interaction):
        await interaction.response.send_message("Hello")


ABot().run(token="TOKENİNİ YAZ")
 
Son düzenleme:
Bu bana JavaScript gibi gelmedi bu arada, Python kodu olabilir mi? Başlıkta JavaScript yazıyor da...

Ve hatayı tahmin ediyoruz sanırım.

Kanka ben yazmadım JavaScript'i otoamatik koyuyor heralda Python yazıyorum ben.

Hangi kütüphane bu? Kodun tamamını da at. Hata mesajı alıyor musun?
Forumun otomatik düzeltmesini de kullanma eklerken. Dil olarak da Python seç.

on_ready Event'inde printten başka hiçbir işlem yapmamalısın.

Ayrıca Event ve commandlarda decorator bile yok. Hangi kütüphane bu?

düzenleme: Event class içindeymiş galiba öyle olunca Decorator'a gerek yok. O kadar kötü kod anlamamışım başta.

Yeni başladım kendim bir şeyler yazayım dedim böyle bir şey çıktı :D
 
Kanka ben yazmadım JavaScript'i otoamatik koyuyor heralda Python yazıyorum ben.

Yeni başladım kendim bir şeyler yazayım dedim böyle bir şey çıktı :D

En son attığım kod, senin yapmaya çalıştığın şey. Guild ID yerine sunucu ID'sini(direkt), token yerine de bot tokenini yaz (tırnak içine).

Sadece tek bir sunucuda çalışmasını istemiyorsan komutunun,
await self.tree.sync(guild=discord.Object(id=id_of_guild)) kısmını await self.tree.sync() olarak değiştir.

Önemli: Sürekli sync yapmak zararlı olabilir bu yüzden bunu bir owner command'a bağlamak daha mantıklı.
 

Technopat Haberler

Yeni konular

Geri
Yukarı