Çözüldü Discord Rpc 2 adet buton ekleme

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

yunus0399

「RcT 」YunusED
Premium Üye
MT Üye
Mesaj
653
Çözümler
10
Beğeni
416
Puan
829
Ticaret Puanı
0
Merhaba arkadaşlar discord rpcye 2 adet buton eklemek istiyorum 1 adet ekleniyo Metin2 Discord-Rich-Presence Sunucuya Katıl Butonu bu konu sayesinde bende 2 adete çıkartmak istiyorum 1isi siteye yönelndiricek diğeri discorda

kodları şöyle revize ettiğimde

discord_rpc.h::
//ARA :
    const char*        spectateSecret;

//ALTINA EKLE :
    const char*        buttonLabel;
    const char*        buttonURL;
    const char*        buttonLabel2;
    const char*        buttonURL2;

PythonNetworkStreamPhaseGame.cpp::
    /*Join Button*/
    discordPresence.buttonLabel = "Metin2House Discord'una Katilin";
    discordPresence.buttonURL = "https://discord.gg/tASQTmThXJ";//Sunucunun Davet Linkini Girin

    discordPresence.buttonLabel2 = "Metin2House Site'sine Katilin";
    discordPresence.buttonURL2 = "http://metin2house.com.tr/";//Sunucunun Davet Linkini Girin

serialization.cpp::
//ARA :
                if ((presence->partyId && presence->partyId[0]) || presence->partySize || presence->partyMax)
                {
                    WriteObject party(writer, "party");
                    WriteOptionalString(writer, "id", presence->partyId);
                    if (presence->partySize && presence->partyMax)
                    {
                        WriteArray size(writer, "size");
                        writer.Int(presence->partySize);
                        writer.Int(presence->partyMax);
                    }
                }

//ALTINA EKLE :
                if (presence->buttonLabel && presence->buttonLabel[0] && presence->buttonURL && presence->buttonURL[0])
                {
                    WriteArray assets(writer, "buttons");
                    WriteObject btn1(writer);
                    WriteOptionalString(writer, "label", presence->buttonLabel);
                    WriteOptionalString(writer, "url", presence->buttonURL);
                }

                if (presence->buttonLabel2 && presence->buttonLabel2[0] && presence->buttonURL2 && presence->buttonURL2[0])
                {
                    WriteObject btn2(writer);
                    WriteOptionalString(writer, "label", presence->buttonLabel2);
                    WriteOptionalString(writer, "url", presence->buttonURL2);
                }


Kodları böyle yaptığımda mantıken çalışması gerek dimi WriteArray assets(writer, "buttons"); bunu 2.bölümde eklemedim çünkü buttonsa aynı anda üst üste yazmasın buttons içerisine 2 adet eklesin ordan çeksin diye bu sefer siteye katıl butonu geliyo discorda katıl gelmyo aslında 2 butonda ekli ve çalışıyo ama discorda katıl görünmüyo site kodlarını yoruma aldığımda geliyo discorda katıl olayı

serialization.cpp::
if ((presence->buttonLabel && presence->buttonLabel[0] && presence->buttonURL && presence->buttonURL[0]) ||
    (presence->buttonLabel2 && presence->buttonLabel2[0] && presence->buttonURL2 && presence->buttonURL2[0]))
{
    WriteArray assets(writer, "buttons");

    if (presence->buttonLabel && presence->buttonLabel[0] && presence->buttonURL && presence->buttonURL[0])
    {
        WriteObject btn1(writer);
        WriteOptionalString(writer, "label", presence->buttonLabel);
        WriteOptionalString(writer, "url", presence->buttonURL);
    }

    if (presence->buttonLabel2 && presence->buttonLabel2[0] && presence->buttonURL2 && presence->buttonURL2[0])
    {
        WriteObject btn2(writer);
        WriteOptionalString(writer, "label", presence->buttonLabel2);
        WriteOptionalString(writer, "url", presence->buttonURL2);
    }
}

Bu kodu böyle değiştirirsem olur diye tahmin ediyorum ama bu seferde hiç bişey gelmiyo bu konu hakkında fikri olan varmı nasıl yapılabilir.
 
Çözüm
acaba şöyle yapsan çalışır mı bir dener misin

