C#Programlama

Telegram Botları ve C# ile Telegram Botu Oluşturma

Telegram Nedir?

Telegram, çoklu platform desteği sunan, güvenli anlık mesajlaşma servisidir. Rus programcısı Pavel Durov tarafından yaratılmıştır. Telegram istemcileri hem mobil hem de masaüstü sistemleri için mevcuttur. Ağustos 2013’te yayın hayatına başlamıştır.

Hayatımıza Çok Kolaylık Sağlayan Özellikleriyle Aslında Telegram Diğer Sosyal Medya Platformundan Çok Öndedir,400 Milyon Kullanıcısı Olan Telegramı Whatsapp gibi 1 Milyar’dan Fazla Kullanıcısı Olan Platformlara Göre Kıyaslarsak Telegram Bize Küçük Gözükecektir Whatsappa Göre Az Olsada Bu Gerçekten Büyük Bir Sayı.

Telegram Botları Nedir?

Telegram’ın içinde çalışan üçüncü taraf uygulamalarıdır. Kullanıcılar, mesajlar, komutlar ve satır içi istekler göndererek botlarla etkileşim kurabilir . Bot API’mize HTTPS isteklerini kullanarak botlarınızı kontrol edersiniz.

Telegram Botları Sayesinde Elle Yapacağımız Bir Çok işi Botlar Bizim Yerimize Yapıyor Örneğin;

  • Reklam Yapan Kullanıcıları Engelliyor
  • Kullanıcılar Botta Belirttiğiniz Kurallar Dışına Çıkamaz (Grup Yönetim Botları)
  • Youtubeye Girip Linki Alıp Mp3 İndirip Grubu Atana Kadar Geçireceğiniz Vakitten 3–5 Sn içinde Müzik İndiren Botlar Sayesinde Kurtuluyorsunuz.

Bunlar Gibi Her Botun Bir Çok Farklı ve Yararlı Özellikleri Var ve Biz Günlük Hayatımızda Bunlardan Yararlanıyoruz.

Şimdi Telegram Botlarının Nasıl Çalıştığından Biraz Bahsedelim;

Botlar Bu Şekilde Gelen Veriye Göre Çalışır Sabit Bir Şekilde Tanımlanmışta Olabilir yada LydiaChatBot gibi Yapay Zekalı’da Olabilir.

Artık Biraz Bilgilendiğimize Göre Kendi Botumuzu C# ile Yapmaya Başlayabiliriz.

BotFather ile Telegram Botu Oluşturma

BotFather ile Öncelikle Kendimize Bir Bot Açmamız Gerekiyor

Öncelikle BotFather Botunu Başlatıyoruz:

Image for post

Bize Seçenekler Sundu Yeni Bot Açmak için Bota /newbot Komutunu Gönderiyoruz

Image for post

Bize Botumuzun İsmini Sordu Ben CoderatorOrnek Yazıyorum İstediğinizi Yazabilirsiniz.

Image for post

Şimdi ise Bize Botumuzun Nickini yani Kullanıcı Adını Soruyor Ancak Burda Bir Kuralımız var Botun Kullanıcı ismi bot yada _bot ile bitmeli diyor

Ben Daha Güzel Gözüktüğü için CoderatorOrnekBot Yazıyorum

Image for post

İşte Bu Kadar Botumuz Oluştu ve Bize Bir Token Verdi Nedir Bu Token?

Token ile Botumuzu Kontrol Ediyoruz Bu Yüzden Başkasınla Paylaşırsanız Tokeni Bilen Herkes Botunuzu Kontrol Edebilir!

Artık Hazırız ve C# ile Telegram Botumuzu Yapmaya Başlayabiliriz!

C# Telegram.Bot Kütüphanesi ile Bot Yapımı

Şimdi Visual Studio 2019 Programımı Açıyorum ve Yeni Windows Forms C# Uygulaması Oluşturuyorum.

Image for post
Image for post

Projemi Oluşturduk ve Şimdi Gerekli Kütüphaneleri Nuget Paket Yöneticisinden Yüklememiz Gerekiyor

Çözüm Gezginine Geliyoruz ve Açtığımız Projenin Üzerine Sağ Tık Yapıp Nuget Paket Yöneticisine Giriyoruz

Image for post

Açılan Sekmeden Yukardan Gözat Bölümüne Geçiyoruz ve Arama Yerine Telegram.Bot Yazıp Enterliyoruz

Image for post

İlk Baştaki Kütüphaneyi Seçip Yükle Butonuna Basıyoruz ve Çıkanları Onaylıyoruz

Yükleme Bittikten Sonra Artık Projemiz Hazır ve Form Tasarım Kısmına Geçiyoruz

Projeye Bir Tane Buton ve TextBox Ekliyoruz

Image for post

Butonun ismine Gönder Dedim ve Butonun Üzerine Çift Tıklayarak Click Event Koduna Geçiyorum

ve Kod Kısmına Geçtik

Öncelikle Kütüphaneyi Import Ediyoruz

Image for post

Şimdi İse Aldığımız Tokeni Kullanarak Botumuzu Tanıtmamız Gerekiyor

Bu Kodu Class içine Yerleştirerek Tanımlıyoruz:

