Telegram mesajlaşma uygulaması son zamanlar yaygın kullanılmaktadır, buna sebeb olan şeylerden biride telegramda işlerin otomatikleştirilmesi için oluşturula bilir botlardır. Telegram botları yazılım dilleri kullanılarak istenilen yönde geliştirilmeğe uygundur. Kullanıcılar telegram botlarını grupları yönetmek, eticaret platformu gibi ürün satmak, müşterileri bilgilendirmek, otomatik cevaplar üreterek soruları cevaplamak, kripto analizler yaptırmak gibi yüzlerce amaclar için kullanmaktalar.
Aklınızda soru işareti yarana bilir: bir telegram botu nasıl oluşturulur ve nasıl yazılım dilleri ile geliştirilir?
Telegram botu nasıl oluşturulur?
- Telegram arama sekmesinde BotFather aratarak telegramın resmi bot yönetme botunu bulun
- Botla konuşmayı başlat seçeneğine tıklayın
- /newbot komutunu çalıştırarak BotFather`e yeni bot oluşturmak istediğini bildiriyosunuz, cevap olarak bu mesajı alacaksınız (Alright, a new bot. How are we going to call it? Please choose a name for your bot.)
- Botunuzu temsil edecek adı gönderiyorsunuz, cevabında bunu alacaksınız (Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.)
- Sonu bot ile biten kullanıcı adı gönderin, eger gönderdiğiniz kullanıcı adı daha önce kullanılmamışsa botunuz başarılı şekilde oluşturulacaktır. Cevap olarak aldığınız mesajın içinde HTTP API var, onu kullanarak bir çok işlemler yapa bilirsiniz
PHP ile Telegram bot hazırlanması
PHP ile telegram botu kullanarak her hangi bir telegram kullanıcısına mesaj göndermek için yapacağımız bir kaç işlem var.
- Yukarıda anlattığımız gibi bot oluşturmak ve bot tokenine sahip olmak
- Mesaj göndereceğimiz kullanıcı bota (https://t.me/{kullanici_adiniz}) giriş yaparak start vermelidir
- Mesaj gönderceğimiz kullanıcının chat_id numarasını öğrenmemiz gerekmektedir. Telegram chat id nasıl bulunur? makalemizi okuyarak öğrene bilirsiniz
Aşağıdakı PHP kodlarını kullanarak telegram kullanıcısına bot ile mesaj göndere bilirsiniz.
$botToken="YOUR_API_TOKEN";
$website="https://api.telegram.org/bot".$botToken;
$chatId= receiver_chat_id; //Receiver Chat Id
$params= [
'chat_id'=>$chatId,
'text'=>$message,
];
$ch = curl_init($website . '/sendMessage');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, ($params));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);
Kullanıcı tarafdan bota yazılan mesaj PHP ile nasıl yakalanır ve işlenir?
PHP ile botu yönetmek için bir Webhook oluşturmak gerekmektedir.Devamında aşağıda verdiğim örnekdeki gibi link hazırlayıp tarayıcıda açarak sitenizde oluşturduğunuz webhook'u telegrama tanıtmış olacaksınız. https://api.telegram.org/bot{YOUR_API_TOKEN}/setWebhook?url=https://yoursite.com/bot.php
Devamında aşağıdakı örnek verdiğim PHP kodlarını kullanarak mesaj yazan kullanıcının çeşitli bilgilerine erişe bilir ve kullanıcıya yanıt olarak mesaj göndere bilirsiniz.
include 'Telegram.php';
$token = "YOUR_API_TOKEN";
$telegram = new Telegram($token);
$chat_id = $telegram->ChatID();
$msg = $telegram->Text();
$data = $telegram->getData();
$setData = $telegram->setData();
$ReplyToMessageID = $telegram->ReplyToMessageID();
//For more: https://github.com/xeayal/telegramApi/blob/main/Telegram.php
$content = array('chat_id' => $chat_id, 'text' => 'Your chat_id: '.$chat_id);
$telegram->sendMessage($content);
Projede kullanılan Telegram.php dosyasını burdan indire bilirsiniz: Telegram.php