Ancak konuya girmeden önce bazı şeylere açıklık getirmek istiyorum, lütfen şunları da göz önünde bulundurun.
1: Bot Python ile yazılacak. JavaScript istemiyorum.
2: Bot birden fazla dili destekleyecek ve istediğimizde discord üzerinden tek bir komutla dilini değiştirebilecek.
3: Bot kodlaması temiz ve anlaşılır olmalı ve ileride web arayüzü ekletmeyi düşünürsek buna uygun olacak.
4: Bot kök dizinindeki dosyaların karman çorman olmasını da istemiyorum, daha önce bir kaç script yazdırdım ve bu kez işin başından belirteyim. Sonradan konu içeriğinde böyle yazmıyordu diyen arkadaşlar olmasın

Bot klasör içeriği (bu örnek bir klasör içeriği, bazı nedenlerden dolayı ufak tefek değişiklikler olabilir ve bunu kabul ediyorum.)
main.py
run.bat
restart.bat
logs/log.xx
config/config.xx - bu dosya içinde "bot token, bot sahibi id, spotify client id, spotift secret" vb. önemli bilgiler yer alacak
config/settings.xx - bu dosya içinde "prefix, varsayılan bot dili, bot adı, !help oynuyor yazısı, varsayılan ses seviyesi, müzik çalar logosu," vb. bilgiler yer alacak.
languages/turkish.xx - dil dosyalarının yer aldığı klasör dizini. Her dil dosyası için ayrı dosya olacak, istediğimde türkçe dil dosyasını çoğaltığ farklı bir dile tercüme edip ekleyebileyim.
commands/general/ - genel komut dosyalarının yer aldığı klasör dizini.
commands /admin/ - yönetici komut dosyalarının yer aldığı klasör dizini.
commands /music/ - music komut dosyalarının yer aldığı klasör dizini.
commands/radio/ - radio komut dosyalarının yer aldığı klasör dizini.
Gelelim bot için istediğim özelliklere.
=================================
Sunucu Moderasyonu
=================================
1: Sunucuya katılan üyelere bot dizinindeki welcome.xx dosyasındaki mesajları izin verdiğim bir kanala random olarak göndersin. Bu kanalı örneğin; !welcomemsg #server-logs komutuyla ayarlayayım böylelikle bu mesajlar bu kanal üzerinde gönderilecek.
2: Sunucudan ayrılan üyelerin arkasından bot dizinindeki leave.xx dosyasındaki mesajları izin verdiğim bir kanala random olarak göndersin. Bu kanalı örneğin; !leavemsg #server-logs komutuyla ayarlayayım böylelikle bu mesajlar bu kanal üzerinde gönderilecek.
3: Sunucuya katılan üyeler bot tarafından gönderilen kurallar mesajına tepki vererek otomatik bir rol alsın. Y tuşuna basanlar kuralları okuduğu için belirlediğim bir role atansın. N tuşuna basanlara rol verilmesin ve özel bir mesaj gönderilsin. Örneğin; Sunucu kurallarını okuyup kabul etmeden bu sunucuya giriş yapamazsınız! Bu tepki rolüde basit bir komutla ayarlayabileyim. Bu komutu örneğin; !reacrole @Bizden Biri olarak ayarladığımda sunucuya katılan kişiler Y tuşuna basarsa @Bizden Biri rolünü alacak.
=================================
Genel Komutlar
=================================
1: help - bot ile ilgili tüm komutların bir listesini kategoriler halinde alt alta listeler. GENEL KOMUTLAR / MUZIK KOMUTLARI / RADIO KOMUTLARI vs. http://www.okolay.net/serhat/dcbot/o...elp-ekrani.png
2: about - bot hakkında detayları gösterir.
3: donate - belirlenen bir web sitesine yönlendirir.
=================================
Yönetici Komutları
=================================
kick - kullanıcıyı sunucudan atacak. (tamamen değil)
mute - kullanıcı susturacak.
unmute - kullanıcı susturmasını kaldıracak.
ban - kullanıcıyı sunucudan yasaklayacak.
unban - kullanıcının yasağını kaldıracak.
clear kullanıcıadı - kulanıcının tüm mesajlarını siler.
clear kullanıcıadı 10 - kullanıcının son 10/50/100 mesajını siler.
rol @moderator - belirtilen isme belirtilen rolu verir.
botchat add #bot-spam - bu komut ile bot komutlarının kullanılacağı birden fazla kanalı ayarlayabilmeliyim.
botchat remove #bot-spam - bu komut ile bot komutlarının kullanılacağı birden fazla kanalı ayarlayabilmeliyim.
=================================
Müzik Komutları
=================================
join - botu kanala çağıracak.
leave - bot kanaldan ayrılacak.
search şarkıadı - şarkı adı ile arama için kullanılacak.
play url - Belirtilen url ile şarkı çalacak. Buna özel url lerde dahil. (youtube.com yada www.ornek.com/test.mp3) gibi.
play şarkıadı - Uygun olan top 10 sonucu listeleyecek ve kullanıcı altındaki 1-2-3-4-5 gibi tepkilerle seçim yapacak ve şarkı çalacak.
pause - çalan şarkıyı duraklatacak.
unpause - duraklatılmış şarkıya devam edecek.
repeat - çalan şarkıyı tekrar tekrar çalacak.
stop - şarkı çalmayı durduracak.
nowplaying - çalan şarkı bilgilerini kanala gösterecek.
list - çalma listesindeki şarkıların listesini gösterecek.
shuffle - çalma listesini karıştırır.
volume 10 - bot ses seviyesini ayarlayacak.
volume up - bot ses seviyesini 5-5 artıracak.
volume down - bot ses seviyesini 5-5 azaltacak.
djrole - !dj @DJ permine dj rolü verir ve tüm müzik komutlarını oylama gerektirmeden kullanabilir.
NOT 1: Youtube URL, Youtube Çalma Listesi, Soundcloud URL, Soundcloud Çalma Listesi ve Spotify gibi bir çok popüler siteden müzik çalabilecek.
NOT 2: !play sagopa karışık komutundan sonra botun gönderdiği "Sagopa karışık aranıyor..." ve "Sagopa karışık bulundu ve oynatılıyor/sıraya eklendi" gibi mesajların müzik başladıktan sonra silinmesini istiyorum.
NOT 3: Şimdi çalınıyor şablonu ve tepki komutları bunun gibi olacak. https://okolay.net/serhat/dcbot/orne...or-sablonu.png
=================================
Radio Komutları
=================================
radio url - belirtilen bir url 'den radyo çalar.
radio radyoadı - belirtilen isimdeki radyoları listeler ve kullanıcı altındaki 1-2-3-4-5 gibi tepkilerle seçim yapacak ve radyo başlayacak.
radio hit/pop/all - belirtilen kategori adını yazdığımda liste çıksın ve bu listeden radyo kanallarını tepki rol ile seçebileyim.
pause - çalan radyoyu duraklatacak.
unpause - duraklatılmış radyoya devam edecek.
stop - çalan radyoyu durduracak.
volume 10 - bot ses seviyesini ayarlayacak.
volume up - bot ses seviyesini 5-5 artıracak.
volume down - bot ses seviyesini 5-5 azaltacak.
radiolist - mevcut tüm radyoların listesini gösterir.
NOT 1: !radio fenomen komutunu kullandığımda eğer listemde fenomen ile ilgili tek bir radyo varsa hemen çalmaya başlasın. Şayet birden fazla fenomen içeren radyo adı varsa bana bir liste göstersin ve buna tepki rol ile 1-2-3-4-5-6-7-8-9 gibi seçim yaparak hızlıca radyomu dinlemeye başlayayım.
NOT 2: commands/radio/radio-list.xx şeklinde ya da buna benzer bir dosya olsun ve radyo isimlerini ve linklerini buradan düzenleyebileyim.
NOT 3: Radyo listesi şablonu ve tepki komutları bunun gibi olacak. https://okolay.net/serhat/dcbot/orne...-listeleme.png
=================================
Yayıncı Bildirimleri
=================================
streamer set #kanaladı - bildirimlerin yollanacağı kanalı ayarlayacak.
streamer tagadd @everyone - bildirimleri etiketleyeceği tagları ekleyecek.
streamer tagremove @everyone - bildirimlere eklenen tagı kaldıracak.
youtube add - kanaladı ya da url girerek yayıncı bildirimi ekleyecek.
youtube remove - kanaladı ya da url girerek yayıncı bildirimini kaldıracak.
twitch add - kanaladı ya da url girerek yayıncı bildirimi ekleyecek.
twitch remove - kanaladı ya da url girerek yayıncı bildirimini kaldıracak.
Evet, eminim ufak tefek şeyler gözden kaçmıştır ama onlarında basitce aşılabileceğinden eminim istediğim bot bu şekilde olacak.
Ayrıca işe başlamadan önce de şu belirttiğiniz şey olmaz ya da şöylesi olur diye beni bilgilendirin ki olur bir yanı varsa onuda o şekilde değiştiririm.
Fiyat konusunda anlaşabilirsem işe hemen başlamak istiyorum. İlgilenen arkadaşların tekliflerini bekliyorum şimdiden teşekkür ederim, iyi forumlar.