İçeriğe geç

Telegram Bot Geliştirme – Bölüm 4 | Keyboard ve Inline Keyboard

Bu yazı sadece kod örneklerini içermekte. Takıldığınız noktalarda yorum olarak sorularınızı sorabilirsiniz.

Ders 1: Telegram Bot Geliştirme – Bölüm 1 | Bot Oluşturma
Ders 2: Telegram Bot Geliştirme – Bölüm 2 | GetUpdates ve WebHookBot Oluşturma
Ders 3: Telegram Bot Geliştirme – Bölüm 3 | Send Message İşlemi

Bu özellikleri kullanabilmek için “sendMessage” ile “reply_markup” parametresini göndermemiz gerekiyor. Örneklere PHP dili kullanılmıştır.

Telegram Bot Keyboard

Bu klavye tipinde chat alanının aşağısında klavye oluşturarak hızlı komutlar verilmesine olanak sağlar.

İlk iki satırda bazı sabitler oluşturduk. Token sabiti, telegram botumuza ait token kodunu almakta. URL ise http isteklerinin yapılacağı web adresini almakta. Tokeni, URL içine alarak kolay bir şekilde kullanmayı hedefledim.

keyboard değişkeni ise matris düzende klavyemizin içeriğini ve düzenini belirliyor. İlk parantez bütün klavyeyi temsil ediyor. İçteki ikinci parantez ise satırları. Aşağıda ki düzende bir klavye oluşturacaktır.

Klavye 1    Klavye 2

Klavye 3    Klavye 4

String içerisinde array gibi tanımlama nedenim, düzeni matris  olarak düzgün hale getirmek. PHP diline ait bir nesne değil bu array. Daha sonra reply_markup parametresi olarak bir değişkene atadık. Burada “urlencode” dememizin sebebi, string içerisinde tanımladığımız arrayımızı URL adresine uygun olarak kodlayıp göndermemiz.

Daha sonra ilgili adrese istek yaptık, bu kadar.

Telegram Bot Inline Keyboard

Inline keyboard ise direk sohbet alanının içerisinde özel klavye oluşturmanıza izin verir. Bu klavye tipi ile yapabilecekleriniz çok fazladır. Buradan gelecek komutlar ile URL adresleri açabilir, metinlere özel komutlar verebilirsiniz.

Burada yine string olarak (aslında array) bir klavye oluşturduk. Tek fark, direk dizi elemanı oluşturmak yerine bir sözlük oluşturmuş olduk. Text alanına klavyede görünmesini istediğimiz yazıyı, url alanına ilgili butona tıklayınca açılan URL adresini oluşturduk. Bu alan çeşitli değerler alabilir.

Bknz: https://core.telegram.org/bots/api#inlinekeyboardmarkup

Vakitsel yoğunluktan dolayı direk kodları paylaşmayı uygun gördüm, aslında cidden güzel bir dokümantasyonu var. Blog boş kalmasın diye paylaşım yapıyorum resmen…

Neyse, elden geldikçe paylaşmaya devam edeceğimi umuyorum.

Yararlı olması dileklerim ile, kolay gelsin.

Edit: Seri burada sona ermiştir.

Tarih:Genel ProgramlamaPHP ProgramlamaHazır Sistemler

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.