Ana içeriğe geç

Premium

TEBHOS'un üç ücretli ürünü vardır; hepsi Polar üzerinden satılır (bkz. Faturalandırma):

  • TEBHOS Pro — kişisel bir abonelik (aylık veya yıllık). Pro üyeler mavi bir rozet gösterir ve toplamda 10 ücretsiz sunucu takviyesi dahil Pro ayrıcalıklarından yararlanır.
  • Sunucu takviyeleri — bir sunucunun takviye seviyesini yükseltir. Her takviye 30 gün sürer.
  • Business Class (İş Sınıfı) — sunucu sahibinin satın aldığı, sunucu başına bir abonelik. Sunucu sarı bir rozet ve seviye 2 takviye ayrıcalıkları kazanır; sahibi ise Pro ayrıcalıklarından yararlanır.

Kozmetik mağazası bu sayfanın sonunda anlatılır. Hediye kodları için bkz. Hediyeler.

Bu sayfadaki her yol bir kullanıcı oturumu gerektirir; bot token'ları 403 ACCESS_DENIED ile reddedilir.

Premium türleri

Değer Ad Açıklama
0 Free Premium yok (kullanıcılara "TEBHOS Başlangıç" olarak gösterilir)
1 Monthly Aylık TEBHOS Pro, dönem başına 30 gün
2 Yearly Yıllık TEBHOS Pro, dönem başına 365 gün
3 Lifetime Bitiş tarihi olmayan TEBHOS Pro

Premium, tür 3 olduğunda ya da tür 1 veya 2 olup premiumUntil gelecekte olduğunda etkindir. Etkin bir İş Sınıfı aboneliği olan sunucunun sahibi, Pro aboneliği olmasa bile bu abonelik bitene kadar premium (tür 1, Monthly) olarak bildirilir.

Premium durum nesnesi

Premium durumumu al ve Premium'u iptal et tarafından döndürülür. Alan adları camelCase kullanır.

Alan Tür Açıklama
premiumType integer Premium türü
premiumTypeName string Free, Monthly, Yearly veya Lifetime
isPremium boolean Premium'un şu anda etkin olup olmadığı
premiumSince ?ISO8601 zaman damgası Premium'un başladığı zaman
premiumUntil ?ISO8601 zaman damgası Premium'un bittiği zaman; ömür boyu veya ücretsiz için null
daysRemaining ?integer premiumUntil tarihine kalan gün
premiumDays integer Rozet kademelerini açmak için kullanılan, hesaba yazılmış premium günleri (geçen süre artı kalan etkin dönem); premium değilse 0
premiumWillCancel boolean Premium'un yenilenmek yerine premiumUntil tarihinde bitmek üzere planlanıp planlanmadığı

Örnek

{
  "premiumType": 1,
  "premiumTypeName": "Monthly",
  "isPremium": true,
  "premiumSince": "2026-09-01T10:00:00Z",
  "premiumUntil": "2026-10-01T10:00:00Z",
  "daysRemaining": 8,
  "premiumDays": 30,
  "premiumWillCancel": false,
  "has_billing_account": true
}

Premium durumumu al

GET /premium/me

Çağıranın premium durum nesnesini ve ek olarak şunu döndürür:

Alan Tür Açıklama
has_billing_account boolean Çağıranın müşteri kaydı olan bir Polar aboneliği olup olmadığı; bu, müşteri portalını etkinleştirir

Premium durumunu al

GET /premium/state

Çağıranın premium durumunu iç içe geçmiş {actual, effective, billing, pricing} biçiminde döndürür. Yalnızca birkaç alan TEBHOS verisi taşır:

Alan Açıklama
actual.premium_type / effective.premium_type Premium etkinse 1, aksi hâlde null
actual.premium_since, actual.premium_until Yukarıdaki premiumSince / premiumUntil ile aynı
actual.premium_will_cancel Aboneliğin premium_until tarihinde bitip bitmeyeceği
actual.premium_billing_cycle monthly, yearly veya null
actual.has_active_paid_premium Premium'un etkin olup olmadığı

