Bot Oluşturma

Adım 1. Bir uygulama oluşturun (bağlantıyı takip edin).

Adım 2. Bir bot ekleyin ("Bot Ekle" düğmesine tıklayın).

Adım 2.1. Kurulum bölümünde, Kurulum Bağlantısı → Yok seçeneğini seçin.

Adım 2.2. Bot bölümünde, Genel Bot seçeneğini devre dışı bırakın, ardından aşağıdaki Niyetler'i etkinleştirin:

  • Mesaj İçeriği Niyeti
  • Sunucu Üyeleri Niyeti

Gelecekte kullanmak üzere Varlık Niyeti'ni de etkinleştirebilirsiniz.

Adım 3. Token'ı alın (Token'ı Sıfırla).

Adım 4. Botu sunucuya ekleyin:

  • OAuth2 → URL Oluşturucu'ya gidin.
  • Kapsamlar'da bot'u seçin.
  • Bot İzinleri'nde Mesaj Gönder, Mesaj Geçmişini Oku ve gerekli diğer izinleri seçin.

Ardından oluşturulan bağlantıyı açın, botu eklemek istediğiniz sunucuyu seçin ve yetkilendirmeyi onaylayın.

Discord'dan tam webhook'u almak için save_webhook değişkenine herhangi bir değer atamanız yeterlidir.

Değişken ayarlanmışsa, webhook discord_webhook'a kaydedilecektir.

MaviBot'ta Discord Botunu Bağlama

Şimdi MaviBot'taki projenizde "Mesajlaşma" bölümüne gidin:

Ardından Discord'dan kopyalanan token'ı yapıştırın.

Bitti düğmesine tıklayın.

Hesap Makinesi Fonksiyonları

Bir Mesaja Yanıt Verme

discord_reply_to_message(message_id, text) - Bu fonksiyon bir mesaja yanıt vermek için kullanılır.

Parametreler Açıklama
! message_id Yanıt vermek istediğiniz mesajın kimliği.
! text Yanıt mesajının metni.

Bir Mesajı Silme

discord_delete_message(message_id) - Bu fonksiyon bir mesajı silmek için kullanılır.

Parametreler Açıklama
! message_id Silinecek mesajın kimliği.

Bir Mesajı Düzenleme

discord_edit_message(message_id, text) - Bu fonksiyon bir mesajı düzenlemek için kullanılır.

Parametreler Açıklama
! message_id Düzenlenecek mesajın kimliği.
! text Mesajın yeni metni.

Bir Mesajı Sabitleme

discord_pin_message(message_id) - Bu fonksiyon bir mesajı sabitlemek için kullanılır.

Parametreler Açıklama
! message_id Sabitlenecek mesajın kimliği.

Bir Mesajın Sabitlemesini Kaldırma

discord_unpin_message(message_id) - Bu fonksiyon bir mesajın sabitlemesini kaldırmak için kullanılır.

Parametreler Açıklama
! message_id Sabitlemesi kaldırılacak mesajın kimliği.

Bir Mesaja Tepki Gönderme

discord_send_reaction(message_id, reaction) - Bu fonksiyon bir mesaja tepki göndermek için kullanılır.

Parametreler Açıklama
! message_id Tepki gönderilecek mesajın kimliği.
! reaction Gönderilecek tepki. Tek bir emoji (örneğin ❤️) veya sunucudaki özel bir emojinin kimliğini sağlayabilirsiniz. Özel bir emojinin kimliğinin nasıl alınacağına dair bilgi aşağıda verilmiştir.

Bir Kanaldaki Mesajdan Tepki Kaldırma

discord_delete_reaction(message_id, reaction, user_id) - Bu fonksiyon bir kanaldaki mesajdan bir tepkiyi kaldırmak için kullanılır.

Parametreler Açıklama
! message_id Tepkinin kaldırılacağı mesajın kimliği.
! reaction Kaldırılacak tepki. Tek bir emoji (örneğin ❤️) veya sunucudaki özel bir emojinin kimliğini sağlayabilirsiniz. Özel bir emojinin kimliğinin nasıl alınacağına dair bilgi aşağıda verilmiştir.
user_id Tepkisini kaldırmak istediğiniz kullanıcının kimliği. Bu parametre, mevcut bottan tepkiyi kaldırmak istiyorsanız isteğe bağlıdır.

Discord Fonksiyonları

Aşağıdaki fonksiyonlar, Discord sunucularını, üyelerini, kanallarını, rollerini, mesajlarını ve davetiyelerini yönetmenize olanak tanır.

Üye Yönetimi

Bir Üyeyi Yasaklama

discord_ban_member(user_id, delete_message_seconds) - Bu fonksiyon bir üyeyi Discord sunucusundan yasaklamak için kullanılır.

