# Chatbotlar için Telegram butonları

{% hint style="info" %}
Makaleyi okumanızı öneririz [Buton](/doc/tr/chatbot/builder/butonlar.md#how-to-create-a-button).
{% endhint %}

Telegram'da hem yanıt düğmelerini (normal veya klavye düğmeleri) hem de Inline düğmeleri (metin içindeki düğmeler) kullanabilirsiniz.

{% hint style="info" %}
**Önemli: düğme sınırlamaları**

Düğme oluştururken lütfen aşağıdaki platform kısıtlamalarının farkında olun:

* **Yanıt düğmeleri (klavye):** en fazla **satır başına 12 düğme**.
* **Satır içi düğmeler:** En fazla **satır başına 8 düğme**.
* **Düğme metni:** Şunlarla sınırlıdır: **32 karakter**.
* **Buton rengi:** **özelleştirilemez.** Düğmeler varsayılan platform stilini kullanır.
  {% endhint %}

## Bir blokta düğme nasıl oluşturulur

Bir chatbotta herhangi bir düğme oluşturmak için blok ayarlarına gidin ve şuna tıklayın: **"Düğmeler"** sekmesine gidin:

<div data-with-frame="true"><figure><img src="/files/124ed9ba9810ffde01a31c6767ca02d46974fcc8" alt=""><figcaption></figcaption></figure></div>

Ardından düğme ekleme ve düzenleme ayarları açılacaktır. Sonra tıklayın **Ekle**:

<div data-with-frame="true"><figure><img src="/files/a6ff35a22492b2a45924dc82b7fca8bcd9da4e8c" alt=""><figcaption></figcaption></figure></div>

Düğmenin etiketini, eylemini ve ek seçeneklerini tanımlamanıza olanak tanıyan bir ayarlar penceresi açılacaktır.

<div data-with-frame="true"><figure><img src="/files/d296c49e391b91109b6dc7c884eaecbf7b4d5152" alt="" width="563"><figcaption></figcaption></figure></div>

Aşağıdaki düğme türleri **yalnızca Telegram botu için kullanılabilir**:

* **Paylaş düğmesi** – kullanıcıların içerik paylaşmasına olanak tanır.
* **Geri arama düğmesi** – botunuza sessiz bir geri çağırma sorgusu gönderir.
* **Telegram WebApp** – Telegram içinde küçük bir uygulama (ör. bir widget veya web sitesi) açar.
* **Telegram girişi** – kullanıcıları Telegram hesapları üzerinden yetkilendirir.

<div data-with-frame="true"><figure><img src="/files/9950cd9ad4e73d1a8efdf569dee0678379082be4" alt="" width="563"><figcaption></figcaption></figure></div>

Telegram'da ödeme, telefon numarası veya konum isteği ve bağlantı gönderme gibi başka düğmeler de mevcuttur.

### Paylaş düğmesi

Düğme oluştururken "**Paylaş (yalnızca Telegram)"** seçin ve alanları doldurun (isteğe bağlı ek metin alanı):

<div data-with-frame="true"><figure><img src="/files/caa6b8c574ac8cee6ed465d233b171392ef23703" alt="" width="563"><figcaption></figcaption></figure></div>

Bu düğme, listeden bir kişi seçerek bilgileri iletmenizi sağlar.

<div data-with-frame="true"><figure><img src="/files/b9e04868bd094afabeef82c81b355427bd16f0c8" alt="" width="563"><figcaption></figcaption></figure></div>

Paylaşmak istediğiniz URL'yi düğmenin **"Bağlantıyı paylaş"** alanına yapıştırın.

<div data-with-frame="true"><figure><img src="/files/622909317c7d63d9f9098e8e6b3f196a2f662564" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/88ae08e75fe011bee5c7aa46854387dac5b7abd5" alt="" width="563"><figcaption></figcaption></figure></div>

alanına girin. Bir kişi seçildikten sonra, **"Bağlantıyı paylaş"** ve **"Ek metin"** alanlarındaki içerik gönderilecektir. Bunu Telegram kanal gönderilerine ve diğer içeriklere bağlantı paylaşmak için kullanın.

{% hint style="info" %}
Dikkat! Bazı iOS cihazlarda doğru çalışmayabilir.
{% endhint %}

### Web sitesi giriş düğmesi

Giriş düğmesinin çalışması için botunuzun önce hedef alan için yetkilendirilmesi gerekir. Bu yapılandırma şunun üzerinden yapılır: **@BotFather**.

**Yapılandırma adımları:**

1. Bir sohbet açın [@BotFather](https://t.me/botfather).
2. Listeden botunuzu seçin.
3. Seçin **Bot Ayarları** > **Alan adı** ve web sitenizin alan adını ekleyin.

<div data-with-frame="true"><figure><img src="/files/e9561c9e1aeef27752122e3537d447ee99c51522" alt="" width="563"><figcaption></figcaption></figure></div>

Sonraki adımda, **Alan adı** düğmesine tıklayın:

<div data-with-frame="true"><figure><img src="/files/58224bc0dbe2df02b4da8a685c6cae5eca240ca2" alt="" width="563"><figcaption></figcaption></figure></div>

**Not:** Düğmede şu yazacaktır: **Alan adını düzenle** eğer bir alan adı varsa veya **Alan adı ayarla** eğer eklenmesi gerekiyorsa.

<div data-with-frame="true"><figure><img src="/files/0d395b8d35b648946eab76069bf086c7d793a3d9" alt="" width="563"><figcaption></figcaption></figure></div>

Botunuz için alan adını ayarlamanız istenecektir:

<div data-with-frame="true"><figure><img src="/files/8f1d616b15d12f5bacfae675d284b03ae90c8cd9" alt="" width="563"><figcaption></figcaption></figure></div>

**Doğru alan adı biçimi:**

Alan adınızı şu şekilde girin: `mavibot.ai` veya şu şekilde: `yourdomain.com` eğer MaviBot'a bağlı bir web siteniz varsa.

**Sonraki adım:**

Alan adınız doğrulanıp yapılandırıldıktan sonra, yetkilendirme düğmesini oluşturmaya devam edebilirsiniz.

<div data-with-frame="true"><figure><img src="/files/f3e4a37cdd242da9b0b4b7d2966db39bab90f5e0" alt="" width="563"><figcaption></figcaption></figure></div>

içinde **Metin** alanına, düğmede görünecek etiketi girin.

Ardından, yetkilendirmenin gerçekleşeceği sayfanın URL'sini **Bağlantı** alanına girin.

<div data-with-frame="true"><figure><img src="/files/6597ff13f295f748b1814f53f275cac1d614c0c3" alt="" width="563"><figcaption></figcaption></figure></div>

Ayrı bir bot yetkilendirme için kullanılıyorsa kalan alanlar gerekli olacaktır (bu bot için mesaj gönderme izni almanız gerekir): özellikle, botun adını belirtmeniz gerekecektir.

Belirtilen bottan mesaj gönderebilmeniz gerekiyorsa, **"Kullanıcıdan bot adına mesaj gönderme izni iste"**:

<div data-with-frame="true"><figure><img src="/files/1935fdf868c1eca5bfe2c0f34b492f9af2e38a4f" alt="" width="563"><figcaption></figcaption></figure></div>

Telegram giriş düğmesi

### Geri arama düğmesi

Geri çağırma düğmesi, istemci bir şeyi görürken biz botta herhangi bir huni bloğunu başlatmak için gereken geri çağırmayı aldığımız bir geri bildirim düğmesidir.

Bunu oluşturmak oldukça basit: **Düğmeler** alanında **Ekle** düğmesine tıklayın. Açılan formda metni girin, türü belirtin - Geri çağırma düğmesi (Telegram) ve düğmeye tıkladığınızda geri dönmesi gereken **Geri çağırma metni** giriniz:

<div data-with-frame="true"><figure><img src="/files/ecca9c5659545a0fb534d74c7829805d8333b6f1" alt="" width="563"><figcaption></figcaption></figure></div>

Görünüşte düğme normal bir inline düğme gibi görünür:

<div data-with-frame="true"><figure><img src="/files/04e9d9c37861496278072e0279e455aa3484db84" alt="" width="563"><figcaption></figcaption></figure></div>

Düğmeye tıkladıktan sonra, yapılandırılmış **Geri çağırma** müşterinin kartında göreceksiniz:

<div data-with-frame="true"><figure><img src="/files/b8a8f3c021ddf9604a78e940bd27fc9ad79c6bbb" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Önemli!

Telegram, Geri çağırma klavye düğmelerini desteklemez.
{% endhint %}

{% hint style="info" %}
Lütfen dikkat edin!

Eğer **"Geri çağırma"** düğme türü seçildiğinde, düğme yalnızca düğme metni geri çağırma metninden farklıysa geri çağırma olarak görüntülenir.
{% endhint %}

### Telegram Web Uygulaması düğmesi

Bu düğme, web sitesini Telegram'da bir web uygulaması olarak açmanıza olanak tanır.

<div data-with-frame="true"><figure><img src="/files/61ca2762d9703be1d69f228e6fba93c4e7f8e18b" alt="" width="375"><figcaption></figcaption></figure></div>

Düğmeyi eklerken etiketini belirtin, Telegram Web App düğmesi türünü seçin ve web uygulaması olarak açılacak web sitesinin bağlantısını sağlayın:

* Bir bağlantıyı bir değişken üzerinden belirtebilirsiniz:

<div data-with-frame="true"><figure><img src="/files/06e441a746336376d931a8d2cc7c863bc9e00f0c" alt="" width="563"><figcaption></figcaption></figure></div>

Bağlantı için bir değişken kullanmak, hedef sayfa veya web sitesi adresi sık sık değiştiğinde oldukça pratiktir.

**Nasıl çalışır:**

1. Bir değişken tanımlayın (ör.  `landing_page_url`) proje ayarlarınızda.
2. Bu değişkene referans verin (ör.  `#{landing_page_url}`) tüm akışlarınızdaki Web App düğmelerinde kullanın.

**Avantajı:** URL'yi her bir düğme bloğunda manuel olarak güncellemek yerine, proje ayarlarında değişkenin değerini yalnızca bir kez değiştirmeniz yeterlidir; tüm düğmeler otomatik olarak güncellenecektir.

**Alternatif:** elbette, düğme ayarlarında doğrudan sabit bir URL de belirtebilirsiniz.

<div data-with-frame="true"><figure><img src="/files/5c42074cbb3a4b26a8f3de8deba02cce69cbb2b5" alt="" width="563"><figcaption></figcaption></figure></div>

## Telegram API işlevleri için düğmeler nasıl oluşturulur

Telegram Bot API ile doğrudan çalışmak, özellikle yeni başlayanlar için zor olabilir; ancak MaviBot çok daha erişilebilir bir alternatif sunar.

**Yöntem: oluşturulmuş kodu kullanın**

Şunu kullanabilirsiniz: **önceden oluşturulmuş düğme kodunu** gelişmiş ayarlardan, böylece API çağrılarını manuel olarak yazmanız gerekmez.

**Adımlar:**

1. Blok ayarlarınıza gidin ve şunu açın: **Düğmeler** bölümünde görünecektir.
2. Gerekli tüm düğmeleri (metin, bağlantılar, işlevler) eklemek ve yapılandırmak için arayüzü kullanın.
3. Sistem doğru Telegram API kodunu arka planda otomatik olarak oluşturacaktır.

Bu yaklaşım, platform alttaki teknik uygulamayı üstlenirken karmaşık klavyeleri görsel olarak oluşturmanıza olanak tanır.

<div data-with-frame="true"><figure><img src="/files/2e6e5a7d910856c70f86572aa725eb79fc6e253f" alt="" width="563"><figcaption></figcaption></figure></div>

Tıklayın **"Gelişmiş Ayarlar"** düğmeleriniz için oluşturulan Telegram API kodunu görüntülemek için.

<div data-with-frame="true"><figure><img src="/files/7bac5be498514746178ac11d98ad32ae7ff7f572" alt="" width="375"><figcaption></figcaption></figure></div>

Düğmelerinizi test edin, ardından oluşturulan kodu şuradan kopyalayın: **Gelişmiş Ayarlar** şunun gibi bir değişken içine: `buttons`.

<div data-with-frame="true"><figure><img src="/files/fdf560e7d90f4a28d3aa5a3486bf132244832149" alt="" width="375"><figcaption></figcaption></figure></div>

Bu işlev, Telegram API üzerinden aşağıdaki parametrelerle bir mesaj gönderir: tg\_send\_message (platform\_id, text,client\_message\_id, reply\_markup, sparse\_mode, disable\_web\_page\_preview, protect\_content, disable\_notification, message\_thread\_id, entities):

Düğmeler değişkenini işlevde reply\_markup parametresine aktarın:

<div data-with-frame="true"><figure><img src="/files/574d3f7fe39068d44cc5f32dfbec0a32dc69b207" alt="" width="563"><figcaption></figcaption></figure></div>

Düğmeleriniz, tanımladığınız düzen ve stille sohbette görünecektir.

<div data-with-frame="true"><figure><img src="/files/fb8b399895ff82e670644551b3d4062d7047da1a" alt="" width="563"><figcaption></figcaption></figure></div>

## Yanıt düğmeleri nasıl silinir

Klavye düğmeleri genellikle otomatik olarak kaybolsa da, bazen görünür kalabilirler.

Kalan yanıt düğmelerini zorla temizlemek için, aşağıdaki kodu içine ekleyin: **Gelişmiş Ayarlar** alanını bulun:

```
[{"buttons":[],"one_time":true,"index_in_line":0,"line":0}]
```

Bu boş düğme yapılandırması, Telegram'a özel klavyeyi gizlemesini söyler.

<div data-with-frame="true"><figure><img src="/files/52518cf310e7f69638995243b306a0dd2190cf15" alt="" width="563"><figcaption></figcaption></figure></div>

### Telegram'da klavye menü düğmeleri

{% hint style="warning" %}
Bu özelliği yalnızca ileri düzey kullanıcılar için kullanmanızı öneririz!
{% endhint %}

### Klavye düğmeleri

Klavye düğmelerini (yanıt) kalıcı bir Telegram menüsü olarak kullanabilmek için, tg\_permanent\_reply\_buttons değişkenine herhangi bir değer atamak yeterlidir (değişken proje için sabit olarak tanımlıdır).

<div data-with-frame="true"><figure><img src="/files/099496626d80cd3f06f943b566b193e9fd01ea5b" alt="" width="370"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/789c9767b2ef04cd03b091edd3cfd8463e500bc1" alt="" width="563"><figcaption></figcaption></figure></div>

#### **Değişken: `tg_permanent_reply_buttons`**

Değişkeni ayarlamak, yanıt klavyesinin (mesajın altındaki düğmeler) görünürlüğü üzerinde tam manuel kontrol sağlar. Platformun tüm otomatik gizleme davranışı devre dışı bırakılır. **`tg_permanent_reply_buttons`** Değişkeni ayarlamak size **tam manuel kontrol** yanıt klavyesinin görünürlüğü üzerinde (mesajın altındaki düğmeler). Platformun tüm otomatik gizleme davranışı devre dışı bırakılır.

**Kapsam:** bu ayar **tüm** değişken etkin olduğu sürece botta oluşturulan yanıt düğmelerine uygulanır.

#### **Otomatik davranışa geri dönme**

Standart otomatik klavye gizlemeyi geri yüklemek için:

1. **Şunu kaldırın: `tg_permanent_reply_buttons`** değişkeni proje ayarlarınızdan.
2. **Herhangi bir yanıt düğmesini yeniden oluşturun** başlangıçta değişken aktifken oluşturulmuş olanlar. "kalıcı" kuralı altında oluşturulan düğmeler bu durumu korur ve yeni, otomatik davranışı devralmak için yeniden oluşturulmaları gerekir.

## Telegram'da menü nasıl oluşturulur

<div data-with-frame="true"><figure><img src="/files/8663fd7762eab72a29d5c45feaf5f3600ee1b574" alt="" width="563"><figcaption></figcaption></figure></div>

Telegram botunu oluşturan kişi böyle bir menü yapabilir.

Bunu yapmak için şuraya yazın: [Botfather](https://t.me/BotFather) Telegram'da.

/mybots komutunu girin ve botlarınızın listesi açılır. İhtiyacınız olanı seçin. Sizin için bir menü açılır. Burada şunu seçmeniz gerekir: **Botu Düzenle**, ve ardından **Komutları Düzenle**.

<div data-with-frame="true"><figure><img src="/files/4c9247962cf0650b9eb80e7e9db99648b40c3ca5" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/c0f8f68d11ecd42010906dc4e1106d39949feb13" alt="" width="563"><figcaption></figcaption></figure></div>

Tüm komutları ve açıklamalarını tek bir mesajda girin; komut adları için küçük harf kullanın. Liste güncellendiğinde bir onay alacaksınız.

<div data-with-frame="true"><figure><img src="/files/b7deb174f300230c33a3a8e9b90e87fbd9fdb07d" alt="" width="563"><figcaption></figcaption></figure></div>

Artık Telegram sohbetinizde botla menüyü görebilir ve kullanabilirsiniz.

<div data-with-frame="true"><figure><img src="/files/dfffbc6bd03312e322974f5e11d17186b83669f1" alt="" width="563"><figcaption></figcaption></figure></div>

Menü düğmesine tıkladığınızda, daha önce BotFather'da kaydedilmiş komutların bir listesi açılacaktır:

<div data-with-frame="true"><figure><img src="/files/fc2f47088263039b2d22271b63af90c11d3db605" alt="" width="563"><figcaption></figcaption></figure></div>

Ardından MaviBot'a gidin, bu telegram botunun bağlı olduğu projeyi açın.

blokları **Başlat** veya **Tetikleyici** oluşturun, koşullara komutları yazın ve **"Mesaj metni"** alanına — karşılık olarak alınacak metinleri.

Örnek:

<div data-with-frame="true"><figure><img src="/files/caef3b498b5d21aac1c52f236ae10432d248497b" alt="" width="563"><figcaption></figcaption></figure></div>

## İki düğme türü nasıl birleştirilir

Görselleştirmek istediğiniz bir yanıt düğmesi (klavye) içeren bir blok oluşturun.

<div data-with-frame="true"><figure><img src="/files/ffa5797fe610c3a3d12acec3cf670d17c14e87e5" alt="" width="563"><figcaption></figcaption></figure></div>

Yanıt düğmelerini kaldırmadan yerleştirilmesi gereken inline düğmeler (metin içindeki düğmeler) içeren bir sonraki bloğu (0 saniyelik bir zamanlayıcı) oluşturun. Örneğin: \[{"type": "inline", "text": "DÜĞME ADI", "line": 0, "index\_in\_line": 0}]

<div data-with-frame="true"><figure><img src="/files/ae5c25dc470318a2c05e74072405d2e594cde1b6" alt="" width="563"><figcaption></figcaption></figure></div>

İşte sonuç:

<div data-with-frame="true"><figure><img src="/files/b8253ceba0f544686a9a548cce46231164fd7333" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="success" %}
**Önemli:** aynı blokta düğme eklerken bu sırayı izlemelisiniz:

1. **Önce,** tüm Yanıt (klavye) düğmelerini ekleyin.
2. **Sonra,** herhangi bir Inline düğme ekleyin.

Bu sıra ters çevrilirse, sonraki mesaj bloğu gönderildiğinde yanıt düğmeleri kaldırılacaktır.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/tr/chatbot/mesajlasma-uygulamalari/telegram/buttons.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