TEBHOS'ta desteklenmez

billing ve pricing bölümleri her zaman boştur (null, [] veya false); effective.is_premium her zaman true, effective.self_hosted her zaman true; is_visionary, premium_lifetime_sequence ve premium_grace_ends_at her zaman false/null olur. Bunun yerine Premium durumumu al ve İşlemleri listele yollarını kullanın.

Kullanıcıların rozetlerini denetle

POST /premium/check

Verilen kullanıcılardan hangilerinin premium (mavi) veya İş Sınıfı (sarı) rozeti gösterdiğini ve bağlılık rozetlerini çözümler. Kimliği doğrulanmış her kullanıcı çağırabilir.

JSON gövdesi

Alan Tür Açıklama
ids array[snowflake] Denetlenecek kullanıcı kimlikleri. Geçersiz kimlikler yok sayılır

Yanıt

Alan Tür Açıklama
premium_ids array[snowflake] Etkin TEBHOS Pro'su olan kullanıcılar
business_ids array[snowflake] Etkin İş Sınıfı olan bir sunucunun sahibi olan kullanıcılar. İstemciler bu kullanıcılar için mavi yerine sarı rozeti gösterir
affiliation_badges array[object] Birincil İş Sınıfı bağlılığı adlarının yanında gösterilmesi gereken kullanıcılar için {user_id, guild_id, icon_hash, guild_name}
{
  "premium_ids": ["1501314428688998182"],
  "business_ids": [],
  "affiliation_badges": []
}

Sunucu takviyeleri

Bir sunucunun takviye seviyesi, şu anda ona sayılan takviye sayısından gelir:

Seviye Etkin takviyeler
0 0-9
1 10-24
2 25 veya daha fazla

Seviye 2 en yüksek seviyedir ve bir sunucunun Keşif içinde görünmesi için gereklidir. Aynı anda bir sunucuya en fazla 25 takviye sayılır; fazladan takviyeler beklemede olarak bekler ve bir yer açıldığında 30 günlük dönemlerine başlar. Bekleyen takviyeler, takviye yapanın kendi rozet kademeleri için yine de sayılır.

Etkin İş Sınıfı olan bir sunucunun etkin seviyesi en az 2'dir.

TEBHOS Pro üyelerinin toplamda 10 ücretsiz takviyesi vardır (ay başına değil). Süresi dolan veya kaldırılan bir takviye ücretsiz takviyeyi geri vermez. Ücretsiz hakkı aşan takviyeler ve Pro olmayan kullanıcıların tüm takviyeleri, tanesi 49,99 TL (2,99 USD) olmak üzere Polar üzerinden ödenir.

Takviye durumumu al

GET /users/@me/boost-status

Çağıranın tüm sunuculardaki takviye özetini döndürür (camelCase):

Alan Tür Açıklama
isBoosting boolean Çağıranın etkin veya bekleyen herhangi bir takviyesi olup olmadığı
boostingSince ?ISO8601 zaman damgası Çağıranın en eski güncel takviyesinin oluşturulduğu zaman
boostCount integer Çağıranın etkin veya bekleyen takviye sayısı
boostDays integer Rozet kademeleri için kullanılan, hesaba yazılmış takviye günleri
boostSlots null Her zaman null (kullanıcı başına sınır yoktur)
boostSlotsUsed integer boostCount ile aynı
boostSlotsRemaining null Her zaman null
isPremium boolean Çağıranın TEBHOS Pro'su olup olmadığı
boostUnitPriceMinor integer Kuruş cinsinden tek takviyenin fiyatı (4999)
boostCurrency string TRY
boostUnitPriceUsdMinor integer ABD senti cinsinden tek takviyenin fiyatı (299)
freeBoostAllowance integer Bu hesap için toplam ücretsiz takviye (Pro için 10, aksi hâlde 0)
freeBoostsUsed integer Kullanılmış ücretsiz takviyeler
freeBoostRemaining integer Kalan ücretsiz takviyeler

