Sunucu üyesi arama¶
Üye arama, bir sunucunun üyelerini ada, role, katılma zamanına ve hesap türüne göre filtreler, sıralar ve sayfalar. Sunucu ayarlarındaki Üyeler sayfası bu özelliği kullanır. Her eşleşme bir sunucu üyesi arama sonucudur.
Yol https://tebhos.com/api/v1 adresine görelidir, kimlik doğrulama gerektirir ve hem kullanıcı oturumlarını hem de bot token'larını kabul eder. Hata gövdeleri Hatalar sayfasındaki biçime uyar.
Sonuçlar her zaman üyelik kayıtlarından gelir
Filtreleme, sıralama ve sayfalama sunucunun saklanan üyelikleri üzerinde çalışır; bu yüzden sonuçlar günceldir. İstekte metin içeren bir query varsa TEBHOS alaka sırası için arama motoruna başvurur; motor kullanılamıyorsa aynı kayıtlar üzerinde alt dize eşleştirmesine geri döner. indexing her zaman false olur.
Katılma kaynağı türleri¶
Arama sonucu ve join_source_type filtresi bu değerleri kullanır.
| Değer | Ad | Açıklama |
|---|---|---|
| 0 | CREATOR | Üye sunucuyu oluşturdu |
| 1 | INSTANT_INVITE | Üye bir davetle katıldı |
| 2 | VANITY_URL | Üye özel davet koduyla katıldı |
| 3 | BOT_INVITE | Hesap bir bot yetkilendirmesiyle eklendi |
| 4 | ADMIN_FORCE_ADD | Üyeyi bir örnek (instance) yöneticisi ekledi |
| 6 | DISCOVERY | Üye keşif üzerinden katıldı |
Katılma kaynağı henüz kaydedilmiyor
TEBHOS şu an bir üyelik oluşturulurken katılma kaynağı türünü kaydetmez; bu yüzden supplemental.join_source_type her zaman null olur. Dolayısıyla MANAGE_GUILD sahibi bir çağıranın gönderdiği join_source_type filtresi hiçbir üyeyle eşleşmez. Davetle katılan üyeler için source_invite_code kaydedilir.
Sunucu üyesi arama sonucu nesnesi¶
Eşleşen bir üyelik. Hesap alanları user altında değil, en üst düzeydedir.
| Alan | Tür | Açıklama |
|---|---|---|
| id | string | Sonuç kimliği, {guild_id}:{user_id}. Başka hiçbir yol bunu kabul etmez |
| guild_id | snowflake | Sunucunun kimliği |
| user_id | snowflake | Üyenin hesabının kimliği |
| username | string | Hesabın kullanıcı adı (ayarlanmamışsa boş) |
| discriminator | string | Hesabın ayırıcısı, soldan dört haneye tamamlanmış |
| global_name | ?string | Hesabın görünen adı |
| nickname | ?string | Üyenin bu sunucudaki takma adı |
| role_ids | array[snowflake] | Üyenin rol kimlikleri, artan sırada. @everyone asla dahil edilmez |
| joined_at | integer | Hesabın sunucuya katıldığı zaman, Unix saniyesi olarak |
| supplemental | ek bilgi nesnesi | Katılma meta verisi |
| is_bot | boolean | Hesabın bot olup olmadığı |
{
"id": "1489002177550843904:1489002177550843906",
"guild_id": "1489002177550843904",
"user_id": "1489002177550843906",
"username": "ada",
"discriminator": "0042",
"global_name": "Ada",
"nickname": null,
"role_ids": ["1489002177550843910"],
"joined_at": 1755158400,
"supplemental": {"join_source_type": null, "source_invite_code": "a1b2c3d4", "inviter_id": "1489002177550843905"},
"is_bot": false
}
Sonuçta avatar, zaman aşımı veya ses alanları yoktur. Üyeliğin tamamı için Sunucu üyesini al kullanılır.
Sunucu üyesi arama ek bilgi nesnesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| join_source_type | ?integer | Katılma kaynağı türü. Şu an her zaman null |
| source_invite_code | ?string | Üyenin katılırken kullandığı davet kodu |
| inviter_id | ?snowflake | O daveti oluşturan hesap |
Çağıran sunucu sahibi değilse veya MANAGE_GUILD (ya da ADMINISTRATOR) iznine sahip değilse her alan null olur. Bu nedenle null bir değer, verinin var olup olmadığını göstermez.
Sunucu üyesi arama yanıt nesnesi¶
| Alan | Tür | Açıklama |
|---|---|---|
| guild_id | snowflake | Sunucunun kimliği |
| members | array[sunucu üyesi arama sonucu nesnesi] | İstenen sayfa |
| page_result_count | integer | members içindeki sonuç sayısı |
| total_result_count | integer | Filtrelerle eşleşen toplam üye sayısı |
| indexing | boolean | Her zaman false |
Sunucu üyelerini ara¶
POST /guilds/{guild_id}/members-search
Bir sunucu üyesi arama yanıtı döndürür. Çağıran üye olmalı; ayrıca sahip olmalı ya da MANAGE_GUILD, MANAGE_ROLES, MANAGE_NICKNAMES, BAN_MEMBERS, MODERATE_MEMBERS, KICK_MEMBERS veya ADMINISTRATOR izinlerinden en az birine sahip olmalıdır.
Hız sınırı: guild:members, hesap ve sunucu başına 10 saniyede 40 (üye okumaları ve Sunucu yasaklamalarını listele ile paylaşılır).
JSON gövdesi¶
Her alan isteğe bağlıdır; boş bir {} nesnesi tüm üyelerin ilk sayfasını döndürür.
| Alan | Tür | Açıklama |
|---|---|---|
| query? | string | Eşleştirilecek metin (en fazla 100 karakter). Kırpılır; boş bir değer metin filtresi uygulamaz |
| limit? | integer | Sayfa boyutu, 1-100 (varsayılan 25) |
| offset? | integer | Atlanacak eşleşme sayısı, en az 0 (varsayılan 0) |
| role_ids? | array[snowflake] | Üyenin hepsine sahip olması gereken roller (en fazla 10) |
| joined_at_gte? | integer | Unix saniyesi; bu zamanda veya sonrasında katılan üyeler |
| joined_at_lte? | integer | Unix saniyesi; bu zamanda veya öncesinde katılan üyeler |
| join_source_type? | array[integer] | Dahil edilecek katılma kaynağı türleri (en fazla 10). Yalnız MANAGE_GUILD sahibi çağıranlar için uygulanır |
| source_invite_code? | array[string] | Dahil edilecek davet kodları (en fazla 10). Yalnız MANAGE_GUILD sahibi çağıranlar için uygulanır |
| is_bot? | boolean | true yalnız bot hesapları, false yalnız bot olmayan hesaplar için |
| user_created_at_gte? | integer | Unix saniyesi; bu zamanda veya sonrasında oluşturulan hesaplar (kullanıcı kimliğinden türetilir) |
| user_created_at_lte? | integer | Unix saniyesi; bu zamanda veya öncesinde oluşturulan hesaplar |
| sort_by? | string | joinedAt veya relevance |
| sort_order? | string | asc veya desc |
Metin eşleştirme. Arama motoru olmadan query; üyenin takma adı, görünen adı veya kullanıcı adıyla eşleşir (büyük/küçük harfe duyarsız: önce tam eşleşme, sonra önek, sonra alt dize) ya da kullanıcı kimliğine birebir eşittir. Motor varken hangi üyelerin hangi sırayla eşleşeceğine motor karar verir; yukarıdaki filtreler motorun eşleşmelerine yine uygulanır.
Sıralama. query verilip sort_by verilmediğinde ya da sort_by değeri relevance olduğunda sonuçlar önce alakaya, ardından katılma zamanına göre sıralanır. Aksi halde katılma zamanına göre en eskiden başlayarak ya da sort_order desc ile en yeniden başlayarak sıralanır. Eşitlikler kullanıcı kimliğiyle çözülür.
| Durum | Kod | Koşul |
|---|---|---|
| 400 | BAD_REQUEST |
Bir değer aralık dışında, bir listede 10'dan fazla öğe var, bir rol kimliği snowflake değil ya da sort_by/sort_order kabul edilen bir değer değil |
| 403 | FORBIDDEN |
Çağıran üye değil |
| 403 | MISSING_PERMISSIONS |
Çağıran gerekli izinlerin hiçbirine sahip değil |