<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Js Bot Yapımı &#8211; Yazılım Mühendisi</title>
	<atom:link href="https://zetmaill.com/tag/js-bot-yapimi/feed/" rel="self" type="application/rss+xml" />
	<link>https://zetmaill.com</link>
	<description>Mühendislik Harikası</description>
	<lastBuildDate>Tue, 02 Dec 2025 14:46:21 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>Python ile Bot Geliştirme: Öğrendiklerim ve Yaptığım Hatalar</title>
		<link>https://zetmaill.com/python-bot-gelistirme/</link>
					<comments>https://zetmaill.com/python-bot-gelistirme/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 02 Dec 2025 14:46:20 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Telegram]]></category>
		<category><![CDATA[Js Bot Yapımı]]></category>
		<category><![CDATA[yapay zeka]]></category>
		<guid isPermaLink="false">https://zetmaill.com/?p=483</guid>

					<description><![CDATA[Evet arkadaşlar, bugünkü yazımızda Python botlar hakkında konuşacağız. Biliyorsunuz, bot geliştirme işine başladığımdan beri gerçekten çok şey öğrendim ve bugün sizlerle bu deneyimlerimi paylaşmak istiyorum. Açıkçası başlangıçta &#8220;ben bunu yapabilir miyim?&#8221; diye düşünüyordum ama şimdi geriye dönüp baktığımda ne kadar çok yol kat ettiğimi görüyorum. Python Bot Dünyasına Giriş Python ile bot yazmaya ilk başladığımda, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Evet arkadaşlar, bugünkü yazımızda Python botlar hakkında konuşacağız. Biliyorsunuz, bot geliştirme işine başladığımdan beri gerçekten çok şey öğrendim ve bugün sizlerle bu deneyimlerimi paylaşmak istiyorum. Açıkçası başlangıçta &#8220;ben bunu yapabilir miyim?&#8221; diye düşünüyordum ama şimdi geriye dönüp baktığımda ne kadar çok yol kat ettiğimi görüyorum.</p>



<h2 class="wp-block-heading">Python Bot Dünyasına Giriş</h2>



<p><a href="https://tr.wikipedia.org/wiki/Python" target="_blank" rel="noopener">Python</a> ile bot yazmaya ilk başladığımda, açıkçası biraz ürkütücü geliyordu. Etrafta bir sürü teknik terim, <a href="https://tr.wikipedia.org/wiki/Uygulama_programlama_aray%C3%BCz%C3%BC" target="_blank" rel="noopener">API</a>, token, webhook falan derken kafam karışmıştı. Ama zaman içinde gördüm ki Python, <a href="https://tr.wikipedia.org/wiki/Bot" target="_blank" rel="noopener">bot geliştirmek</a> için gerçekten mükemmel bir dil. Basit syntax yapısı sayesinde kodlarınızı hızlıca yazıp test edebiliyorsunuz. Ayrıca <a href="https://www.python.org/community/" target="_blank" rel="noopener">Python topluluğu</a> inanılmaz aktif &#8211; hangi sorununuz olursa olsun muhtemelen birileri aynı sorunu yaşamış ve çözmüş.</p>



<p>İlk botumu yazdığımda sadece 20 satır kod vardı. Basit bir &#8220;echo bot&#8221; yani ne yazarsanız aynısını tekrar eden bir bot. Ama o 20 satır kod benim için yeni bir dünyanın kapılarını açtı. O günden beri onlarca bot yaptım ve her biri bana farklı şeyler öğretti.</p>



<h3 class="wp-block-heading">Neden Python Botlar?</h3>



<p>Şimdi, &#8220;neden bot yapayım ki?&#8221; diye sorabilirsiniz. Ben size kendi deneyimlerimden bahsedeyim. İlk botumu sosyal medya otomasyonu için yazmıştım. Her gün tekrar eden görevler vardı &#8211; tweet atmak, mesajlara cevap vermek, Instagram&#8217;da paylaşım yapmak falan. Bunları manuel olarak yapmak gerçekten çok zaman alıyordu ve bazen unutuyordum bile. Bot sayesinde bu işleri otomatikleştirdim ve inanılmaz zaman kazandım.</p>



<p>Bir de şöyle bir durum var: botlar sizin dijital asistanlarınız gibi. Mesela ben bir bot yaptım, her sabah bana hava durumunu, günün önemli haberlerini ve borsadaki hareketleri bildiriyor. Başka bir botum var, <a href="https://github.com/" target="_blank" rel="noopener">GitHub</a>&#8216;da takip ettiğim projelerde yeni güncellemeler olduğunda bana haber veriyor. Yani botlar aslında hayatınızı kolaylaştıran araçlar.</p>



<h2 class="wp-block-heading">Hangi Tür Botlar Yapabilirsiniz?</h2>



<p>Deneyimlerime göre en popüler bot türlerini şöyle sıralayabilirim ve her biriyle ilgili deneyimlerimi paylaşayım:</p>



<p><strong>Discord Botları:</strong> Eğer Discord sunucunuz varsa, kesinlikle bir bot yapmalısınız. Ben kendi oyun topluluğum için bir bot yaptım ve inanın bana, sunucunun dinamiğini tamamen değiştirdi. Moderasyon özellikleri sayesinde spam ve küfür otomatik olarak temizleniyor. Müzik çalma özelliği var, YouTube&#8217;dan arama yapıp şarkı çalabiliyor. Bir de seviye sistemi ekledim, aktif olan üyeler puan kazanıyor ve roller alıyor. Üyeler bu özelliklere bayıldı ve sunucuya katılım inanılmaz arttı.</p>



<p>Discord botlarının güzel yanı, <a href="https://discordpy.readthedocs.io/" target="_blank" rel="noopener">discord.py kütüphanesinin</a> gerçekten iyi dokümante edilmiş olması. Slash command&#8217;ler, button&#8217;lar, dropdown menüler &#8211; her şeyi kolayca ekleyebiliyorsunuz. Ben botuma bir mini oyun bile ekledim, kullanıcılar bot ile zar atıp yarışabiliyor.</p>



<p><strong>Telegram Botları:</strong> <a href="https://core.telegram.org/bots/api" target="_blank" rel="noopener">Telegram Bot API&#8217;si</a> gerçekten çok güçlü ve kullanımı kolay. Ben bir haber toplama botu yapmıştım, sabahları bana günün önemli haberlerini bildiriyordu. RSS feed&#8217;lerini takip ediyordu, belirli anahtar kelimeleri arıyordu ve benim ilgi alanlarıma göre haberleri filtreliyordu. Artık tonlarca haber sitesine girip zaman kaybetmiyorum.</p>



<p>Telegram&#8217;ın inline botları da var ki bu çok havalı bir özellik. Herhangi bir sohbette @botadı yazıp botunuzu çağırabiliyorsunuz. Ben bir GIF arama botu yapmıştım mesela, arkadaşlarımla konuşurken direkt sohbetin içinde GIF arayıp gönderebiliyordum.</p>



<p><strong>Web Scraping Botları:</strong> Evet, bunlar biraz tartışmalı ama yasal kullanımları var. Fiyat takibi, stok kontrolü gibi işler için harika. Ben e-ticaret sitelerinden fiyat karşılaştırması yapan bir bot yapmıştım. Takip ettiğim ürünlerin fiyatları düştüğünde bana bildirim geliyordu. Bu sayede bir grafik kartı alırken tam indirime girdiğinde yakaladım ve 1000 lira tasarruf ettim!</p>



<p><a href="https://tr.wikipedia.org/wiki/Web_kaz%C4%B1ma" target="_blank" rel="noopener">Web scraping</a> için Python&#8217;un Beautiful Soup ve Selenium gibi harika kütüphaneleri var. Bir de emlak sitelerinden ilan takip eden bir bot yapmıştım. Belirli kriterlere uyan yeni ilanlar çıktığında anında haberdar oluyordum. Ev ararken bu bot sayesinde güzel bir fırsat yakaladım çünkü ilan yayınlandıktan 10 dakika sonra haberdar oldum ve hemen aradım.</p>



<p><strong>Sosyal Medya Botları:</strong> Twitter, Instagram gibi platformlar için botlar. Tabii bunları kullanırken dikkatli olmak gerekiyor, platformların kurallarına uymak önemli. Ben <a href="https://developer.twitter.com/en/docs" target="_blank" rel="noopener">Twitter API</a> için bir bot yapmıştım, belirli hashtag&#8217;leri takip ediyordu ve alakalı tweetlere otomatik cevap veriyordu. Ama dikkatli olmak lazım, çok agresif davranırsanız spam olarak işaretlenebiliyorsunuz.</p>



<p>Instagram için de bir bot denememiştim ama çok dikkatli olmak gerekiyor çünkü Instagram bot kullanımına karşı oldukça sert. Resmi API&#8217;leri kullanmak her zaman en güvenli yol.</p>



<h2 class="wp-block-heading">İlk Botunuzu Yaparken Dikkat Edilmesi Gerekenler</h2>



<p>Benim öğrendiğim en önemli şey: küçük başlayın! İlk botunuz dünyayı değiştirmeyecek ve bu normal. Ben ilk botumu yaptığımda sadece &#8220;Merhaba&#8221; diyebiliyordu, ama bu bile heyecan vericiydi. O botun çalıştığını görünce aldığım mutluluğu hala hatırlıyorum.</p>



<p>Bir adım adım ilerleme stratejisi izleyin. Önce botunuzun temel işlevini tamamlayın, sonra üzerine özellikler ekleyin. Ben bir hata yapıyordum &#8211; hemen aklıma gelen tüm özellikleri eklemeye çalışıyordum ve kod karmaşıklaşıp yönetilemez hale geliyordu. Şimdi daha organize çalışıyorum: önce temel işlev, sonra ek özellikler.</p>



<p>Bir de şunu söylemem gerek &#8211; API kullanırken rate limit&#8217;lere dikkat edin. Bunu öğrenmem biraz acı verici oldu, botum ban yedi çünkü çok fazla istek göndermişim. Twitter API&#8217;sine saniyede 50 istek atıyormuşum, tabi sistem beni spam olarak algıladı. O günden beri her zaman rate limiting koyuyorum. Python&#8217;da <code>time.sleep()</code> kullanarak istekler arasına gecikme ekliyorum veya daha profesyonel projeler için <code>asyncio</code> ile <a href="https://docs.python.org/3/library/asyncio.html" target="_blank" rel="noopener">asenkron programlama</a> yapıyorum.</p>



<p>Error handling de çok önemli. Botunuz 7/24 çalışacaksa her türlü hatayı düzgün yönetmesi lazım. İnternet bağlantısı kesilirse, API yanıt vermezse, beklenmeyen bir veri gelirse &#8211; bunların hepsini düşünmek gerekiyor. Ben başlarda bunu ihmal ediyordum ve bot sürekli çöküyordu. Şimdi try-except bloklarını bol bol kullanıyorum ve her şeyi logluyorum.</p>



<h2 class="wp-block-heading">Hangi Kütüphaneleri Kullanmalısınız?</h2>



<p>Benim favorilerim ve neden kullandığımı anlatayım:</p>



<p><strong><a href="https://github.com/Rapptz/discord.py" target="_blank" rel="noopener">discord.py</a>:</strong> Discord botları için muhteşem bir kütüphane. Dokümantasyonu harika, örnekleri çok. Async/await yapısıyla çalışıyor, yani botunuz aynı anda birden fazla komutu işleyebiliyor. Ben bu kütüphaneyi öğrenirken çok eğlendim çünkü hemen sonuç alabiliyorsunuz.</p>



<p><strong><a href="https://python-telegram-bot.org/" target="_blank" rel="noopener">python-telegram-bot</a>:</strong> Telegram için süper kolay ve kullanışlı. Webhook ve polling iki farklı yöntemle çalışabiliyor. Ben başlangıç için polling&#8217;i tercih ediyorum çünkü kurulumu daha basit, ama production&#8217;da webhook kullanmak daha verimli.</p>



<p><strong><a href="https://www.tweepy.org/" target="_blank" rel="noopener">tweepy</a>:</strong> Twitter API&#8217;si için pratik ve güncel. Twitter&#8217;ın yeni API versiyonlarını destekliyor. Streaming API&#8217;si var ki bu gerçek zamanlı tweet takibi için süper. Ben bir ara belirli kelimeleri takip eden bir bot yapmıştım, o kelimeler geçen tweetler anında botuma geliyordu.</p>



<p><strong><a href="https://requests.readthedocs.io/" target="_blank" rel="noopener">requests</a> ve <a href="https://www.crummy.com/software/BeautifulSoup/bs4/doc/" target="_blank" rel="noopener">BeautifulSoup</a>:</strong> Web scraping için vazgeçilmez ikili. requests ile web sayfasını çekiyorsunuz, BeautifulSoup ile HTML&#8217;i parse ediyorsunuz. Birlikte çok güzel çalışıyorlar. Ben hala her scraping projesinde bunları kullanıyorum.</p>



<p><strong><a href="https://selenium-python.readthedocs.io/" target="_blank" rel="noopener">Selenium</a>:</strong> Dinamik sitelerde gezinmek için. JavaScript ile yüklenen içerikleri almak istiyorsanız Selenium şart. Biraz daha yavaş ama çok güçlü. Otomatik form doldurma, butonlara tıklama gibi işlemler yapabiliyorsunuz. Ben bir otomatik başvuru botu yapmıştım, iş ilanlarına otomatik başvuru yapıyordu. Çok zaman kazandırdı.</p>



<p><strong><a href="https://docs.aiohttp.org/" target="_blank" rel="noopener">aiohttp</a>:</strong> Asenkron HTTP istekleri için. Eğer botunuz çok fazla web isteği yapacaksa, aiohttp kullanmak performansı çok artırıyor. Ben bir fiyat karşılaştırma botu yaptığımda, 50 farklı siteyi kontrol ediyordu. Normal requests ile 2 dakika sürüyordu, aiohttp ile 10 saniyeye düştü.</p>



<h2 class="wp-block-heading">Botunuzu Nasıl Host Edersiniz?</h2>



<p>Bu da çok önemli bir konu. Botunuz sürekli çalışmalı ki işe yarasın, değil mi?</p>



<p>Ben başlarda kendi bilgisayarımda çalıştırıyordum botlarımı. Ama bu pratik değil &#8211; bilgisayar kapanınca bot da kapanıyor. Sonra Raspberry Pi aldım, küçük ama işimi görüyor. Evde sürekli açık, elektrik faturasına da pek etki etmiyor.</p>



<p>Cloud servisleri de var tabii. <a href="https://www.heroku.com/" target="_blank" rel="noopener">Heroku</a> kullandım bir süre, ücretsiz tier&#8217;ı var ama limitli. <a href="https://railway.app/" target="_blank" rel="noopener">Railway</a> ve <a href="https://render.com/" target="_blank" rel="noopener">Render</a> da iyi alternatifler. <a href="https://cloud.google.com/" target="_blank" rel="noopener">Google Cloud</a> ve <a href="https://aws.amazon.com/" target="_blank" rel="noopener">AWS</a> da var ama biraz pahalı olabiliyor. <a href="https://www.digitalocean.com/" target="_blank" rel="noopener">DigitalOcean</a>&#8216;da VPS almak da güzel bir seçenek, aylık 5 dolardan başlıyor.</p>



<p>Ben şu anda önemli botlarımı DigitalOcean&#8217;da barındırıyorum. Bir Ubuntu sunucuya screen veya tmux ile botlarımı çalıştırıyorum. Daha profesyonel projeler için <a href="https://www.docker.com/" target="_blank" rel="noopener">Docker</a> kullanıyorum, deployment çok kolaylaşıyor.</p>



<h2 class="wp-block-heading">Güvenlik Konuları</h2>



<p>Bu çok önemli ama çoğu kişinin ihmal ettiği bir konu. API key&#8217;lerinizi asla kodun içine yazmayın! Ben başlarda bu hatayı yaptım ve GitHub&#8217;a yükledim, 2 saat içinde biri bulup bot hesabımı ele geçirdi. Çok kötü bir deneyimdi.</p>



<p>Şimdi environment variable kullanıyorum. Python&#8217;da <a href="https://pypi.org/project/python-dotenv/" target="_blank" rel="noopener">python-dotenv</a> kütüphanesiyle .env dosyasından key&#8217;leri okuyorum. .env dosyasını da .gitignore&#8217;a ekliyorum ki GitHub&#8217;a yüklenmesin.</p>



<p>Rate limiting de güvenlik açısından önemli. Botunuzun spam yapmasını istemezsiniz. Kullanıcı başına cooldown süreleri koyun. Ben Discord botumda her komut için 5 saniye cooldown koydum, aynı kullanıcı 5 saniye içinde aynı komutu tekrar kullanamıyor.</p>



<p>Input validation da şart. Kullanıcıdan aldığınız veriyi mutlaka kontrol edin. <a href="https://tr.wikipedia.org/wiki/SQL_injection" target="_blank" rel="noopener">SQL injection</a>, XSS gibi saldırılara karşı dikkatli olun. Ben her zaman kullanıcı inputunu sanitize ediyorum.</p>



<h2 class="wp-block-heading">Debugging ve Testing</h2>



<p>Bot geliştirirken en çok vakit harcadığım kısım bu. Kodunuz ilk seferde çalışmayacak, buna hazırlıklı olun.</p>



<p>Print statement&#8217;lar en basit ama etkili debugging yöntemi. Ben sürekli print kullanıyorum, neyin ne zaman çalıştığını görmek için. Daha sonra bunları logger&#8217;a çeviriyorum. Python&#8217;un <a href="https://docs.python.org/3/library/logging.html" target="_blank" rel="noopener">logging modülü</a> harika, farklı seviyelerde log tutabiliyorsunuz &#8211; debug, info, warning, error.</p>



<p>Test environment kurun. Ben production&#8217;da kullandığım botların test versiyonlarını ayrı hesaplarda çalıştırıyorum. Yeni özellikleri önce test botunda deniyorum, sorunsuz çalışırsa production&#8217;a alıyorum.</p>



<p>Unit test yazmayı da öğrenin. Başta gereksiz gibi geliyor ama büyük projelerde çok işe yarıyor. Python&#8217;da <a href="https://docs.python.org/3/library/unittest.html" target="_blank" rel="noopener">unittest</a> veya <a href="https://docs.pytest.org/" target="_blank" rel="noopener">pytest</a> kullanabilirsiniz. Ben pytest&#8217;i tercih ediyorum, daha kullanıcı dostu.</p>



<h2 class="wp-block-heading">Topluluktan Yardım Almak</h2>



<p>Bu işi yalnız yapmaya çalışmayın. Python ve bot geliştirme toplulukları çok yardımsever.</p>



<p>Reddit&#8217;te <a href="https://www.reddit.com/r/learnpython/" target="_blank" rel="noopener">r/learnpython</a>, <a href="https://www.reddit.com/r/Discord_Bots/" target="_blank" rel="noopener">r/Discord_Bots</a> gibi subreddit&#8217;ler var, çok aktifler. <a href="https://stackoverflow.com/questions/tagged/python" target="_blank" rel="noopener">Stack Overflow</a>&#8216;da neredeyse her sorunuzun cevabı var. Discord&#8217;da bot development sunucuları var, oralarda gerçek zamanlı yardım alabiliyorsunuz.</p>



<p>GitHub&#8217;da açık kaynak bot projelerine bakın. Başkalarının kodunu okumak çok şey öğretiyor. Ben bir sürü bot projesini fork&#8217;layıp inceledim, nasıl structure edilmiş, hangi pattern&#8217;ler kullanılmış diye baktım.</p>



<p>Dokümantasyonları okuyun. Biliyorum, sıkıcı gelebilir ama resmi dokümantasyonlar en doğru bilgi kaynağı. Ben artık yeni bir kütüphane kullanmadan önce mutlaka dokümantasyonunu baştan sona okuyorum.</p>



<h2 class="wp-block-heading">Gelecek Planlarım ve Tavsiyeler</h2>



<p>Ben bot geliştirmeye devam edeceğim, çünkü gerçekten eğlenceli ve öğretici. Şu anda <a href="https://tr.wikipedia.org/wiki/Yapay_zeka" target="_blank" rel="noopener">yapay zeka</a> entegre eden botlar üzerinde çalışıyorum. <a href="https://openai.com/blog/openai-api" target="_blank" rel="noopener">OpenAI API&#8217;sini</a> kullanarak sohbet edebilen botlar yapmak istiyorum.</p>



<p>Sizlere tavsiyem: başlayın! Çok düşünmeyin, küçük bir proje seçin ve yapmaya başlayın. İlk botunuz mükemmel olmayacak ama önemli olan başlamak. Her proje size bir şeyler öğretiyor.</p>



<p>Sabırlı olun. Hatalar yapacaksınız, takılacaksınız, saatlerce bir hata ile uğraşacaksınız. Ama sonunda o hatayı çözdüğünüzde aldığınız tatmin inanılmaz. Ben bir keresinde 3 saat bir hata ile uğraşmıştım, sonunda fark ettim ki bir değişkeni yanlış yazmışım. Sinir bozucu ama sonra güldüm bu duruma.</p>



<h2 class="wp-block-heading">Faydalı Kaynaklar</h2>



<p>Bot geliştirme yolculuğunuzda size yardımcı olacak bazı kaynaklar:</p>



<ul class="wp-block-list">
<li><a href="https://docs.python.org/3/" target="_blank" rel="noopener">Python Resmi Dokümantasyonu</a> &#8211; Her şeyin temeli</li>



<li><a href="https://realpython.com/" target="_blank" rel="noopener">Real Python</a> &#8211; Harika Python tutorialları</li>



<li><a href="https://automatetheboringstuff.com/" target="_blank" rel="noopener">Automate the Boring Stuff with Python</a> &#8211; Otomasyon için mükemmel kaynak</li>



<li><a href="https://discord.com/developers/docs/intro" target="_blank" rel="noopener">Discord Developer Portal</a> &#8211; Discord bot geliştirme</li>



<li><a href="https://core.telegram.org/bots" target="_blank" rel="noopener">Telegram Bot Documentation</a> &#8211; Telegram botları için</li>



<li><a href="https://pypi.org/" target="_blank" rel="noopener">Python Package Index (PyPI)</a> &#8211; Tüm Python kütüphaneleri</li>
</ul>



<h2 class="wp-block-heading">Son Düşüncelerim</h2>



<p>Bot geliştirmek gerçekten eğlenceli bir yolculuk. Her yeni bot, yeni bir şeyler öğrenmenize vesile oluyor. Başlangıçta hatalar yapacaksınız, kodunuz çalışmayacak, saatlerce debug yapacaksınız &#8211; ama sonunda çalışan botunuzu görünce aldığınız keyif her şeye değiyor.</p>



<p>Ben bu yolculukta çok şey öğrendim &#8211; sadece programlama değil, problem çözme, proje yönetimi, debugging gibi beceriler de kazandım. Botlarım sayesinde hayatım kolaylaştı, zaman kazandım ve hatta bazılarından para bile kazandım.</p>



<p>Eğer siz de Python bot geliştirmeye başlamayı düşünüyorsanız, cesur olun ve başlayın. YouTube&#8217;da tonlarca tutorial var, Stack Overflow&#8217;da her sorunuzun cevabı var zaten. Ben de başlarken çok kaynak kullandım, utanılacak bir şey yok. Hatta ben hala öğreniyorum, her gün yeni bir şey keşfediyorum.</p>



<p>Bir de şunu eklemek istiyorum: botlarınızı başkalarıyla paylaşın. GitHub&#8217;a yükleyin, açık kaynak yapın. Belki birileri kullanır, belki katkıda bulunur. Ben bir botumu açık kaynak yaptım ve 50&#8217;den fazla kişi star verdi, birkaç kişi pull request gönderdi. Bu çok motive edici bir deneyimdi.</p>



<p>Son olarak, bot yaparken eğlenin. Bu bir hobi, bir tutku olmalı. Para kazanmak veya CV&#8217;nize eklemek ikincil olsun. Ben bot yaparken gerçekten eğleniyorum, yeni fikirler deniyorum, absürt şeyler yapıyorum. Mesela bir bot yaptım sadece bana rastgele kedi fotoğrafları gönderiyor &#8211; hiçbir pratik faydası yok ama gülüyorum her seferinde.</p>



<p>Umarım bu yazı sizin için faydalı olmuştur ve ilham vermiştir. Sorularınız olursa yorumlarda sorabilirsiniz, elimden geldiğince cevaplamaya çalışırım! Hatta kendi bot projelerinizi paylaşırsanız çok sevinirim, birlikte öğreniriz.</p>



<p>İyi kodlamalar arkadaşlar, görüşmek üzere!</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://zetmaill.com/python-bot-gelistirme/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Telegram Bot Yapımı: Sıfırdan Başlayanlar İçin Rehberim</title>
		<link>https://zetmaill.com/telegram-js-bot-yapimi/</link>
					<comments>https://zetmaill.com/telegram-js-bot-yapimi/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 23 Nov 2025 15:30:50 +0000</pubDate>
				<category><![CDATA[Js]]></category>
		<category><![CDATA[Telegram]]></category>
		<category><![CDATA[Javascript ile bot yapma]]></category>
		<category><![CDATA[Js Bot Yapımı]]></category>
		<category><![CDATA[Js Dersleri]]></category>
		<category><![CDATA[Js ile telegram botu yapımı]]></category>
		<category><![CDATA[Telegram bot]]></category>
		<guid isPermaLink="false">https://zetmaill.com/?p=478</guid>

					<description><![CDATA[Telegram Bot Yapımı: Sıfırdan Başlayanlar İçin Rehberim Selamlar arkadaşlar! Bugün sizlerle yıllar önce başladığım ve baya bir hata yaparak öğrendiğim Telegram bot yapımı maceramı paylaşmak istiyorum. İlk bot deneyimimi hatırlıyorum da, o zamanlar hiçbir şey bilmiyordum ama merak ediyordum işte. Denemekten zarar gelmez diye düşünüp başladım. Şimdi sizler için daha rahat anlayabileceğiniz ufak bir bot [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Telegram Bot Yapımı: Sıfırdan Başlayanlar İçin Rehberim</h1>



<p>Selamlar arkadaşlar! Bugün sizlerle yıllar önce başladığım ve baya bir hata yaparak öğrendiğim Telegram bot yapımı maceramı paylaşmak istiyorum. İlk bot deneyimimi hatırlıyorum da, o zamanlar hiçbir şey bilmiyordum ama merak ediyordum işte. Denemekten zarar gelmez diye düşünüp başladım. Şimdi sizler için daha rahat anlayabileceğiniz ufak bir bot yaptım, adım adım anlatacağım.</p>



<h2 class="wp-block-heading">İlk Adımlar ve Hazırlıklar</h2>



<p>Öncelikle size şunu söyleyeyim, ben ilk başladığımda Node.js&#8217;in ne olduğunu bile bilmiyordum. Ama öğrendim işte, sizler de öğreneceksiniz. İhtiyacınız olan şeyler şunlar:</p>



<p>Node.js kurulu olması lazım bilgisayarınızda. Eğer yoksa nodejs.org&#8217;dan indirin, kurun. Korkmayın hiçbir şey olmaz bilgisayarınıza. Ben de ilk kurduğumda &#8220;acaba bir şey mi bozulur&#8221; diye düşünmüştüm, merak etmeyin.</p>



<p>Telegram&#8217;da @BotFather&#8217;a gidip bot oluşturmanız gerekiyor. Bu arkadaş Telegram&#8217;ın bot babası, tüm botlar ondan doğar. Ona /newbot yazıyorsunuz, size bot ismi soruyor, sonra kullanıcı adı soruyor. Bakın burada ilk hatamı anlatayım: Bot kullanıcı adının sonunda &#8220;bot&#8221; olması gerekiyormuş, ben saatlerce uğraştım neden kabul etmiyor diye. Mesela &#8220;benimharikabotum_bot&#8221; gibi bir şey yazmanız lazım.</p>



<h2 class="wp-block-heading">Kodlamaya Başlıyoruz</h2>



<p>Şimdi gelelim işin güzel kısmına. Bir klasör açın, terminal açın o klasörde ve şu komutu yazın:<br></p>



<pre class="wp-block-code"><code>npm init -y
npm install node-telegram-bot-api</code></pre>



<p>Bakın şu kod ne işe yarar anlatayım: <code>npm init -y</code> projenizi başlatıyor, package.json dosyası oluşturuyor. İkinci komut ise Telegram bot kütüphanesini yüklüyor. Ben ilk zamanlar bunları anlamadan kopyala-yapıştır yapıyordum, sonra öğrendim ne işe yaradıklarını.</p>



<p>Şimdi <code>bot.js</code> diye bir dosya oluşturun. İçine şunları yazalım:</p>



<pre class="wp-block-code"><code>const TelegramBot = require('node-telegram-bot-api');

// BotFather'dan aldığınız token'ı buraya yapıştırın
const token = 'BURAYA_BOT_TOKENINIZI_YAZIN';

// Bot'u başlatalım
const bot = new TelegramBot(token, {polling: true});

// İlk mesajımıza cevap verelim
bot.on('message', (msg) => {
  const chatId = msg.chat.id;
  const messageText = msg.text;
  
  console.log(`${msg.from.first_name} dedi ki: ${messageText}`);
  
  // Selam yazan herkese cevap verelim
  if(messageText &amp;&amp; messageText.toLowerCase().includes('selam')) {
    bot.sendMessage(chatId, 'Aleyküm selam dostum! Nasılsın?');
  }
});

bot.onText(/\/start/, (msg) => {
  const chatId = msg.chat.id;
  const userName = msg.from.first_name;
  
  bot.sendMessage(chatId, `Hoş geldin ${userName}! Ben senin yardımcı botun. Bana selam yazabilirsin mesela.`);
});
</code></pre>



<p>Bakın burada size bir şey anlatayım. <code>polling: true</code> kısmı çok önemli. Bu bot&#8217;unuzun sürekli Telegram&#8217;ı kontrol etmesini sağlıyor. Ben bunu ilk zamanlar yazmamıştım, bot hiç cevap vermiyordu, saatlerce uğraştım neden çalışmıyor diye.</p>



<h2 class="wp-block-heading">Biraz Daha Geliştirelim</h2>



<p>Sizleri düşündüğüm için burada bir yazı yazdım, o yüzden biraz daha işlevsel hale getirelim botumuzu. Mesela hava durumu soran bir komut ekleyelim:<br></p>



<pre class="wp-block-code"><code>bot.onText(/\/hava (.+)/, async (msg, match) => {
  const chatId = msg.chat.id;
  const sehir = match&#91;1];
  
  bot.sendMessage(chatId, `${sehir} için hava durumu bakıyorum, biraz bekle...`);
  
  // Normalde buraya API çağrısı yaparsınız
  // Ben basit bir örnek yapıyorum
  setTimeout(() => {
    bot.sendMessage(chatId, `${sehir} şu anda güneşli ve 25 derece! (Şaka şaka, gerçek hava durumu için API entegrasyonu yapmamız lazım)`);
  }, 2000);
});</code></pre>



<p>Gördünüz mü? <code>/hava Istanbul</code> yazdığınızda size cevap veriyor. O <code>(.+)</code> kısmı regex, yani düzenli ifade. İstanbul yazsanız da, Ankara yazsanız da alıyor o kısmı.</p>



<h2 class="wp-block-heading">Butonlar Ekleyelim</h2>



<p>Şimdi size güzel bir şey göstereyim. Butonlu mesajlar:</p>



<pre class="wp-block-code"><code>bot.onText(/\/menu/, (msg) => {
  const chatId = msg.chat.id;
  
  const options = {
    reply_markup: {
      inline_keyboard: &#91;
        &#91;
          { text: ' Hava Durumu', callback_data: 'hava' },
          { text: ' Saat', callback_data: 'saat' }
        ],
        &#91;
          { text: ' Zar At', callback_data: 'zar' }
        ]
      ]
    }
  };
  
  bot.sendMessage(chatId, 'Ne yapmak istersin?', options);
});

// Buton tıklamalarını yakalayalım
bot.on('callback_query', (callbackQuery) => {
  const message = callbackQuery.message;
  const data = callbackQuery.data;
  
  if(data === 'saat') {
    const saat = new Date().toLocaleTimeString('tr-TR');
    bot.sendMessage(message.chat.id, `Saat şu anda: ${saat}`);
  }
  
  if(data === 'zar') {
    const zar = Math.floor(Math.random() * 6) + 1;
    bot.sendMessage(message.chat.id, ` Zarın geldi: ${zar}`);
  }
  
  if(data === 'hava') {
    bot.sendMessage(message.chat.id, 'Hangi şehir için hava durumu istiyorsun? /hava şehir_adı yazabilirsin.');
  }
});</code></pre>



<h2 class="wp-block-heading">Hata Yapmaktan Korkmayın</h2>



<p>Bakın size ilk zamanlarımdan hatalarımı anlatayım ki siz düşmeyin aynı hatalara:</p>



<p>Token&#8217;ı GitHub&#8217;a yüklemişim bir keresinde, bot&#8217;u ele geçirmişler. Hemen BotFather&#8217;dan yeni token aldım. Sizler <code>.env</code> dosyası kullanın, token&#8217;ı oraya koyun.</p>



<p><code>msg.text</code> undefined olabiliyor bazen, çünkü fotoğraf veya sticker gönderince text olmuyor. O yüzden hep kontrol edin var mı diye.</p>



<p>Bot&#8217;u çalıştırıp kapatıp tekrar çalıştırınca bazen iki kere cevap veriyor. Bunun için <code>polling_error</code> eventini dinleyin:</p>



<pre class="wp-block-code"><code>bot.on('polling_error', (error) => {
  console.log('Hata oluştu:', error);
});</code></pre>



<h2 class="wp-block-heading">Son Sözler ve Tavsiyeler</h2>



<p>İşte arkadaşlar, basit bir Telegram bot&#8217;u bu kadar. Ben yıllar önce bunları öğrenirken çok hata yaptım, ama her hata bana bir şey öğretti. Sizler de hata yapın, korkmayın. Hata yapıyorsanız yine yapın ki aynı hatalara düşmeyin bir daha.</p>



<p>Bot&#8217;u çalıştırmak için terminalde <code>node bot.js</code> yazmanız yeterli. Telegram&#8217;a gidip bot&#8217;unuza /start yazın, cevap verecektir.</p>



<p>Deneyerek öğrenin, merak edin, kırın dökün. Ben de öyle yaptım, şimdi bakıyorum da nereden nereye gelmişim. Sizler de geleceksiniz, sadece başlayın bir yerden.</p>



<p>Unutmayın, kimse uzman doğmuyor. Herkes bir yerden başlıyor. Ben de sizler gibi başladım, &#8220;acaba yapabilir miyim&#8221; diye düşünerek. Yaparsınız, merak etmeyin.</p>



<p>Kolay gelsin, başarılar diliyorum hepinize! Takıldığınız yerler olursa araştırın, sorun, öğrenin. Bu işin sırrı bu zaten.</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://zetmaill.com/telegram-js-bot-yapimi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