Sunucu takviyelerini al

GET /servers/{guild_id}/boost

Bir sunucunun takviye durumunu döndürür. Okuma işlemi ayrıca bekleyen takviyeleri boş yerlere yükseltir.

Alan Tür Açıklama
boostCount integer Sunucudaki toplam takviye (etkin ve bekleyen)
level integer Etkin takviyelerden gelen takviye seviyesi
effectiveLevel integer Ayrıcalıklar için kullanılan seviye (İş Sınıfı ile en az 2)
isBoosting boolean Çağıranın bu sunucuya takviye yapıp yapmadığı
myBoostCount integer Çağıranın bu sunucudaki takviyeleri (etkin ve bekleyen)
userBoost ?object Çağıranın buradaki en eski etkin takviyesinin {id, createdAt, expiresAt} değerleri
goal integer İlerleme çubuğu için sunucunun takviye hedefi (varsayılan 25, yalnızca görüntüleme amaçlı)
barEnabled boolean Sunucunun takviye ilerleme çubuğunu gösterip göstermediği

Sunucuya takviye yap

POST /servers/{guild_id}/boost

Bir sunucuya takviye yapar. Ücretsiz takviyeler hemen uygulanır; ücretli kalan kısım tek bir Polar ödeme işleminde tahsil edilir.

JSON gövdesi

Gövde isteğe bağlıdır.

Alan Tür Açıklama
count? integer Eklenecek takviye sayısı (1-100, varsayılan 1; sınırlara kırpılır)
currency? string try veya usd; bkz. ödeme para birimi

Yanıt

İstenen tüm takviyeler ücretsiz takviyelerle karşılandığında yol 201 döndürür:

{
  "id": "1501314428688998190",
  "message": "...",
  "free": true,
  "applied": 1,
  "priceMinor": 0,
  "currency": "TRY",
  "freeBoostRemaining": 9
}

Ödeme gerektiğinde bir ödeme URL'siyle 200 döndürür. Ücretli takviyeler Polar ödemeyi onayladıktan sonra uygulanır; tarayıcı sunucunun takviye sayfasına döner.

{
  "paymentRequired": true,
  "url": "https://checkout.example.com/polar_c_1a2b3c",
  "freeApplied": 3,
  "paidCount": 7,
  "priceMinor": 34993,
  "unitPriceMinor": 4999,
  "currency": "TRY",
  "freeBoostRemaining": 0
}
Durum Gövde Koşul
201 ücretsiz sonuç Tüm takviyeler ücretsiz uygulandı
200 ödeme sonucu Takviyelerin bir kısmı veya tamamı ödeme gerektiriyor
400 hata yanıtı Bu örnekte ücretli takviyeler yapılandırılmamış (BAD_REQUEST)
409 hata yanıtı Aynı kullanıcının başka bir takviye isteği hâlâ sürüyor (CONFLICT); birkaç saniye sonra yeniden deneyin

Takviyelerin uygulanması sunucuyu Keşif için yeniden dizinler ve bir Guild Update gönderir.

Takviyelerimi kaldır

DELETE /servers/{guild_id}/boost

Çağıranın sunucudaki tüm takviyelerini kaldırır ve {"message": "..."} döndürür. Bunlarda kullanılan ücretsiz takviyeler geri verilmez. Sunucu yeniden dizinlenir ve bir Guild Update gönderilir.

Takviye yapanları listele

GET /servers/{guild_id}/boost/boosters

Sunucuya takviye yapanları, en eskiden başlayarak ve kullanıcı başına gruplanmış olarak döndürür:

[
  {
    "profileId": "1501314428688998182",
    "name": "example",
    "imageUrl": "",
    "boostCount": 3,
    "boostedAt": "2026-09-01T10:00:00Z"
  }
]

İş Sınıfı