Parametreler Açıklama
! user_id Yasaklanacak üyenin Discord kullanıcı kimliği.
delete_message_seconds (İsteğe bağlı) Yasaklamadan önceki belirtilen saniye sayısındaki üyenin önceki mesajlarını siler. Tüm mesajları tutmak için 0 olarak ayarlayın.

Bir Üyenin Yasağını Kaldırma

discord_unban_member(user_id) - Bu fonksiyon bir üyenin yasağını kaldırmak için kullanılır.

Parametreler Açıklama
! user_id Yasağı kaldırılacak üyenin Discord kullanıcı kimliği.

Bir Üyeyi Atma

discord_kick_member(user_id) - Bu fonksiyon bir üyeyi yasaklamadan sunucudan çıkarmak için kullanılır.

Parametreler Açıklama
! user_id Çıkarılacak üyenin Discord kullanıcı kimliği.

Atılan bir üye, geçerli bir davet bağlantısı kullanarak sunucuya tekrar katılabilir.

Bir Üyeye Zaman Aşımı Uygulama

discord_timeout_member(user_id, seconds) - Bu fonksiyon bir üyeyi zaman aşımına (susturma) sokmak için kullanılır.

Parametreler Açıklama
! user_id Üyenin Discord kullanıcı kimliği.
! seconds Saniye cinsinden zaman aşımı süresi.

Zaman Aşımını Kaldırma

discord_remove_timeout(user_id) - Bu fonksiyon bir üyenin zaman aşımını süresi dolmadan kaldırmak için kullanılır.

Parametreler Açıklama
! user_id Üyenin Discord kullanıcı kimliği.

Toplu Mesaj Silme

discord_bulk_delete_messages(channel_id, message_ids) - Bu fonksiyon bir kanaldan birden çok mesajı silmek için kullanılır.

Parametreler Açıklama
! channel_id Discord kanal kimliği.
! message_ids Silinecek mesaj kimliklerinin listesi.

Mesajlar

Mesaj Gönderme

discord_send_message(channel_id, text) - Bu fonksiyon bir Discord kanalına mesaj göndermek için kullanılır.

Parametreler Açıklama
! channel_id Discord kanal kimliği.
! text Mesaj metni.

Mesaj Alma

discord_get_message(channel_id, message_id) - Bu fonksiyon bir mesaj hakkında bilgi almak için kullanılır.

Parametreler Açıklama
! channel_id Discord kanal kimliği.
! message_id Mesajın kimliği.

Fonksiyon şunları döndürür:

  • Mesaj içeriği
  • Yazar bilgisi
  • Ekler

Doğrudan Mesaj Gönderme

discord_send_dm(user_id, text) - Bu fonksiyon bir sunucu üyesine doğrudan mesaj göndermek için kullanılır.

Parametreler Açıklama
! user_id Discord kullanıcı kimliği.
! text Mesaj metni.

Roller

Rol Ekleme

discord_add_role(user_id, role_id) - Bu fonksiyon bir üyeye rol atamak için kullanılır.

Parametreler Açıklama
! user_id Discord kullanıcı kimliği.
! role_id Discord rol kimliği.

Rol Kaldırma

discord_remove_role(user_id, role_id) - Bu fonksiyon bir üyeden rol kaldırmak için kullanılır.

Parametreler Açıklama
! user_id Discord kullanıcı kimliği.
! role_id Discord rol kimliği.

Üye Takma Adını Değiştirme

discord_set_nickname(user_id, nickname) - Bu fonksiyon bir üyenin sunucudaki takma adını değiştirmek için kullanılır.

Parametreler Açıklama
! user_id Discord kullanıcı kimliği.
! nickname Yeni takma ad.

Sunucu Rollerini Alma

discord_get_roles() - Bu fonksiyon sunucu rollerinin listesini almak için kullanılır.

Fonksiyon şunları döndürür:

  • Rol kimliği
  • Rol adı

Üyeler

Üye Bilgisi Alma

discord_get_member(user_id) - Bu fonksiyon bir sunucu üyesi hakkında bilgi almak için kullanılır.

Parametreler Açıklama
! user_id Discord kullanıcı kimliği.

Fonksiyon şunları döndürür:

  • Üye rolleri
  • Sunucu takma adı
  • Katılma tarihi
  • İzinler

Kanallar

Kanal Oluşturma

discord_create_channel(name, type, parent_id, permission_overwrites) - Bu fonksiyon yeni bir Discord kanalı oluşturmak için kullanılır.

Parametreler Açıklama
! name Kanal adı.
! type Kanal türü (örneğin, metin veya ses).
parent_id Kanalın oluşturulacağı kategori kimliği.
permission_overwrites Hangi kullanıcıların veya rollerin kanala erişebileceğini tanımlayan kanal izin ayarları.

Kanal Silme

discord_delete_channel(channel_id) - Bu fonksiyon bir Discord kanalını silmek için kullanılır.

