gokayburuc.dev

Bash ile Basit Bir Telegram Bot Uygulaması

Bash ile Basit Bir Telegram Bot Uygulaması

Bu yazıda, yalnızca birkaç satırlık Bash komutları kullanarak Telegram üzerinden mesaj gönderebilen basit bir bot oluşturacağız. Bu yöntem, ek kütüphane veya karmaşık bağımlılıklar olmadan hızlı bir otomasyon kurmak isteyenler için idealdir.


1. Telegram Botunun Oluşturulması

İlk adım olarak Telegram üzerinden @BotFather hesabına gidin. Yeni bir bot oluşturmak için aşağıdaki komutu gönderin:

/newbot

Botunuzun ismini ve kullanıcı adını belirledikten sonra size bir Bot Token verilecektir. Bu token, botunuzu yönetmek ve Telegram API’sine erişmek için kullanacağınız benzersiz anahtardır.

Güvenlik açısından bu token’ı doğrudan betik dosyasında tutmak yerine .env dosyasında saklamak gerekir.

.env dosyası, kimlik bilgilerini sistemde güvenli şekilde saklamak için kullanılır. Bu dosyayı asla GitHub veya benzeri ortamlarda paylaşmayın.


2. Botun Eklenmesi ve Yetkilendirilmesi

Botun mesaj gönderebilmesi için onu bir kanala, gruba veya doğrudan kullanıcı sohbetine eklemeniz gerekir.

  1. Telegram uygulamasında botunuzu arayın ve “Start” butonuna basın.
  2. Eğer bir gruba mesaj gönderecekseniz, botu ilgili gruba ekleyin.
  3. Grupta mesaj gönderebilmesi için botu admin olarak yetkilendirin.

3. Bash Script Dosyası

Aşağıdaki betik, .env dosyasındaki değişkenleri yükleyip belirtilen metni Telegram API’si üzerinden gönderir.

#!/bin/bash

# Değişkenleri otomatik olarak yükle
set -a
source .env
set +a

# Telegram API’si üzerinden mesaj gönder
curl -s -X POST "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" \
    -d chat_id="${CHAT_ID}" \
    -d text="$1"

Bu dosyayı telegram-send.sh adıyla kaydedin ve çalıştırma izni verin:

chmod +x telegram-send.sh

Artık betiği şu şekilde kullanabilirsiniz:

./telegram-send.sh "Sistem kontrolü tamamlandı."

4. .env Dosyasının Hazırlanması

Botun çalışması için .env dosyasına BOT_TOKEN ve CHAT_ID değerlerini eklememiz gerekiyor.

4.1 BOT_TOKEN Değerini Alma

Bu değer, @BotFather üzerinden bot oluşturduğunuzda size verilen uzun karakter dizisidir. Örnek format:

BOT_TOKEN="1234567890:ABCDEFghijklmnOPQRSTuvwxYZ"

4.2 CHAT_ID Değerini Bulma

Chat ID’yi öğrenmek için aşağıdaki bağlantıyı kendi bot token’ınızla düzenleyip tarayıcıda açın:

https://api.telegram.org/bot<BOT_TOKEN>/getUpdates

Bu sayfada JSON formatında bir çıktı göreceksiniz. Botunuza Telegram üzerinden herhangi bir mesaj gönderdiğinizde bu JSON verisinde chat bölümünde şu şekilde bir alan oluşur:

"chat": {
    "id": 123456789,
    "first_name": "Kullanıcı",
    "type": "private"
}

Buradaki id değeri, sizin CHAT_ID değerinizdir.

.env dosyanızı şu şekilde düzenleyin:

CHAT_ID="123456789"
BOT_TOKEN="1234567890:ABCDEFghijklmnOPQRSTuvwxYZ"

5. Çalışmanın Doğrulanması

Her şey hazır olduğunda terminalden test mesajı gönderin:

./telegram-send.sh "Merhaba, bu bir test mesajıdır."

Eğer botunuz doğru şekilde yetkilendirilmişse, mesaj Telegram uygulamanızda görünecektir.


6. Sonuç

Bu yöntemle yalnızca birkaç satırlık Bash kodu kullanarak Telegram üzerinden mesaj gönderebilen bir bot oluşturmuş oldunuz. Aynı yapı; sistem bildirimleri, yedekleme uyarıları veya sunucu durum raporları gibi pek çok otomasyon senaryosuna kolayca uyarlanabilir.

#bash