İş Sınıfı (Business Class), tek bir sunucuya bağlı ve sunucunun sahibi tarafından İş Sınıfı ödemesi oluştur üzerinden satın alınan bir aboneliktir. Etkin olduğu sürece:

  • sunucu BUSINESS_CLASS sunucu özelliğine sahiptir ve sarı bir rozet gösterir,
  • sunucu seviye 2 takviye ayrıcalıkları kazanır (etkin takviye seviyesi en az 2'dir),
  • sahip bir TEBHOS Pro üyesi olarak değerlendirilir,
  • sahip, bağlılıklar ile en fazla 25 üyeyi sunucuya bağlayabilir,
  • herkes Keşif sunucusuna katıl üzerinden sunucuya katılabilir.

Yalnızca sahibe açık yollar, sunucu sahibi olmayan herkese 404 NOT_FOUND ile yanıt verir; böylece sunucunun var olup olmadığını açığa çıkarmaz.

İş Sınıfı abonelik nesnesi

Alan Tür Açıklama
guild_id snowflake Sunucu
active boolean Aboneliğin şu anda geçerli olup olmadığı
until ?ISO8601 zaman damgası Geçerli dönemin bittiği zaman
will_cancel boolean Yenilenmek yerine until tarihinde bitip bitmeyeceği
billing_cycle ?string monthly veya yearly
discovery_opt_in boolean Sunucunun İş Sınıfı keşfinde listelenip listelenmediği

İş Sınıfı genel görünümümü al

GET /business/me

Çağıranın sahibi olduğu her sunucuyu İş Sınıfı durumuyla birlikte listeler:

{
  "guilds": [
    {
      "guild_id": "1489002177550843904",
      "name": "Example guild",
      "icon_hash": null,
      "business": null,
      "business_active": false
    }
  ],
  "has_live": false
}

business bir abonelik nesnesi veya null'dır.

Sunucunun İş Sınıfını al

GET /business/guilds/{guild_id}

Yalnızca sahip. {"business": <subscription object or null>, "business_active": <bool>} döndürür.

İş Sınıfı keşif listelemesini ayarla

PUT /business/guilds/{guild_id}/discovery

Yalnızca sahip. Gövde {"enabled": true} veya {"enabled": false}. {"discovery_opt_in": <bool>} döndürür. Abonelik tek başına sunucuyu listelemez; bu katılım tercihi gereklidir.

İş Sınıfı sunucularını listele

GET /business/discovery

Keşfe katılmayı seçmiş geçerli İş Sınıfı sunucularını döndürür:

Alan Tür Açıklama
guilds[].guild_id snowflake Sunucu
guilds[].name ?string Sunucu adı
guilds[].icon_hash ?string Sunucu simgesi özeti
guilds[].banner_hash ?string Sunucu afişi özeti
guilds[].member_count integer Üye sayısı
guilds[].owner ?object Sahibin {user_id, username, name, image_url} değerleri

İş Sınıfı bağlılıkları

Bir bağlılık, bir sunucu üyesini bir İş Sınıfı sunucusuna bağlar; üye daha sonra sunucunun logosunu adının yanında gösterebilir. Sahip bir istek gönderir, üye kabul eder veya reddeder.

Yol Kim Açıklama
GET /business/guilds/{guild_id}/affiliations Sahip Bağlılıkları {affiliations: [{user_id, status, username, name, image_url, created_at}], limit} olarak listeler
POST /business/guilds/{guild_id}/affiliations Sahip İstek gönderir. Gövde {"user_id": "..."} veya {"username": "..."}. Hedef sunucunun üyesi olmalıdır. {ok, status} döndürür
DELETE /business/guilds/{guild_id}/affiliations/{user_id} Sahip Bir bağlılığı kaldırır
GET /business/affiliations/me Üye Çağıranın bağlılıklarını {affiliations: [{guild_id, status, is_primary, guild_name, guild_icon_hash}]} olarak listeler
POST /business/affiliations/{guild_id}/respond Üye Gövde {"accept": true} kabul eder, false reddeder. {ok, accepted} döndürür
POST /business/affiliations/{guild_id}/primary Üye Kabul edilmiş bir bağlılığı çağıranın adının yanında gösterilen bağlılık yapar
DELETE /business/affiliations/{guild_id} Üye Bir bağlılıktan ayrılır (204)

Bağlılık durumları pending, accepted ve inactive şeklindedir. Bir sunucu, inactive olmayan en fazla 25 bağlılık tutabilir. İstek gönderme, kullanıcı başına saatte 30 ile sınırlıdır (business:affiliate kovası).

Mağaza

Mağaza profil kozmetikleri satar. Satın almalar bir Polar ödeme işleminden geçer; öğe ödemeden sonra envantere eklenir.

Kozmetik yuvaları

Yuva Açıklama
NAME_PLATE Üye listelerinde adın arkasında gösterilen ad plakası
AVATAR_DECORATION Avatarın çevresindeki süsleme
PROFILE_EFFECT Profildeki animasyonlu efekt
AVATAR_HAT Avatarın üzerindeki şapka
APP_LOGO Uygulama logosu kozmetiği

Mağaza koleksiyonlarını listele

GET /shop/collections

{collections, items, bundles} döndürür. Öğelerde id, slug, collection_id, name, description, item_type (bir yuva), price, premium_price, asset_data ve purchasable bulunur; paketlerde id, slug, collection_id, name, description, price, premium_price, item_ids ve purchasable bulunur. Öğe için yapılandırılmış bir Polar ürünü yoksa purchasable değeri false olur.

Envanteri al

GET /shop/inventory

Çağıran için {"entries": [{id, item_id, source, bundle_id, purchased_at}]} döndürür.

Kuşanılan kozmetikleri al

GET /shop/equipped

Çağıranın her yuvada kuşandığı öğeyi {name_plate, avatar_decoration, profile_effect, avatar_hat, app_logo} olarak döndürür (her biri bir öğe veya null). {"profile_ids": [...]} ile POST /shop/equipped/bulk, aynısını birkaç kullanıcı için kullanıcı kimliğine göre anahtarlanmış olarak döndürür.

Mağaza öğesi satın al

POST /shop/items/{item_id}/purchase

Tek bir öğe için Polar ödeme işlemi açar ve bir yönlendirme URL nesnesi döndürür.

Alan Tür Açıklama
currency? string try veya usd
gift_recipient_id? snowflake Öğeyi bu kullanıcıya hediye olarak satın alır; ödemeden sonra ona teslim edilir
gift_message? string Hediye alıcısı için bir not; 190 karaktere kısaltılır

Alıcı (veya hediye alıcısı) öğeye zaten sahipse, alıcı çağıranın kendisiyse ya da öğe satın alınamıyorsa 400; öğe veya alıcı yoksa 404 döndürür.

Mağaza paketi satın al

POST /shop/bundles/{bundle_id}/purchase

Bir paket için Mağaza öğesi satın al ile aynıdır.

Kozmetik kuşan

PATCH /shop/equipped/{slot}

Gövde {"item_id": "<item uuid>"} bir öğeyi yuvaya kuşandırır; {"item_id": null} yuvayı temizler. Öğe türü yuvayla eşleşmelidir. Çağıranın öğeye sahip olması gerekir; yalnızca TEBHOS Pro (veya hediye edilmiş bir kopya) gerektiren Pro'ya özel öğeler bunun istisnasıdır. Çağıranın kuşandığı kozmetikleri döndürür.

Kozmetik hediyeleri

GET /shop/cosmetic-gifts, çağırana gönderilmiş ve henüz alınmamış kozmetik hediyelerini {"gifts": [{id, sender_id, item_type, item_id, message}]} olarak listeler. POST /shop/cosmetic-gifts/claim bunları alır ve 204 döndürür.