bu kısım bu şekilde:
                if (presence->buttonLabel2 && presence->buttonLabel2[1] && presence->buttonURL2 && presence->buttonURL2[1])
                {
                    WriteArray assets(writer, "buttons2");
                    WriteObject btn2(writer);
                    WriteOptionalString(writer, "label", presence->buttonLabel2);
                    WriteOptionalString(writer, "url", presence->buttonURL2);
                }
diğer kalan kısımlara ekleme çıkarma yapmadan bir bu şekilde dene belki olur


chatgpt:
if (presence->buttonLabel && presence->buttonLabel[0] && presence->buttonURL && presence->buttonURL[0])
{
    WriteArray assets(writer, "buttons");

    // İlk buton
    {...
acaba şöyle yapsan çalışır mı bir dener misin

bu kısım bu şekilde:
                if (presence->buttonLabel2 && presence->buttonLabel2[1] && presence->buttonURL2 && presence->buttonURL2[1])
                {
                    WriteArray assets(writer, "buttons2");
                    WriteObject btn2(writer);
                    WriteOptionalString(writer, "label", presence->buttonLabel2);
                    WriteOptionalString(writer, "url", presence->buttonURL2);
                }
diğer kalan kısımlara ekleme çıkarma yapmadan bir bu şekilde dene belki olur


chatgpt:
if (presence->buttonLabel && presence->buttonLabel[0] && presence->buttonURL && presence->buttonURL[0])
{
    WriteArray assets(writer, "buttons");

    // İlk buton
    {
        WriteObject btn1(writer);
        WriteOptionalString(writer, "label", presence->buttonLabel);
        WriteOptionalString(writer, "url", presence->buttonURL);
    }

    // İkinci buton
    {
        WriteObject btn2(writer);
        WriteOptionalString(writer, "label", "İkinci Buton Etiketi");
        WriteOptionalString(writer, "url", "https://www.ornek.com/ikinci-buton");
    }
}

chat gpt de bu üsttekini önerdi bir de bunu dene istersen
 
Çözüm
acaba şöyle yapsan çalışır mı bir dener misin

bu kısım bu şekilde:
                if (presence->buttonLabel2 && presence->buttonLabel2[1] && presence->buttonURL2 && presence->buttonURL2[1])
                {
                    WriteArray assets(writer, "buttons2");
                    WriteObject btn2(writer);
                    WriteOptionalString(writer, "label", presence->buttonLabel2);
                    WriteOptionalString(writer, "url", presence->buttonURL2);
                }
diğer kalan kısımlara ekleme çıkarma yapmadan bir bu şekilde dene belki olur


chatgpt:
if (presence->buttonLabel && presence->buttonLabel[0] && presence->buttonURL && presence->buttonURL[0])
{
    WriteArray assets(writer, "buttons");

    // İlk buton
    {
        WriteObject btn1(writer);
        WriteOptionalString(writer, "label", presence->buttonLabel);
        WriteOptionalString(writer, "url", presence->buttonURL);
    }

    // İkinci buton
    {
        WriteObject btn2(writer);
        WriteOptionalString(writer, "label", "İkinci Buton Etiketi");
        WriteOptionalString(writer, "url", "https://www.ornek.com/ikinci-buton");
    }
}

chat gpt de bu üsttekini önerdi bir de bunu dene istersen
üsttekini denedim 2 adet buttons eklediğimde o zaman hiç gelmiyo 2.çözümü deniycem 2 mantıklı aslında direk url ve labeli orda aldırmış bakalım olacakmı
 
Sonunda bee chatgptye yazdırıyodum başka başka yazıyodu senin yazıdmran doğru olmuş mantıklı olanda o zaten aklıma gelmemişti böyle kullanmak Teşekkür edeiyorum @hasanmacit

1700411525293.png


ufak bir güncelleme :

// İkinci buton
{
WriteObject btn2(writer);
WriteOptionalString(writer, "label", "İkinci Buton Etiketi");
WriteOptionalString(writer, "url", "
Linkleri görebilmek için giriş yap veya kayıt ol.
");
}

burdaki bölümdeki linki çekmiyo diğer yerde tanımladığım linki çekiyodu burayı değiştirdim eski haline getirdim 1.buton çalışınca otomatik if içerisine girdiği için diğerinide algılayıp oluşturdu böylece sorun kalmadı her2 butondabelirlediğim linklere gidiyo
 
Son düzenleme:
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst