NodeJS, TypeScript, Telegraf ve Fastify ile Kendi Telegram Botunuzu Oluşturun (Bölüm 1)
Merhaba! Bu makalede, Node.js, TypeScript, Telegraf ve Fastify kullanarak güçlü ve ölçeklenebilir bir Telegram botu geliştirmenin ilk adımını atacağız. Bu güçlü teknolojilerle, kendi özelleştirilmiş botunuzu oluşturmak hiç bu kadar kolay olmamıştı. Öncelikle, neden bu teknolojileri seçtiğimize bir bakalım. Sonrasında, adım adım kurulum ve ilk bot fonksiyonunu birlikte oluşturacağız.
Neden NodeJS, TypeScript, Telegraf ve Fastify?
Node.js, non-blocking, event-driven mimarisiyle gerçek zamanlı uygulamalar için mükemmel bir seçimdir. Telegram botları da gerçek zamanlı iletişim gerektirir. TypeScript ise, kodumuzun daha güvenilir ve bakımı kolay olmasını sağlar. Tip güvenliği sayesinde hata ayıklama sürecini kolaylaştırır ve büyük projelerde daha düzenli bir kod tabanı oluşturmamıza yardımcı olur. Telegraf, Telegram Bot API’si ile etkileşim kurmayı kolaylaştıran kullanımı oldukça basit bir kütüphanedir. Son olarak, Fastify, performans ve hız odaklı, minimalist bir Node.js web framework’üdür. Botumuzun isteklere hızlı bir şekilde yanıt vermesini sağlar.
Kurulum ve İlk Adımlar
İlk olarak, gerekli paketleri kurmamız gerekiyor. Bunun için npm veya yarn kullanabilirsiniz. Aşağıdaki komutu terminalinize yazın:
npm install --save telegraf fastify typescript @types/node @types/telegraf
Kurulumdan sonra, yeni bir TypeScript dosyası oluşturun (örneğin, index.ts). Bu dosyanın içine aşağıdaki kodu ekleyin:
import { Telegraf } from 'telegraf';
import fastify from 'fastify';
const bot = new Telegraf('YOUR_BOT_TOKEN'); //YOUR_BOT_TOKEN yerine bot tokeninizi yazın
bot.start((ctx) => ctx.reply('Merhaba!'));
bot.help((ctx) => ctx.reply('Yardım için /start yazın.'));
const app = fastify();
app.get('/', async (request, reply) => {
return reply.send('Bot çalışıyor!');
});
const start = async () => {
try {
await app.listen({ port: 3000 });
console.log(Fastify server started on port 3000);
await bot.launch();
console.log('Bot çalıştırıldı');
} catch (err) {
console.error(err);
process.exit(1);
}
};
start();
Bu kod, botun başlatıldığında “Merhaba!” mesajını göndermesini ve “/help” komutuna yanıt vermesini sağlar. Ayrıca, Fastify sunucusunu 3000 numaralı portta başlatır.
Bot tokeninizi Telegram BotFather dan alabilirsiniz. Daha sonra bu tokeni kodunuzda belirtilen yere yapıştırmanız gerekmektedir.
Sonuç
Bu ilk bölümde, temel kurulumu ve basit bir Telegram botu oluşturmayı öğrendik. Sonraki bölümlerde, daha gelişmiş özellikler ekleyerek botumuzu daha da geliştirebiliriz. Örneğin, veri tabanıyla entegrasyon, kullanıcı yönetimi ve farklı komutların eklenmesi gibi. Fatih Soysal blogunda diğer bölümleri takip edebilirsiniz. Ayrıca, Telegraf ve Fastify dokümanlarını inceleyerek daha fazla bilgi edinebilirsiniz.
Umarım bu makale faydalı olmuştur. Sorularınız ve önerileriniz için lütfen yorum yapmaktan çekinmeyin!
Faydalı Kaynaklar:
#Etiketler: Telegram Bot, NodeJS, TypeScript, Telegraf, Fastify, Tutorial, Rehber, Nasıl Yapılır, Bot Geliştirme