acikyazilimagi / discord-it-yardim-bot

IT Deprem Yardım sunucusunda bulunan üyelerin sıkça sorduğu soruları hızlıca cevaplamak ve moderasyona yardımcı olma amacıyla yapılmıştır.
21 stars 17 forks source link

[BUG] sescek her türlü kullanıcıyı etiketlemeyi gerektiriyor #51

Closed bilinenkisi closed 1 year ago

bilinenkisi commented 1 year ago

Karşılaştığınız hatayı Açıklayın https://github.com/acikkaynak/discord-it-yardim-bot/blob/81e77435d5b91dae38b1d3e61a0bfcdb759799ea/commands/sescek.js#L9 bu satırda kullanıcı opsiyonu setRequired(true) ile düzenlendiğinden dolayı sescek komutunun özelliklerinden birisi olan etiketlenemeyen (chat odasını görememe vb. yetki kısıtlamalarından dolayı) kullancıları id bilgisi ile çekme özelliğini kullanılamaz hale getiriyor. Hatayı Tekrar Üretmek İçin Gerekli Adımlar Örneğin:

  1. /sescek dediğniz anda zaten fark edilebilir bir olmalı

Beklenen Davranış Hem kullanıcı hem de id opsiyonlarının opsiyonel bırakılması gerekmektedir.

lburaq commented 1 year ago

Kodu sıfırdan ben yazdığımda .addUserOption satırında .setRequired kullanmayıp opsiyonel bırakmıştım ID kısmı da çalışması için, yazılan kodda böyle bir düzenleme neden yaptıklarını anlamaya çalıştım düzenledikleri gibi çalıştırıp kodu denemeye başladığımda, .addUserOption da girilen değeri id değişkenine interaction.options.getUser('kullanıcı').id olarak yani son satıra .id yazıp id olarak eklediğimden dolayı hem kullanıcı isimleriyle yani etiketlenerek hem de ID ile gönderebiliyorsun bu yüzden ID opsiyonuna gerek kalmıyor ama durum böyle olunca boş değer gönderilemez olarak eklediğim if koşulu gereksiz oluyor ve hali hazırda duran interaction.options.getString('id') ve .addStringOption opsiyonu da gereksiz oluyor. Ben bu UserOption hem ID hem kullanıcı etiketlemesi ile çalıştığını anladıkları için böyle yaptıklarını düşündüğümden bir gönderi açmamıştım. Diğer türlü setRequired kaldırılırsa da sorunsuz çalışacaktır.

abtonc commented 1 year ago

sorunlu çalışacaktır, istenilen, komuta işlev kazandıran gerekli iki argümandan biri bile required olmayınca çok dışına çıkıyoruz, az sonra tüm komuta refactor atacağım.

lburaq commented 1 year ago

@abtonc Anladım, yardım edebileceğim bir şey varsa discord dan bana ulaşabilirsin discord: Aquila#0294

abtonc commented 1 year ago

Her şey tamamlandı, cache yerine fetchliyoruz, id ile çekmeyi kaldırdık çünkü id ile etiketleme yapılabiliyor zaten, bknz: <@id> teşekkürler <3