{"id":41655,"date":"2026-05-08T21:00:55","date_gmt":"2026-05-08T18:00:55","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/"},"modified":"2026-05-08T21:00:55","modified_gmt":"2026-05-08T18:00:55","slug":"bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/","title":{"rendered":"Bir Discord &#8216;Gemi Takip&#8217; Botu: Hafta Sonunda Nas\u0131l Yap\u0131l\u0131r ve 7\/24 \u00c7al\u0131\u015fmas\u0131n\u0131 Sa\u011flayan 3 Katmanl\u0131 Mimari"},"content":{"rendered":"<h2>Bir Discord &#8216;Gemi Takip&#8217; Botu: Hafta Sonunda Nas\u0131l Yap\u0131l\u0131r ve 7\/24 \u00c7al\u0131\u015fmas\u0131n\u0131 Sa\u011flayan 3 Katmanl\u0131 Mimari<\/h2>\n<p>Discord&#8217;da bir sunucuda aktif olmak ve kullan\u0131c\u0131lar\u0131n ilgisini \u00e7ekecek \u00f6zellikler sunmak, g\u00fcn\u00fcm\u00fcz\u00fcn dijital topluluklar\u0131nda olduk\u00e7a \u00f6nemli. Peki ya bu ilgi \u00e7ekici \u00f6zelliklerden biri, ger\u00e7ek zamanl\u0131 veri ak\u0131\u015f\u0131n\u0131 kullanarak bir &#8220;gemi takip botu&#8221; olsa? Bu makalede, hafta sonu gibi k\u0131sa bir s\u00fcrede nas\u0131l b\u00f6yle bir bot geli\u015ftirebilece\u011finizi ve en \u00f6nemlisi, bu botun kesintisiz bir \u015fekilde 7\/24 \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayan sa\u011flam bir mimariyi ad\u0131m ad\u0131m inceleyece\u011fiz. Belki de ilk ba\u015fta karma\u015f\u0131k g\u00f6r\u00fcnen bu proje, do\u011fru yakla\u015f\u0131mla olduk\u00e7a ula\u015f\u0131labilir hale geliyor. Amac\u0131m\u0131z, hem teknik bilgi edinmek hem de pratik bir uygulama geli\u015ftirmek.<\/p>\n<h3>Neden Bir Gemi Takip Botu? Ger\u00e7ek D\u00fcnya Senaryolar\u0131 ve Potansiyel Kullan\u0131m Alanlar\u0131<\/h3>\n<p>G\u00fcn\u00fcm\u00fczde bir\u00e7ok Discord sunucusu, belirli ilgi alanlar\u0131na odaklanm\u0131\u015f topluluklar\u0131 bar\u0131nd\u0131r\u0131yor. Denizcilik merakl\u0131lar\u0131, lojistik profesyonelleri, hatta oyun topluluklar\u0131 i\u00e7in bile gemi takibi, ilgi \u00e7ekici bir konu olabilir. \u00d6rne\u011fin, bir lojistik \u015firketinin Discord sunucusunda, m\u00fc\u015fteriler veya \u00e7al\u0131\u015fanlar, belirli gemilerin konumlar\u0131n\u0131 anl\u0131k olarak takip edebilirler. Bu, operasyonel verimlili\u011fi art\u0131rabilir ve \u015feffafl\u0131\u011f\u0131 sa\u011flayabilir. Benzer \u015fekilde, bir denizcilik forumunda, \u00fcyeler en sevdikleri gemilerin rotalar\u0131n\u0131 veya yeni seferlerini takip edebilir, bu da topluluk etkile\u015fimini g\u00fc\u00e7lendirir. Hatta, bir oyun toplulu\u011funda, oyun i\u00e7i &#8220;gemilerin&#8221; veya sanal ticaretteki &#8220;nakliye ara\u00e7lar\u0131n\u0131n&#8221; takibi i\u00e7in de benzer bir bot geli\u015ftirilebilir. Bu bot, sadece bir e\u011flence arac\u0131 olman\u0131n \u00f6tesine ge\u00e7erek, ger\u00e7ek d\u00fcnya problemlerine \u00e7\u00f6z\u00fcm sunabilir veya mevcut s\u00fcre\u00e7leri iyile\u015ftirebilir. Bu makalenin odak noktas\u0131, bu t\u00fcr bir botu hafta sonu gibi k\u0131sa bir s\u00fcrede geli\u015ftirmek ve onu s\u00fcrekli olarak \u00e7al\u0131\u015f\u0131r durumda tutacak bir altyap\u0131 kurmakt\u0131r.<\/p>\n<h3>Gerekli Temel Kavramlar: API&#8217;ler, Webhook&#8217;lar ve Bot Geli\u015ftirmenin ABC&#8217;si<\/h3>\n<p>Bu projeye ba\u015flamadan \u00f6nce, birka\u00e7 temel teknoloji ve kavram hakk\u0131nda bilgi sahibi olmak faydal\u0131 olacakt\u0131r. \u00d6ncelikle, API (Application Programming Interface &#8211; Uygulama Programlama Aray\u00fcz\u00fc), farkl\u0131 yaz\u0131l\u0131mlar\u0131n birbirleriyle ileti\u015fim kurmas\u0131n\u0131 sa\u011flayan bir k\u00f6pr\u00fcd\u00fcr. Gemi takibi i\u00e7in kullanaca\u011f\u0131m\u0131z veri sa\u011flay\u0131c\u0131lar\u0131n\u0131n (\u00f6rne\u011fin, MarineTraffic, VesselFinder gibi platformlar\u0131n API&#8217;leri) sundu\u011fu verileri alabilmek i\u00e7in bu API&#8217;leri kullanaca\u011f\u0131z. Bu API&#8217;ler genellikle belirli bir veri format\u0131nda (JSON gibi) bilgi d\u00f6nd\u00fcr\u00fcr.<\/p>\n<p>\u0130kinci \u00f6nemli kavram ise Webhook&#8217;lar. Webhook&#8217;lar, bir olay\u0131n ger\u00e7ekle\u015fti\u011finde otomatik olarak bir URL&#8217;ye (bizim durumumuzda botumuza) bildirim g\u00f6nderilmesini sa\u011flar. Bu, s\u00fcrekli olarak API&#8217;yi sorgulamak yerine, veri g\u00fcncellendi\u011finde an\u0131nda bildirim almam\u0131z\u0131 sa\u011flar. Discord botlar\u0131 i\u00e7in de webhook&#8217;lar, botumuzun mesaj g\u00f6ndermesini veya belirli olaylara tepki vermesini sa\u011flamak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>Discord botu geli\u015ftirmek i\u00e7in ise genellikle Node.js, Python veya JavaScript gibi programlama dilleri kullan\u0131l\u0131r. Bu dillerin sundu\u011fu k\u00fct\u00fcphaneler (\u00f6rne\u011fin, Discord.js veya discord.py), Discord API&#8217;si ile etkile\u015fim kurmay\u0131 kolayla\u015ft\u0131r\u0131r. Botumuz, belirli komutlar\u0131 dinleyecek (\u00f6rne\u011fin, &#8220;!takip gemi_ad\u0131&#8221; gibi) ve bu komutlara g\u00f6re API&#8217;den veri \u00e7ekip Discord sunucusunda ilgili bilgileri payla\u015facakt\u0131r. Bu s\u00fcre\u00e7, temel olarak bir istek-yan\u0131t d\u00f6ng\u00fcs\u00fcne dayan\u0131r. Kullan\u0131c\u0131 bir komut g\u00f6nderir, bot bu komutu i\u015fler, harici bir kaynaktan (API) veri al\u0131r ve bu veriyi kullan\u0131c\u0131ya anla\u015f\u0131l\u0131r bir formatta sunar. Bu temelleri anlad\u0131\u011f\u0131n\u0131zda, bot geli\u015ftirme s\u00fcrecine daha rahat adapte olabilirsiniz.<\/p>\n<h3>Ad\u0131m Ad\u0131m Gemi Takip Botu Geli\u015ftirme: Kod \u00d6rnekleri ve Uygulama<\/h3>\n<p>Bu b\u00f6l\u00fcmde, pratik bir \u00f6rnek \u00fczerinden Discord gemi takip botunu nas\u0131l geli\u015ftirebilece\u011fimizi g\u00f6sterece\u011fiz. Node.js ve Discord.js k\u00fct\u00fcphanesini kullanarak ilerleyece\u011fiz. \u00d6ncelikle, bir Node.js projesi olu\u015fturup gerekli paketleri y\u00fcklememiz gerekiyor.<\/p>\n<p>1.  <strong>Proje Kurulumu ve Ba\u011f\u0131ml\u0131l\u0131klar:<\/strong><br \/>\n    Yeni bir dizin olu\u015fturup terminalde <code>npm init -y<\/code> komutuyla <code>package.json<\/code> dosyas\u0131n\u0131 olu\u015fturun. Ard\u0131ndan <code>npm install discord.js dotenv<\/code> komutuyla gerekli k\u00fct\u00fcphaneleri y\u00fckleyin. <code>discord.js<\/code>, Discord API&#8217;si ile etkile\u015fim kurmam\u0131z\u0131 sa\u011flarken, <code>dotenv<\/code>, gizli bilgilerimizi (bot token&#8217;\u0131 gibi) g\u00fcvenli bir \u015fekilde saklamam\u0131za yard\u0131mc\u0131 olur.<\/p>\n<pre><code class=\"language-html\"><div class=\"code-container\">\n      <pre><code>npm init -y\n    npm install discord.js dotenv<\/code><\/pre>\n<\/p><\/div>\n<p><\/code><\/p>\n<p>2.  <strong>Discord Bot Olu\u015fturma ve Token Alma:<\/strong><br \/>\n    Discord Developer Portal'a gidin, yeni bir uygulama olu\u015fturun ve bu uygulamaya bir bot ekleyin. Botunuzun token'\u0131n\u0131 (bu, botunuzun kimlik kart\u0131 gibidir) g\u00fcvenli bir yere kaydedin. Bu token'\u0131 asla kimseyle payla\u015fmamal\u0131s\u0131n\u0131z. Botunuza sunucunuzda yetki vermek i\u00e7in \"OAuth2\" b\u00f6l\u00fcm\u00fcnden gerekli izinleri se\u00e7erek bir davet linki olu\u015fturabilirsiniz.<\/p>\n<p>3.  <strong>Temel Bot Yap\u0131s\u0131 (index.js):<\/strong><br \/>\n    \u015eimdi botumuzun ana kodunu yazmaya ba\u015flayal\u0131m. <code>index.js<\/code> ad\u0131nda bir dosya olu\u015fturun.<\/p>\n<pre><code class=\"language-html\"><div class=\"code-container\">\n      <pre><code>require('dotenv').config(); \/\/ .env dosyas\u0131ndan de\u011fi\u015fkenleri y\u00fckler\n    const { Client, GatewayIntentBits } = require('discord.js');\n    const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent] });\n\n    client.once('ready', () => {\n        console.log(<code>Bot hazir! ${client.user.tag} olarak giri\u015f yapildi.<\/code>);\n    });\n\n    client.on('messageCreate', async message => {\n        if (message.author.bot) return; \/\/ Botlar\u0131n mesajlar\u0131n\u0131 g\u00f6rmezden gel\n        if (!message.content.startsWith('!takip')) return; \/\/ Sadece !takip ile ba\u015flayan mesajlar\u0131 i\u015fle\n\n        const shipName = message.content.slice(7).trim(); \/\/ !takip komutundan sonraki gemi ad\u0131n\u0131 al\n\n        if (!shipName) {\n            message.reply('L\u00fctfen takip etmek istedi\u011finiz geminin ad\u0131n\u0131 belirtin. \u00d6rn: <code>!takip MSC G\u00fcls\u00fcn<\/code>');\n            return;\n        }\n\n        \/\/ Burada gemi bilgilerini \u00e7ekece\u011fimiz API \u00e7a\u011fr\u0131s\u0131 yap\u0131lacak\n        \/\/ \u00d6rnek olarak bir placeholder fonksiyon kullan\u0131yoruz:\n        const shipInfo = await getShipInfo(shipName);\n\n        if (shipInfo) {\n            message.channel.send(<code>Gemi Adi: ${shipInfo.name}\\nKonum: ${shipInfo.location}\\nDurum: ${shipInfo.status}<\/code>);\n        } else {\n            message.channel.send(<code>'${shipName}' adli gemi bulunamadi veya bilgi \u00e7ekilemedi.<\/code>);\n        }\n    });\n\n    \/\/ Bu fonksiyonu daha sonra ger\u00e7ek API \u00e7a\u011fr\u0131s\u0131yla dolduraca\u011f\u0131z\n    async function getShipInfo(name) {\n        \/\/ \u00d6rnek bir yan\u0131t d\u00f6nd\u00fcrme\n        if (name.toLowerCase().includes('msc')) {\n            return {\n                name: 'MSC G\u00fcls\u00fcn',\n                location: 'Rotterdam Limani',\n                status: 'Demirli'\n            };\n        }\n        return null;\n    }\n\n    client.login(process.env.DISCORD_TOKEN); \/\/ .env dosyas\u0131ndan token'\u0131 al<\/code><\/pre>\n<\/p><\/div>\n<p><\/code><\/p>\n<p>    <code>dotenv<\/code> kullanabilmek i\u00e7in projenizin k\u00f6k dizinine <code>.env<\/code> ad\u0131nda bir dosya olu\u015fturun ve i\u00e7ine bot token'\u0131n\u0131z\u0131 ekleyin:<\/p>\n<pre><code class=\"language-html\"><div class=\"code-container\">\n      <pre><code>DISCORD_TOKEN=YOUR_DISCORD_BOT_TOKEN_HERE<\/code><\/pre>\n<\/p><\/div>\n<p><\/code><\/p>\n<p>    <code>getShipInfo<\/code> fonksiyonunu ger\u00e7ek bir API ile entegre etmeniz gerekecek. Bu, genellikle <code>fetch<\/code> veya <code>axios<\/code> gibi k\u00fct\u00fcphanelerle HTTP istekleri yaparak ve d\u00f6nen JSON verisini i\u015fleyerek yap\u0131l\u0131r. Gemi verileri sa\u011flayan bir\u00e7ok \u00fccretli ve \u00fccretsiz API bulunmaktad\u0131r. \u00dccretsiz olanlar genellikle daha az veri veya daha yava\u015f g\u00fcncelleme h\u0131z\u0131na sahip olabilir.<\/p>\n<h3>7\/24 \u00c7al\u0131\u015fma Mimarisi: 3 Katmanl\u0131 Yap\u0131 ve S\u00fcreklilik Sa\u011flama<\/h3>\n<p>Bir Discord botunun s\u00fcrekli olarak \u00e7evrimi\u00e7i kalmas\u0131, sadece bot kodunu \u00e7al\u0131\u015ft\u0131rmakla bitmez. Bunun i\u00e7in sa\u011flam bir altyap\u0131 gereklidir. Biz burada, \"3 Katmanl\u0131 Mimari\" olarak adland\u0131rabilece\u011fimiz bir yakla\u015f\u0131m kullanaca\u011f\u0131z:<\/p>\n<p>1.  <strong>Uygulama Katman\u0131 (Bot Kodu):<\/strong> Bu, yukar\u0131da yazd\u0131\u011f\u0131m\u0131z <code>index.js<\/code> gibi botun ana mant\u0131\u011f\u0131n\u0131 i\u00e7eren k\u0131s\u0131md\u0131r. Komutlar\u0131 dinler, API'lerle konu\u015fur ve Discord'a mesaj g\u00f6nderir. Bu katman\u0131n kararl\u0131 \u00e7al\u0131\u015fmas\u0131 esast\u0131r. Hata y\u00f6netimi (error handling), loglama (logging) ve yeniden ba\u015flatma mekanizmalar\u0131 bu katmanda \u00f6nemlidir. E\u011fer botumuz beklenmedik bir \u015fekilde \u00e7\u00f6kerse, otomatik olarak yeniden ba\u015flat\u0131lmal\u0131d\u0131r.<\/p>\n<p>2.  <strong>Veri Katman\u0131 (API ve Veritaban\u0131):<\/strong> Gemi bilgilerini ald\u0131\u011f\u0131m\u0131z harici API'ler bu katman\u0131n bir par\u00e7as\u0131d\u0131r. E\u011fer botumuzun belirli bilgileri (\u00f6rne\u011fin, takip edilen gemi listesi, kullan\u0131c\u0131 tercihleri) saklamas\u0131 gerekiyorsa, bir veritaban\u0131 (\u00f6rne\u011fin, PostgreSQL, MongoDB veya hatta basit bir SQLite) bu katmana dahil edilir. Bu veritaban\u0131, botun yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda bile bilgilerin kaybolmamas\u0131n\u0131 sa\u011flar. Gemi takip botu \u00f6rne\u011fimizde, d\u0131\u015f API'ler ana veri kayna\u011f\u0131d\u0131r. Ancak, s\u0131k\u00e7a sorulan gemiler veya kullan\u0131c\u0131 ayarlar\u0131 i\u00e7in bir veritaban\u0131 kullanmak, performans\u0131 art\u0131rabilir ve API kullan\u0131m limitlerini a\u015fmay\u0131 engelleyebilir.<\/p>\n<p>3.  <strong>Sunum\/\u00c7al\u0131\u015ft\u0131rma Katman\u0131 (Hosting ve Orkestrasyon):<\/strong> Bot kodunu \u00e7al\u0131\u015ft\u0131racak ve s\u00fcrekli \u00e7evrimi\u00e7i tutacak altyap\u0131 bu katmand\u0131r. Bu, bir VPS (Virtual Private Server), bulut tabanl\u0131 bir hizmet (AWS EC2, Google Cloud Compute Engine, Azure VM gibi) veya \u00f6zel bir sunucu olabilir. Bu katmanda, botumuzun 7\/24 \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in \"Process Manager\" (S\u00fcre\u00e7 Y\u00f6neticisi) ad\u0131 verilen ara\u00e7lar kullan\u0131l\u0131r. <code>PM2<\/code> (Node.js i\u00e7in pop\u00fcler bir s\u00fcre\u00e7 y\u00f6neticisi), botumuzu izler, \u00e7\u00f6kt\u00fc\u011f\u00fcnde otomatik olarak yeniden ba\u015flat\u0131r, loglar\u0131 y\u00f6netir ve performans istatistiklerini sunar. Ayr\u0131ca, bir \"Containerization\" (Konteynerle\u015ftirme) \u00e7\u00f6z\u00fcm\u00fc olan Docker, botu ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 izole bir ortamda paketleyerek farkl\u0131 ortamlarda tutarl\u0131 bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Bu, da\u011f\u0131t\u0131m (deployment) s\u00fcrecini de b\u00fcy\u00fck \u00f6l\u00e7\u00fcde kolayla\u015ft\u0131r\u0131r.<\/p>\n<p>Bu \u00fc\u00e7 katman, birbirini destekleyerek botunuzun hem i\u015flevsel hem de kesintisiz olmas\u0131n\u0131 sa\u011flar. Uygulama katman\u0131ndaki hatalar, sunum katman\u0131ndaki ara\u00e7larla giderilirken, veri katman\u0131ndaki bilgiler her zaman eri\u015filebilir kal\u0131r.<\/p>\n<h3>Geli\u015fmi\u015f \u00d6zellikler ve \u0130pu\u00e7lar\u0131: Botunuzu Daha Ak\u0131ll\u0131 Hale Getirme<\/h3>\n<p>Temel bir gemi takip botu olu\u015fturduktan sonra, onu daha kullan\u0131\u015fl\u0131 ve etkile\u015fimli hale getirecek baz\u0131 ileri d\u00fczey \u00f6zellikler ekleyebilirsiniz.<\/p>\n<p>*   <strong>Ger\u00e7ek Zamanl\u0131 Bildirimler (Webhooks Kullan\u0131m\u0131):<\/strong> API'niz webhook deste\u011fi sunuyorsa, s\u00fcrekli sorgulama yerine veri g\u00fcncellendi\u011finde bildirim alabilirsiniz. Bu, hem sunucu y\u00fck\u00fcn\u00fc azalt\u0131r hem de botunuzun daha h\u0131zl\u0131 tepki vermesini sa\u011flar. Discord'a bildirim g\u00f6ndermek i\u00e7in, botunuzun belirli bir kanala mesaj g\u00f6ndermesini sa\u011flayabilirsiniz. \u00d6rne\u011fin, belirli bir gemi limana yakla\u015ft\u0131\u011f\u0131nda veya rotas\u0131n\u0131 de\u011fi\u015ftirdi\u011finde otomatik bir bildirim g\u00f6nderilebilir.<\/p>\n<p>*   <strong>Kullan\u0131c\u0131 Tercihleri ve Veritaban\u0131 Entegrasyonu:<\/strong> Botunuzun, hangi kullan\u0131c\u0131lar\u0131n hangi gemileri takip etmek istedi\u011fini hat\u0131rlamas\u0131n\u0131 sa\u011flayabilirsiniz. Bunun i\u00e7in bir veritaban\u0131 (\u00f6rne\u011fin, PostgreSQL, MongoDB) kullanmak en iyi yakla\u015f\u0131md\u0131r. Kullan\u0131c\u0131lar <code>!takip ekle gemi_ad\u0131<\/code> gibi komutlarla gemi ekleyebilir ve <code>!takip listem<\/code> ile takip ettikleri gemileri g\u00f6rebilir. Botunuz, periyodik olarak bu listeyi kontrol ederek g\u00fcncellemeleri Discord'a bildirebilir. Bu, botunuzu daha ki\u015fiselle\u015ftirilmi\u015f hale getirir.<\/p>\n<p>*   <strong>Daha Detayl\u0131 Gemi Bilgileri:<\/strong> Sadece konum ve durum de\u011fil, geminin t\u00fcr\u00fc, boyutu, in\u015fa y\u0131l\u0131, var\u0131\u015f liman\u0131 gibi ek bilgileri de API'den \u00e7ekip g\u00f6sterebilirsiniz. Bu bilgiler, kullan\u0131c\u0131lar\u0131n gemiler hakk\u0131nda daha fazla bilgi edinmesini sa\u011flar. Hatta, geminin uydu g\u00f6r\u00fcnt\u00fclerini veya ge\u00e7mi\u015f rotalar\u0131n\u0131 da g\u00f6sterebilirsiniz.<\/p>\n<p>*   <strong>Hata Y\u00f6netimi ve Loglama:<\/strong> Botunuzun beklenmedik durumlarda \u00e7\u00f6kmemesi i\u00e7in kapsaml\u0131 hata y\u00f6netimi eklemelisiniz. Hatalar\u0131 yakalay\u0131p Discord'a veya ayr\u0131 bir log dosyas\u0131na kaydetmek, sorunlar\u0131 tespit etmenizi ve \u00e7\u00f6zmenizi kolayla\u015ft\u0131r\u0131r. <code>console.error<\/code> gibi fonksiyonlar\u0131 kullanarak veya \u00f6zel bir loglama k\u00fct\u00fcphanesi ile bu i\u015flemi otomatikle\u015ftirebilirsiniz.<\/p>\n<p>*   <strong>Performans Optimizasyonu:<\/strong> E\u011fer botunuz \u00e7ok say\u0131da kullan\u0131c\u0131ya hizmet verecekse, API \u00e7a\u011fr\u0131lar\u0131n\u0131 optimize etmek, veritaban\u0131 sorgular\u0131n\u0131 h\u0131zland\u0131rmak ve gereksiz i\u015flemleri kald\u0131rmak \u00f6nemlidir. \u00d6rne\u011fin, ayn\u0131 gemi i\u00e7in arka arkaya yap\u0131lan API \u00e7a\u011fr\u0131lar\u0131n\u0131 \u00f6nbelle\u011fe alarak (caching) tekrarlayan istekleri azaltabilirsiniz.<\/p>\n<p>Bu geli\u015fmi\u015f \u00f6zellikler, botunuzu basit bir bilgi sa\u011flay\u0131c\u0131dan daha fazlas\u0131 haline getirerek, Discord toplulu\u011funuz i\u00e7in de\u011ferli bir ara\u00e7 haline getirecektir.<\/p>\n<h3>Vaka Analizi: Bir Lojistik Firmas\u0131 \u0130\u00e7in Discord Gemi Takip Botu<\/h3>\n<p>Bir lojistik firmas\u0131 olan \"DenizYolu Lojistik\" d\u00fc\u015f\u00fcnelim. Bu firma, m\u00fc\u015fterilerine ve operasyonel ekiplerine gemi takibi konusunda daha iyi bir hizmet sunmak istiyor. Mevcut durumda, m\u00fc\u015fteriler genellikle e-posta veya telefon yoluyla gemi konumlar\u0131n\u0131 sorguluyorlar, bu da hem zaman al\u0131c\u0131 hem de verimsiz bir s\u00fcre\u00e7.<\/p>\n<p><strong>Problem:<\/strong> M\u00fc\u015fterilerin ve operasyonel ekiplerin gemi konumlar\u0131n\u0131 anl\u0131k olarak takip etmekte zorlanmas\u0131, ileti\u015fimde gecikmeler ve potansiyel yanl\u0131\u015f anla\u015f\u0131lmalar.<\/p>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong> DenizYolu Lojistik, kendi Discord sunucusunda \u00f6zel bir kanal olu\u015fturarak, buraya entegre edilmi\u015f bir gemi takip botu kullanmaya karar veriyor. Bot, m\u00fc\u015fterilerin ve yetkili personelin <code>!takip gemi_adresi<\/code> komutuyla belirli gemilerin canl\u0131 konumlar\u0131n\u0131, tahmini var\u0131\u015f zamanlar\u0131n\u0131 ve mevcut durumlar\u0131n\u0131 (limanda, seyir halinde vb.) sorgulamas\u0131n\u0131 sa\u011fl\u0131yor.<\/p>\n<p><strong>Teknik Uygulama:<\/strong><\/p>\n<p>*   <strong>Veri Kayna\u011f\u0131:<\/strong> Firma, g\u00fcvenilir bir gemi takip API sa\u011flay\u0131c\u0131s\u0131ndan (\u00f6rne\u011fin, AISHub veya ShipServ gibi profesyonel \u00e7\u00f6z\u00fcmler) veri al\u0131yor. Bu API, gemilerin k\u00fcresel konum verilerini (AIS - Automatic Identification System) sa\u011fl\u0131yor.<br \/>\n*   <strong>Bot Geli\u015ftirme:<\/strong> Firma, Node.js ve Discord.js kullanarak \u00f6zel bir bot geli\u015ftiriyor. Bot, <code>!takip<\/code> komutunu i\u015fliyor, API'ye gemi ad\u0131 veya IMO numaras\u0131 ile istek g\u00f6nderiyor ve d\u00f6nen veriyi anla\u015f\u0131l\u0131r bir dilde Discord'a iletiyor.<br \/>\n*   <strong>7\/24 \u00c7al\u0131\u015fma:<\/strong> Bot, bir VPS \u00fczerinde <code>PM2<\/code> ile y\u00f6netiliyor. Bu sayede botun herhangi bir nedenle kapanmas\u0131 durumunda otomatik olarak yeniden ba\u015flat\u0131lmas\u0131 sa\u011flan\u0131yor.<br \/>\n*   <strong>Geli\u015fmi\u015f \u00d6zellikler:<\/strong> Bot, sadece anl\u0131k konum de\u011fil, ayn\u0131 zamanda geminin tipini, boyutunu, y\u00fck\u00fcn\u00fc (e\u011fer API sa\u011fl\u0131yorsa) ve bir sonraki liman\u0131n\u0131 da g\u00f6steriyor. Ayr\u0131ca, belirli bir gemi limana yakla\u015ft\u0131\u011f\u0131nda otomatik bildirim g\u00f6nderme \u00f6zelli\u011fi de ekleniyor. Bu bildirimler, ilgili departmanlara veya aboneli\u011fi olan m\u00fc\u015fterilere \u00f6zel bir kanalda duyuruluyor.<br \/>\n*   <strong>Kullan\u0131c\u0131 Y\u00f6netimi:<\/strong> Bot, hangi kullan\u0131c\u0131lar\u0131n hangi gemileri takip edebilece\u011fini y\u00f6netmek i\u00e7in basit bir rol tabanl\u0131 eri\u015fim sistemiyle entegre ediliyor.<\/p>\n<p><strong>Sonu\u00e7:<\/strong> Bu Discord botu sayesinde DenizYolu Lojistik, m\u00fc\u015fteri hizmetlerini \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftiriyor. M\u00fc\u015fteriler art\u0131k kendi ba\u015flar\u0131na gemi konumlar\u0131n\u0131 takip edebiliyor, operasyonel ekipler ise daha proaktif olabiliyor. \u0130leti\u015fimdeki gecikmeler azal\u0131yor ve genel verimlilik art\u0131yor. Bu, teknoloji ve topluluk etkile\u015fiminin nas\u0131l bir araya gelerek i\u015f s\u00fcre\u00e7lerini optimize edebilece\u011fine dair harika bir \u00f6rnek te\u015fkil ediyor.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p>*   <strong>Bu t\u00fcr bir bot geli\u015ftirmek i\u00e7in hangi programlama dilini \u00f6\u011frenmeliyim?<\/strong><br \/>\n    Node.js (JavaScript ile), Python (discord.py k\u00fct\u00fcphanesi ile) veya C# (Discord.Net ile) pop\u00fcler se\u00e7eneklerdir. Node.js, \u00f6zellikle web geli\u015ftirme ge\u00e7mi\u015fi olanlar i\u00e7in \u00f6\u011frenmesi daha kolay olabilir.<\/p>\n<p>*   <strong>Gemi takip API'leri genellikle \u00fccretli midir?<\/strong><br \/>\n    Evet, \u00e7o\u011fu kapsaml\u0131 ve ger\u00e7ek zamanl\u0131 gemi takip API'si \u00fccretlidir. Ancak, baz\u0131 platformlar s\u0131n\u0131rl\u0131 veri veya daha yava\u015f g\u00fcncellemelerle \u00fccretsiz deneme s\u00fcr\u00fcmleri veya s\u0131n\u0131rl\u0131 \u00fccretsiz planlar sunabilir. Projenizin gereksinimlerine g\u00f6re bir ara\u015ft\u0131rma yapman\u0131z \u00f6nerilir.<\/p>\n<p>*   <strong>Botumun 7\/24 \u00e7al\u0131\u015fmas\u0131 i\u00e7in en uygun hosting \u00e7\u00f6z\u00fcm\u00fc nedir?<\/strong><br \/>\n    Ki\u015fisel kullan\u0131m i\u00e7in veya d\u00fc\u015f\u00fck trafikli sunucular i\u00e7in Raspberry Pi gibi evde bir sunucu kullanmak m\u00fcmk\u00fcn olsa da, profesyonel ve kesintisiz hizmet i\u00e7in VPS (Virtual Private Server) veya bulut tabanl\u0131 hizmetler (AWS, Google Cloud, Azure) en iyi se\u00e7eneklerdir. Bu platformlar, botunuzun s\u00fcrekli \u00e7evrimi\u00e7i kalmas\u0131n\u0131 ve \u00f6l\u00e7eklenebilir olmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>*   <strong>Botumun g\u00fcvenli\u011fi i\u00e7in nelere dikkat etmeliyim?<\/strong><br \/>\n    En \u00f6nemlisi, bot token'\u0131n\u0131z\u0131 asla kimseyle payla\u015fmamal\u0131 ve kodunuza g\u00f6mmemelisiniz. <code>.env<\/code> dosyas\u0131 gibi ortam de\u011fi\u015fkenleri kullanarak token'\u0131 g\u00fcvenli bir \u015fekilde saklay\u0131n. Ayr\u0131ca, botunuzun ald\u0131\u011f\u0131 girdileri (kullan\u0131c\u0131 komutlar\u0131 gibi) do\u011frulayarak olas\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nleyin.<\/p>\n<p>*   <strong>Bu botu sadece gemi takibi i\u00e7in mi kullanabilirim?<\/strong><br \/>\n    Hay\u0131r, bu mimari ve geli\u015ftirme yakla\u015f\u0131m\u0131 bir\u00e7ok farkl\u0131 alanda kullan\u0131labilir. \u00d6rne\u011fin, hava durumu botlar\u0131, haber botlar\u0131, d\u00f6viz kuru takip botlar\u0131 veya belirli bir spor dal\u0131ndaki ma\u00e7 sonu\u00e7lar\u0131n\u0131 bildiren botlar geli\u015ftirmek i\u00e7in de benzer bir yap\u0131 kurulabilir. \u00d6nemli olan, harici bir veri kayna\u011f\u0131na eri\u015fim sa\u011flamak ve bu veriyi Discord'da kullan\u0131c\u0131larla payla\u015fmakt\u0131r.<\/p>\n<p>#DiscordBot #GemiTakibi #WebGeli\u015ftirme #API #Nodejs<\/p>\n","protected":false},"excerpt":{"rendered":"Bir Discord &#8216;Gemi Takip&#8217; Botu: Hafta Sonunda Nas\u0131l Yap\u0131l\u0131r ve 7\/24 \u00c7al\u0131\u015fmas\u0131n\u0131 Sa\u011flayan 3 Katmanl\u0131 Mimari Discord&#8217;da bir sunucuda aktif olmak ve kullan\u0131c\u0131lar\u0131n ilgisini \u00e7ekecek \u00f6zellikler sunmak, g\u00fcn\u00fcm\u00fcz\u00fcn dijital topluluklar\u0131nda olduk\u00e7a \u00f6nemli.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-41655","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Bir Discord &#039;Gemi Takip&#039; Botu: Hafta Sonunda Nas\u0131l Yap\u0131l\u0131r ve 7\/24 \u00c7al\u0131\u015fmas\u0131n\u0131 Sa\u011flayan 3 Katmanl\u0131 Mimari - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bir Discord &#039;Gemi Takip&#039; Botu: Hafta Sonunda Nas\u0131l Yap\u0131l\u0131r ve 7\/24 \u00c7al\u0131\u015fmas\u0131n\u0131 Sa\u011flayan 3 Katmanl\u0131 Mimari\" \/>\n<meta property=\"og:description\" content=\"Bir Discord &#039;Gemi Takip&#039; Botu: Hafta Sonunda Nas\u0131l Yap\u0131l\u0131r ve 7\/24 \u00c7al\u0131\u015fmas\u0131n\u0131 Sa\u011flayan 3 Katmanl\u0131 Mimari Discord&#039;da bir sunucuda aktif olmak ve kullan\u0131c\u0131lar\u0131n ilgisini \u00e7ekecek \u00f6zellikler sunmak, g\u00fcn\u00fcm\u00fcz\u00fcn dijital topluluklar\u0131nda olduk\u00e7a \u00f6nemli.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-08T18:00:55+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Bir Discord &#8216;Gemi Takip&#8217; Botu: Hafta Sonunda Nas\u0131l Yap\u0131l\u0131r ve 7\/24 \u00c7al\u0131\u015fmas\u0131n\u0131 Sa\u011flayan 3 Katmanl\u0131 Mimari\",\"datePublished\":\"2026-05-08T18:00:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/\"},\"wordCount\":2410,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/\",\"name\":\"Bir Discord 'Gemi Takip' Botu: Hafta Sonunda Nas\u0131l Yap\u0131l\u0131r ve 7\/24 \u00c7al\u0131\u015fmas\u0131n\u0131 Sa\u011flayan 3 Katmanl\u0131 Mimari - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-05-08T18:00:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bir Discord &#8216;Gemi Takip&#8217; Botu: Hafta Sonunda Nas\u0131l Yap\u0131l\u0131r ve 7\/24 \u00c7al\u0131\u015fmas\u0131n\u0131 Sa\u011flayan 3 Katmanl\u0131 Mimari\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Bir Discord 'Gemi Takip' Botu: Hafta Sonunda Nas\u0131l Yap\u0131l\u0131r ve 7\/24 \u00c7al\u0131\u015fmas\u0131n\u0131 Sa\u011flayan 3 Katmanl\u0131 Mimari - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/","og_locale":"tr_TR","og_type":"article","og_title":"Bir Discord 'Gemi Takip' Botu: Hafta Sonunda Nas\u0131l Yap\u0131l\u0131r ve 7\/24 \u00c7al\u0131\u015fmas\u0131n\u0131 Sa\u011flayan 3 Katmanl\u0131 Mimari","og_description":"Bir Discord 'Gemi Takip' Botu: Hafta Sonunda Nas\u0131l Yap\u0131l\u0131r ve 7\/24 \u00c7al\u0131\u015fmas\u0131n\u0131 Sa\u011flayan 3 Katmanl\u0131 Mimari Discord'da bir sunucuda aktif olmak ve kullan\u0131c\u0131lar\u0131n ilgisini \u00e7ekecek \u00f6zellikler sunmak, g\u00fcn\u00fcm\u00fcz\u00fcn dijital topluluklar\u0131nda olduk\u00e7a \u00f6nemli.","og_url":"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-05-08T18:00:55+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"13 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Bir Discord &#8216;Gemi Takip&#8217; Botu: Hafta Sonunda Nas\u0131l Yap\u0131l\u0131r ve 7\/24 \u00c7al\u0131\u015fmas\u0131n\u0131 Sa\u011flayan 3 Katmanl\u0131 Mimari","datePublished":"2026-05-08T18:00:55+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/"},"wordCount":2410,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/","url":"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/","name":"Bir Discord 'Gemi Takip' Botu: Hafta Sonunda Nas\u0131l Yap\u0131l\u0131r ve 7\/24 \u00c7al\u0131\u015fmas\u0131n\u0131 Sa\u011flayan 3 Katmanl\u0131 Mimari - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-05-08T18:00:55+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/bir-discord-gemi-takip-botu-hafta-sonunda-nasil-yapilir-ve-7-24-calismasini-saglayan-3-katmanli-mimari\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Bir Discord &#8216;Gemi Takip&#8217; Botu: Hafta Sonunda Nas\u0131l Yap\u0131l\u0131r ve 7\/24 \u00c7al\u0131\u015fmas\u0131n\u0131 Sa\u011flayan 3 Katmanl\u0131 Mimari"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=41655"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41655\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=41655"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=41655"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=41655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}