# Komut değişkenleri

> Kick followage için {{sender.followage}} değişkeninden rastgele sayılara ve chat yanıtlarındaki API isteklerine kadar tüm KickBot komut değişkenleri, örnekleriyle.

Source: https://kickbot.com/tr/docs/chat-bot/command-variables

Değişkenler, bir komut yanıtındaki yer tutuculardır. KickBot komut her çalıştığında yerlerine canlı değeri koyar. Örneğin `{{sender.followage}}` içeren bir `!followage` yanıtı, izleyicinin Kick kanalını ne zamandır takip ettiğini yazar. Değişkenler [özel komutlarda](https://kickbot.com/tr/docs/chat-bot/custom-commands) ve [hazır komutların](https://kickbot.com/tr/docs/chat-bot/built-in-commands) yanıtlarında çalışır.

Her değişkeni her iki yanda iki süslü parantezle, tam bu sayfada gösterildiği gibi yaz. Büyük harfler önemlidir: `{{sender.username}}` çalışır, `{{Sender.Username}}` çalışmaz.

## Yanıta değişken ekle

1. [Özel komutlar](https://kickbot.com/dashboard/commands) sayfasında bir komutu aç veya **Komut Ekle**'ye tıkla.
2. **Cevap** kutusunun altında **Değişken ekle**'yi kullan. Bir grup seç (**Gönderen**, **Yayıncı**, **Etiketlenen Kullanıcı / Parametre**, **Yayın**, **Rastgele** veya **API İsteği**).
3. Bir değişkene tıkla. KickBot onu imlecin olduğu yere ekler.

**Kick sohbetinde** önizlemesi örnek değerler gösterir, böylece kaydetmeden önce yanıtı kontrol edebilirsin.

![Yayın grubu açık Değişken ekle menüsü ve followage, kategori ve izleyici sayısı için örnek değerli önizleme](https://kickbot.com/docs/images/chat-bot/command-variables/01-variables.webp "Önizleme örnek değerleri doldurur. Chat'te KickBot gerçek değerleri kullanır.")

Aşağıdaki örneklerde yourchannel adlı bir kanalda KickBotDev adlı bir izleyici kullanılıyor.

## Gönderen

Komutu yazan izleyici.

| Değişken | Ne yazar | Örnek çıktı |
| --- | --- | --- |
| `{{sender.username}}` | İzleyicinin kanal bağlantısındaki adı (küçük harflerle) | `kickbotdev` |
| `{{sender.followers}}` | İzleyicinin kendi kanalının takipçi sayısı | `128` |
| `{{sender.followage}}` | İzleyicinin kanalını ne zamandır takip ettiği | `4 months 12 days` |
| `{{sender.url}}` | İzleyicinin Kick kanalının bağlantısı | `https://kick.com/kickbotdev` |
| `{{sender.bio}}` | İzleyicinin Kick profilindeki biyografi | `İstanbul'dan variety yayıncısı` |
| `{{sender.instagram}}` | İzleyicinin Kick profilindeki Instagram adı | `yourhandle` |
| `{{sender.twitter}}` | İzleyicinin Kick profilindeki X (Twitter) adı | `yourhandle` |
| `{{sender.youtube}}` | İzleyicinin Kick profilindeki YouTube | `yourhandle` |
| `{{sender.discord}}` | İzleyicinin Kick profilindeki Discord | `discord.gg/your-server-code` |
| `{{sender.tiktok}}` | İzleyicinin Kick profilindeki TikTok adı | `yourhandle` |
| `{{sender.facebook}}` | İzleyicinin Kick profilindeki Facebook adı | `yourhandle` |

### Kick followage

İzleyici kanalını takip etmiyorsa KickBot senin yanıtın yerine şunu yazar: `@kickbotdev is not following @yourchannel`.

Hazır `!followage` komutu bu değişkeni kullanır. Yanıtı `@{{sender.username}} has been following for {{sender.followage}}` olduğu için chat'te `@kickbotdev has been following for 4 months 12 days` gibi görünür.

## Yayıncı

Sen, yani kanal sahibi.

| Değişken | Ne yazar | Örnek çıktı |
| --- | --- | --- |
| `{{streamer.username}}` | Kanal bağlantındaki kanal adın | `yourchannel` |
| `{{streamer.followers}}` | Takipçi sayın | `2450` |
| `{{streamer.url}}` | Kick kanalının bağlantısı | `https://kick.com/yourchannel` |
| `{{streamer.bio}}` | Kick biyografin | `Her akşam sakin yayınlar` |
| `{{streamer.instagram}}` | Kick profilindeki Instagram adı | `yourhandle` |
| `{{streamer.twitter}}` | Kick profilindeki X (Twitter) adı | `yourhandle` |
| `{{streamer.youtube}}` | Kick profilindeki YouTube | `yourhandle` |
| `{{streamer.discord}}` | Kick profilindeki Discord | `discord.gg/your-server-code` |
| `{{streamer.tiktok}}` | Kick profilindeki TikTok adı | `yourhandle` |
| `{{streamer.facebook}}` | Kick profilindeki Facebook adı | `yourhandle` |

> **Caution:** Profil değişkenleri (biyografi, Instagram, X, YouTube, Discord, TikTok, Facebook) Kick profilini okur. Profilde o alan boşsa değişken yanıtta düz metin olarak kalır, örneğin `{{streamer.tiktok}}`. Bunları sadece o alanı dolu olan profiller için kullan.

## Etiketlenen kullanıcı ve parametre

İzleyicinin komuttan sonra yazdığı metin veya ad. Örneğin bir izleyici `!so @SomeChannel` veya `!hug @friend` yazar.

| Değişken | Ne yazar | `!so @SomeChannel harika yayın` için örnek |
| --- | --- | --- |
| `{{param}}` | Komuttan sonraki tüm metin | `@SomeChannel harika yayın` |
| `{{taggedUser.username}}` | İlk `@` işaretinden sonraki ad | `SomeChannel` |
| `{{taggedUser.url}}` | Etiketlenen kanalın bağlantısı | `https://kick.com/SomeChannel` |
| `{{taggedUser.followers}}` | Etiketlenen kanalın takipçi sayısı | `57` |
| `{{taggedUser.followage}}` | Etiketlenen izleyicinin kanalını ne zamandır takip ettiği | `2 months 3 days` |

Etiketlenen kullanıcının profil değişkenleri de var: `{{taggedUser.bio}}`, `{{taggedUser.instagram}}`, `{{taggedUser.twitter}}`, `{{taggedUser.youtube}}`, `{{taggedUser.discord}}`, `{{taggedUser.tiktok}}` ve `{{taggedUser.facebook}}`.

İzleyici kimseyi etiketlemezse `{{taggedUser.username}}` boş kalır. Etiketlenen ad bir Kick kanalı değilse sorgu değişkenleri (takipçiler, biyografi ve diğer profil alanları) çalışamaz ve KickBot yanıt yerine `404 tagged user not found` yazar.

Örnek: hazır `!so` (shout-out) komutunun yanıtı `Go check @{{taggedUser.username}}'s channel! {{taggedUser.url}}` şeklindedir.

## Yayın

Şu anki yayının. Bu değişkenler sen yayındayken çalışır.

| Değişken | Ne yazar | Örnek çıktı |
| --- | --- | --- |
| `{{stream.title}}` | Yayın başlığın | `Sakin yayın, gel takıl` |
| `{{stream.category}}` | Yayın kategorin | `Just Chatting` |
| `{{stream.viewers}}` | Şu anki izleyici sayın | `342` |

Çevrimdışıyken KickBot yayınını okuyamaz, bu yüzden bu değişkenleri içeren bir komut normal yanıtını yazmaz. Bunun yerine `404 stream not found` yazabilir.

## Rastgele

Bunları oyunlar ve eğlenceli komutlar için kullan. Her çalıştırmada yeni bir değer seçilir.

| Değişken | Ne yazar | Örnek çıktı |
| --- | --- | --- |
| `{{randomRange(1,100)}}` | İlk sayıdan ikinci sayıya kadar bir tam sayı, ikisi de dahil | `42` |
| `{{randomItem("taş","kağıt","makas")}}` | Listeden bir öğe, her birinin şansı eşit | `kağıt` |
| `{{randomItemPercentage("sıradan":70,"nadir":25,"efsanevi":5)}}` | Listeden bir öğe, her öğeye verdiğin şansla | `sıradan` |

Kurallar:

- `randomRange`, 0 veya daha büyük iki tam sayı alır. İlk sayı ikinciden büyük olmamalı.
- Her öğeyi düz çift tırnak (`"`) içine al ve virgülle ayır. Öğelerde boşluk olabilir, örneğin `"Sonra tekrar sor"`.
- `randomItemPercentage` içinde sayıyı iki noktadan hemen sonra, boşluk bırakmadan yaz. Sayılar ağırlıktır. 70, 25 ve 5 ile ilk öğe 100'de yaklaşık 70 kez gelir. `randomItemPercentage`, **Değişken ekle** menüsünde yok. Kendin yaz.

## API İsteği

`{{request("https://...")}}` bir web adresinden (API) veri alır ve yanıta koyar. Bir şaka, bir oyun rütbesi veya herkese açık bir API'nin döndürdüğü başka herhangi bir şeyi göstermek için kullan.

```text
{{request("https://uselessfacts.jsph.pl/api/v2/facts/random").text}}
```

KickBot adresi açar, JSON yanıtını okur ve `text` alanını yazar. Örneğin: `The praying mantis is the only insect that can turn its head`.

Nasıl çalışır:

- **Bir alan seç.** Yolu kapanış parantezinden sonra ekle. Adlar için nokta, liste öğeleri için `[0]` kullan, örneğin `.data[0].name`. Yol yoksa veya yol yanıtta bulunmuyorsa KickBot yanıtın tamamını yazar.
- **Adreste değişken kullan.** Örneğin `{{request("https://example.com/rank?user={{sender.username}}").rank}}`. KickBot değeri yerine koyar ve web adresi için güvenli hâle getirir (boşluk `%20` olur). İstek içinde istek kullanılamaz.
- **Sadece GET istekleri.** KickBot gövde (body) veya başlık (header) gönderemez. API bir anahtar istiyorsa anahtarı adrese sorgu parametresi olarak koy.
- **Sınırlar.** Sadece herkese açık internetteki `http` ve `https` adresleri. KickBot yanıt için en fazla 3 saniye bekler, bu yüzden kısa bir yanıtla hızlı yanıt veren bir API kullan.

> **Caution:** Komut ayarlarını görebilen herkes adresteki bir API anahtarını görebilir. Sadece herkese açık verileri okuyan anahtarlar kullan.

## Diğer değişkenler

Bu değişkenler çalışır ama **Değişken ekle** menüsünde yoktur.

| Değişken | Ne yazar | Örnek çıktı |
| --- | --- | --- |
| `{{user}}` | İzleyicinin adı, büyük harfleriyle | `KickBotDev` |
| `{{sender.fullUsername}}` | Başında `@` olan izleyici adı | `@KickBotDev` |
| `{{commands}}` | Açık olan tüm komutlar, virgülle ayrılmış | `commands, followage, lurk, me, so, welcome, discord` |

Hazır `!commands` komutu `{{commands}}` kullanır. Yanıtı `Enabled commands: {{commands}}` şeklindedir.

## Sık yapılan hatalar

- **İki yerine tek parantez.** `{sender.username}` metin olarak kalır. `{{sender.username}}` kullan.
- **Yanlış yazılmış bir ad.** `{{sender.name}}` gibi bilinmeyen bir değişken, komutun yanıt yazmasını engeller. Yazımı bu sayfayla karşılaştır.
- **Kıvrık tırnaklar.** `randomItem` ve `request` düz tırnak (`"`) ister. Bazı telefonlar ve metin editörleri bunları kıvrık tırnağa (`“ ”`) çevirir. Emin olmak için tırnakları panelde yaz.

## Sıkça sorulan sorular

**Kick'te followage komutu nasıl yapılır?**

KickBot'ta her kanalda açık olan hazır bir `!followage` komutu var. Kendi komutunu yapmak için `@{{sender.username}} has followed for {{sender.followage}}` gibi bir yanıtla bir komut ekle.

**Bir komutta izleyicinin adını nasıl gösteririm?**

Kanal bağlantısındaki ad için `{{sender.username}}`, büyük harfleriyle ad için `{{user}}` kullan. Kick'in bunu etiket olarak göstermesini istiyorsan başına `@` ekle, örneğin `@{{sender.username}}`.

**Bir komut izleyici sayımı veya yayın başlığımı gösterebilir mi?**

Evet. `{{stream.viewers}}` ve `{{stream.title}}` kullan. Sen yayındayken çalışırlar.