Parametreler Açıklama
! channel_id Discord kanal kimliği.

Kanal İzinlerini Ayarlama

discord_set_channel_permission(channel_id, target_id, allow, deny) - Bu fonksiyon bir kullanıcı veya rol için kanal izinlerini yapılandırmak için kullanılır.

Parametreler Açıklama
! channel_id Discord kanal kimliği.
! target_id İzinleri değiştirilecek kullanıcı kimliği veya rol kimliği.
! allow Verilecek izinler.
! deny Reddedilecek izinler.

Davetler

Davet Oluştur

discord_create_invite(channel_id, max_age, max_uses) - Bu fonksiyon bir davet bağlantısı oluşturmak için kullanılır.

Parametreler Açıklama
! channel_id Discord kanal kimliği.
max_age Davet ömrü saniye cinsinden. Süre sınırı olmaması için 0 kullanın.
max_uses Maksimum kullanım sayısı. Sınırsız kullanım için 0 kullanın.

Sunucu Davetlerini Al

discord_get_invites() - Bu fonksiyon tüm sunucu davet bağlantılarını almak için kullanılır.

Fonksiyon şunları döndürür:

  • Davet URL'si
  • Kullanım sayısı
  • Kalan ömür (varsa)

Webhook Olayları

Aşağıdaki Discord olayları sohbet akışına iletilebilir:

  • Üye sunucuya katıldı
  • Üye sunucudan ayrıldı
  • Üye atıldı
  • Üye yasaklandı
  • Üyenin yasağı kaldırıldı
  • Üye rolleri değişti
  • Mesaj düzenlendi
  • Mesaj silindi
  • Tepki eklendi
  • Tepki kaldırıldı
  • Eğik çizgi komutu yürütüldü
  • Düğmeye tıklandı

Webhook Yükü

Webhook verileri şurada bulunur:

discord_webhook["data"]
Alan Açıklama
author_id Mesaj yazarının Discord kullanıcı kimliği.
username Discord kullanıcı adı.
nickname Sunucu takma adı.
channel_id Discord kanal kimliği.
guild_id Discord sunucu kimliği.
message_id Discord mesaj kimliği.
content Mesaj metni.
roles Üyenin rol kimliklerinin listesi.
is_admin Üyenin yönetici ayrıcalıklarına sahip olup olmadığını belirtir.

Geri Aramalar

Bir kullanıcı bir tepki gönderdiğinde, sohbette aşağıdaki biçimde bir geri arama alınır:

new_like ❤️ uid413984787162726410

Burada uid413984787162726410, tepkiyi gönderen kullanıcının kimliğidir.

Özel Bir Emojinin Kimliği Nasıl Alınır

Bir Discord kanalındaki bir mesaja özel bir tepki gönderirseniz, aşağıdaki biçimde bir geri arama alınır:

new_like beer:1479419477396291696 uid413984787162726410

Burada beer:1479419477396291696, tepkinin kimliğidir. Tepkiyle ilgili fonksiyonlarda kullanmak üzere kopyalayabilirsiniz.

Mesaj Kimliği Nasıl Alınır

save_webhook etkinleştirilmişse, webhook'tan istemcinin mesaj kimliğini alabilirsiniz. Örnek:

data = discord_webhook["data"]
msg_id = data["id"]
result = discord_reply_to_message(msg_id, "Bu bir mesaja yanıttır")

Ek Geri Aramalar

new_like'a ek olarak aşağıdaki geri aramalar da mevcuttur:

Geri Arama Açıklama
new_like {emoji} uid{user_id} Bir kullanıcı bir mesaja tepki ekledi.
reaction_remove {emoji} uid{user_id} Bir kullanıcı bir mesajdan tepki kaldırdı.
message_delete mid{message_id} Bir mesaj silindi.
message_edit mid{message_id} Bir mesaj düzenlendi. Güncellenen mesaj metni webhook verilerinde mevcuttur.
member_join uid{user_id} Bir üye sunucuya katıldı.
member_leave uid{user_id} Bir üye sunucudan ayrıldı.
member_update uid{user_id} Bir üyenin bilgileri (roller veya takma ad gibi) güncellendi.
member_ban uid{user_id} Bir üye sunucudan yasaklandı.
member_unban uid{user_id} Bir üyenin yasağı kaldırıldı.

Geri Arama Değişkenleri

Mevcut Discord olay biçimiyle tutarlılık sağlamak için kullanıcı ve mesaj tanımlayıcıları tarihsel ön ekler kullanır:

  • Kullanıcı kimlikleri uid{user_id} olarak döndürülür.
  • Mesaj kimlikleri mid{message_id} olarak döndürülür.

Aşağıdaki değişkenler de bu ön ekli tanımlayıcıları kullanır:

  • message_from
  • internal_id
  • discord_webhook["data"]