public TelegramBotClient bot = newTelegramBotClient("BotFatherden Aldığımız Token");
Image for post

Artık Botumuzu Tanımladık

ve Butonun Click Eventine Bize Mesaj Göndermesi için Kod Yazacağız

Eğer Birine Mesaj Göndereceksiniz Kullanıcının ID’sine İhtiyacınız Var ve Botun Başlat Butonuna Basmış Olmalı Öncelikle Botun Nickinden Bota Start Atalım

Image for post

Şimdi ise ID Adresimizi Almamız Gerekiyor Bunun için Rose Botu Olan Herhangi Bir Gruba /info Yazabilirsiniz

Image for post

İşte ID Numaramız Bu

Şimdi Mesaj Atalım

Tanımladığımız bot Değişkeninin içinden SendTextMessageAsync Kullanarak

Mesaj Yollayabiliyoruz

Şimdi Butonun Click Eventine Mesaj Gönderme Komutunu Yazalım

Verdiğim Kodu Butonun Click Eventi Yapıştırıyoruz

// bot.SendTextMessageAsync(kullaniciIDsi, mesaj);
bot.SendTextMessageAsync(730560650, textBox1.Text);
Image for post

Belirttiğim Yerleri Kendinize Göre Değiştirebilirsiniz

Bu Kodlar Textboxa Her Metin Yazıp Göndere Bastığımızda Bana Mesaj Yollayacak

Şimdi Uygulamamızı Başlatalım

merhaba Yazıp Gönder Butonuna Basıyorum

Image for post

Gördüğünüz Gibi Mesaj Bana Geldi

İlk Adımızı Tamamladık

Şimdi ise Komuta Göre Hareket Etme Kısmını Yapalım

Form1_Load Eventine bot.StartReceiving(); Yazmamız Gerekiyor

Image for post

Artık Bot Mesajları Uygulamayı Her Açtığımızda Dinlemeye Başlayacak

Şimdi ise Bot Her Mesaj Geldiğinde Tepki Verebilmesi için bot.OnMessage Eventini Bir Fonksiyona Bağlıyoruz

bot.OnMessage += Yazdıktan Sonra Tab Tuşuna Basıp Otomatik Fonksiyon Açtırbilirsiniz.
Image for post

Artık Fonksiyomuzda Hazır

Her Mesaj Geldiğinde OnMessage Fonksiyonu Çalışacak

Bunun için If Kullanarak Mesaja Göre Cevap Verdirmemiz Gerekiyor

Fonksiyonun e Değişkeninden Mesajı String Olarak Alıyoruz

e.Message.Text

Bu Bize Gelen Mesajı Verecek

Ee Mesajı Aldık Peki Kullanıcı ID yine Elimizde Yok ve Mesajı Cevaplayamıyoruz

e Değişkeni İmdadımıza Yetişiyor

e.Message.Chat.Id

Bu Bize Mesajın Gönderildiği Sohbet IDsini Kullanıcı ise Kullanıcının Grup ise Grubun ID sini Verecektir.

Ben Selamün Aleyküm Yazdığımda Aleyküm Selam Şeklinde Cevap Vermesini İstiyorum

Bunun için Bu Şekilde Bir If Bloğu Oluşturuyoruz

if (e.Message.Text == "Selamün Aleyküm") {

}

ve Kullanıcıya ChatID ile Aldığımız ID üzerinden Aleyküm Selam Mesajımı Dönüyoruz

if (e.Message.Text == "Selamün Aleyküm") {
bot.SendTextMessageAsync(e.Message.Chat.Id,"Aleyküm Selam");
}
Image for post

Şimdi Uygulamamızı Başlatıp Deniyelim

İşte Bu Kadar Bota Selam verdik O da Cevapladı 🙂

Image for post

Şimdi ise Bir Örnek Daha Yapalım Bota Çık Mesajını Verdiğimizde Uygulamayı Durdursun

Az Önceki Gibi if Bloğu Açıyoruz ve Mesaj Çık ise Application.Exit Komutunu Çalıştırsın Diyoruz

Image for post

Bu Şekilde Kodumuzu Oluşturduk ve Şimdi Tekrar Açalım Uygulamamızı

Image for post
Image for post

Gördüğünüz Gibi Çık Mesajını Attığımızda Uygulama Kapanıyor ve Botta Duruyor

Botun Sürekli Açık Kalması Gibi Sorular Etrafta Dolaşıyor Bende Kısaca Cevaplıyayım

Botunuz Sürekli Açık Duracak ise Bir Sunucu yada Heroku Adlı Ücretsiz Yazılım Platformunu Kullanabilirsiniz

Bu Yazınında Sonuna Geldik Dostlar Bidahaki Yazımıda Görüşmek Üzere…

Telegram:

Kanalımız: Coderator

Grubumuz: Coderator | Topluluk

Linkler:

Proje Dosyaları: https://github.com/bsggr78/CoderatorOrnek

BotFather: https://t.me/botfather

Rose: https://t.me/missrose_bot

Telegram.Bot Kütüphanesi: https://github.com/TelegramBots/Telegram.Bot

6 Yorum

Bir cevap yazın

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

Başa dön tuşu