{"id":45098,"date":"2026-10-08T21:10:39","date_gmt":"2026-10-08T18:10:39","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/"},"modified":"2026-10-08T21:11:15","modified_gmt":"2026-10-08T18:11:15","slug":"unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/","title":{"rendered":"Unutulan Yer \u0130\u015faretlerine Son: Ak\u0131ll\u0131 Hat\u0131rlatma Botu Nas\u0131l Yap\u0131l\u0131r?"},"content":{"rendered":"<h2>Unutulan Yer \u0130\u015faretlerine Son: Ak\u0131ll\u0131 Hat\u0131rlatma Botu Nas\u0131l Yap\u0131l\u0131r?<\/h2>\n<p>\u0130nternette gezinirken ilgin\u00e7 bir makaleye, faydal\u0131 bir kayna\u011fa veya \u00f6\u011frenmek istedi\u011finiz yeni bir teknolojiye mi denk geldiniz? Muhtemelen hemen yer i\u015faretlerine (bookmark) eklediniz. Ancak \u00e7o\u011fumuz i\u00e7in bu yer i\u015faretleri, dijital bir mezarl\u0131\u011fa d\u00f6n\u00fc\u015ferek asla tekrar ziyaret edilmeyen bir bilgi y\u0131\u011f\u0131n\u0131 olu\u015fturur. Peki, bu bilgi da\u011f\u0131n\u0131kl\u0131\u011f\u0131n\u0131 ortadan kald\u0131r\u0131p, kaydetti\u011finiz her \u015feyi ger\u00e7ekten \u00f6\u011frenmenizi sa\u011flayacak bir \u00e7\u00f6z\u00fcm olsayd\u0131? \u0130\u015fte tam da bu noktada, size kaydetti\u011finiz i\u00e7erikleri hat\u0131rlatan ve d\u00fczenli aral\u0131klarla kar\u015f\u0131n\u0131za \u00e7\u0131karan ak\u0131ll\u0131 bir botun g\u00fcc\u00fcnden bahsedebiliriz. Bu makale, kendi hat\u0131rlatma botunuzu nas\u0131l in\u015fa edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayarak, dijital \u00f6\u011frenme ve verimlilik yolculu\u011funuzda size rehberlik edecek.<\/p>\n<h3>Neden Yer \u0130\u015faretlerimizi Unutuyoruz ve Bu Bir Sorun mu?<\/h3>\n<p>Dijital \u00e7a\u011fda bilgiye eri\u015fim hi\u00e7 bu kadar kolay olmam\u0131\u015ft\u0131. Sadece birka\u00e7 t\u0131klamayla, d\u00fcnyan\u0131n d\u00f6rt bir yan\u0131ndaki uzmanlar\u0131n makalelerine, e\u011fitim videolar\u0131na ve derinlemesine analizlere ula\u015fabiliyoruz. Bu durum, bir yandan b\u00fcy\u00fck bir avantaj sunarken, di\u011fer yandan &#8220;bilgi a\u015f\u0131r\u0131 y\u00fcklenmesi&#8221; ad\u0131 verilen bir sorunu da beraberinde getiriyor. S\u00fcrekli yeni bilgilerle bombard\u0131mana tutuldu\u011fumuz bu ortamda, beynimiz her \u015feyi i\u015flemek ve hat\u0131rlamakta zorlan\u0131yor. Bu nedenle, be\u011fendi\u011fimiz veya daha sonra incelemek istedi\u011fimiz i\u00e7erikleri yer i\u015faretlerine eklemek, \u00e7o\u011fu zaman bir &#8220;daha sonra bakar\u0131m&#8221; erteleme mekanizmas\u0131na d\u00f6n\u00fc\u015f\u00fcyor.<\/p>\n<p>Peki, bu durum ger\u00e7ekten bir sorun mu? Kesinlikle evet. Birincisi, dijital kaynaklar\u0131m\u0131z\u0131 etkili bir \u015fekilde y\u00f6netemedi\u011fimizde, de\u011ferli bilgiler kaybolur veya g\u00f6zden ka\u00e7ar. Bu, \u00f6\u011frenme s\u00fcre\u00e7lerimizi yava\u015flat\u0131r ve potansiyel geli\u015fim f\u0131rsatlar\u0131n\u0131 ka\u00e7\u0131rmam\u0131za neden olur. \u0130kincisi, s\u00fcrekli yeni \u015feyler kaydetme al\u0131\u015fkanl\u0131\u011f\u0131, ancak bunlar\u0131 hi\u00e7 g\u00f6zden ge\u00e7irmeme, bir t\u00fcr dijital birikim (digital hoarding) yarat\u0131r. Bu durum, zihinsel da\u011f\u0131n\u0131kl\u0131\u011fa yol a\u00e7abilir ve asl\u0131nda verimlili\u011fimizi d\u00fc\u015f\u00fcrebilir. Bir web sayfas\u0131n\u0131 kaydetti\u011finizde, onu ger\u00e7ekten \u00f6\u011frenme veya kullanma niyetiniz vard\u0131r. Ancak zamanla bu niyet, yeni bilgilerin ak\u0131\u015f\u0131nda kaybolup gider. \u0130\u015fte tam da bu noktada, pasif bir depolama arac\u0131ndan, aktif bir \u00f6\u011frenme ve hat\u0131rlama arac\u0131na ge\u00e7i\u015f yapman\u0131n zaman\u0131 gelmi\u015ftir. Kendi ak\u0131ll\u0131 hat\u0131rlatma botunuzu olu\u015fturmak, bu sorunu k\u00f6kten \u00e7\u00f6zmenin en etkili yollar\u0131ndan biridir. Bu bot, sadece bir depolama arac\u0131 olmaktan \u00f6te, ki\u015fisel bir \u00f6\u011frenme asistan\u0131 gibi \u00e7al\u0131\u015farak, kaydetti\u011finiz bilgilerin ger\u00e7ekten i\u015flenmesini ve haf\u0131zan\u0131zda yer etmesini sa\u011flar. B\u00f6ylece, dijital k\u00fct\u00fcphanenizdeki her bir \u00f6\u011fe, pasif bir veri y\u0131\u011f\u0131n\u0131 olmaktan \u00e7\u0131k\u0131p, aktif bir bilgi kayna\u011f\u0131na d\u00f6n\u00fc\u015f\u00fcr.<\/p>\n<h3>Hat\u0131rlatma Botu Nedir ve Bize Nas\u0131l Yard\u0131mc\u0131 Olabilir?<\/h3>\n<p>Hat\u0131rlatma botu, temel olarak, sizin belirledi\u011finiz periyotlarda veya ko\u015fullarda, \u00f6nceden kaydetti\u011finiz i\u00e7erikleri size yeniden sunan otomatik bir sistemdir. Bir yer i\u015faretleme arac\u0131ndan \u00e7ok daha fazlas\u0131d\u0131r; ki\u015fisel bir \u00f6\u011frenme asistan\u0131, bir bilgi k\u00fcrat\u00f6r\u00fc ve bir verimlilik art\u0131r\u0131c\u0131d\u0131r. Bu bot, dijital d\u00fcnyada s\u0131k\u00e7a kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z &#8220;g\u00f6zden uzak olan g\u00f6n\u00fclden de \u0131rak olur&#8221; sendromunu ortadan kald\u0131rmay\u0131 hedefler. Sadece bir URL&#8217;yi kaydetmekle kalmaz, ayn\u0131 zamanda o URL&#8217;nin ne zaman ve hangi ba\u011flamda size tekrar sunulmas\u0131 gerekti\u011fini de y\u00f6netir.<\/p>\n<p>Bu botlar, \u00e7e\u015fitli \u015fekillerde bize yard\u0131mc\u0131 olabilir:<\/p>\n<ul>\n<li><strong>S\u00fcrekli \u00d6\u011frenme ve Bilgi Peki\u015ftirme:<\/strong> Yeni bir dil \u00f6\u011frenirken, bir programlama dili \u00fczerine \u00e7al\u0131\u015f\u0131rken veya belirli bir konuda uzmanla\u015fmaya \u00e7al\u0131\u015f\u0131rken, d\u00fczenli tekrarlar hayati \u00f6neme sahiptir. Bot, kaydetti\u011finiz dersleri, makaleleri veya kod \u00f6rneklerini belirli aral\u0131klarla size hat\u0131rlatarak, bilginin uzun s\u00fcreli haf\u0131zan\u0131za yerle\u015fmesine yard\u0131mc\u0131 olur. Bu, &#8220;aral\u0131kl\u0131 tekrar&#8221; (spaced repetition) prensibinin dijital bir uygulamas\u0131d\u0131r.<\/li>\n<li><strong>Verimlilik Art\u0131\u015f\u0131:<\/strong> Art\u0131k \u00f6nemli bir kayna\u011f\u0131 bulmak i\u00e7in yer i\u015faretleri listenizi taramak veya akl\u0131n\u0131zda tutmaya \u00e7al\u0131\u015fmak zorunda kalmazs\u0131n\u0131z. Bot, ihtiyac\u0131n\u0131z olan bilgiyi do\u011fru zamanda size sunar. Bu sayede, odaklanman\u0131z gereken as\u0131l i\u015flere daha fazla zaman ay\u0131rabilirsiniz.<\/li>\n<li><strong>Dijital Da\u011f\u0131n\u0131kl\u0131\u011f\u0131 Azaltma:<\/strong> Yer i\u015faretleri klas\u00f6rlerinizdeki y\u00fczlerce okunmam\u0131\u015f link, zihinsel bir y\u00fck olu\u015fturabilir. Bot, bu y\u0131\u011f\u0131n\u0131 y\u00f6netmenize yard\u0131mc\u0131 olarak, ger\u00e7ekten de\u011ferli olan i\u00e7eriklere odaklanman\u0131z\u0131 sa\u011flar. Hatta, belirli bir s\u00fcre sonra hat\u0131rlat\u0131lan ancak hala okunmayan veya \u00f6nemsiz g\u00f6r\u00fclen i\u00e7erikleri ar\u015fivleme veya silme se\u00e7enekleri sunarak, dijital detoks yapman\u0131za da olanak tan\u0131r.<\/li>\n<li><strong>Ki\u015fiselle\u015ftirilmi\u015f \u00d6\u011frenme Deneyimi:<\/strong> Bot, sizin \u00f6\u011frenme h\u0131z\u0131n\u0131za ve ilgi alanlar\u0131n\u0131za g\u00f6re hat\u0131rlatma s\u0131kl\u0131\u011f\u0131n\u0131 ve i\u00e7eri\u011fini ayarlayabilir. \u00d6rne\u011fin, bir konuya daha az a\u015fina iseniz, o konuyla ilgili hat\u0131rlatmalar\u0131 daha s\u0131k alabilirsiniz. Ya da belirli bir proje \u00fczerinde \u00e7al\u0131\u015f\u0131rken, o projeyle ilgili t\u00fcm kaynaklar\u0131 toplu halde size sunabilir.<\/li>\n<li><strong>Trendleri Takip Etme:<\/strong> Sekt\u00f6r\u00fcn\u00fczdeki geli\u015fmeleri, yeni teknolojileri veya rakiplerinizin hareketlerini takip etmek i\u00e7in kaydetti\u011finiz haberleri ve analizleri bot arac\u0131l\u0131\u011f\u0131yla d\u00fczenli olarak g\u00f6zden ge\u00e7irebilirsiniz. Bu sayede, her zaman g\u00fcncel kal\u0131r ve stratejik kararlar\u0131n\u0131z\u0131 daha bilin\u00e7li bir \u015fekilde alabilirsiniz.<\/li>\n<\/ul>\n<p>\u00d6zetle, hat\u0131rlatma botu, pasif bir depolama mekanizmas\u0131ndan, aktif bir \u00f6\u011frenme ve bilgi y\u00f6netimi arac\u0131na ge\u00e7i\u015f yapman\u0131z\u0131 sa\u011flar. Bu bot sayesinde, kaydetti\u011finiz her bir yer i\u015fareti, potansiyel bir bilgi hazinesine d\u00f6n\u00fc\u015ferek, ki\u015fisel ve profesyonel geli\u015fiminize somut katk\u0131lar sunar.<\/p>\n<h3>Kendi Hat\u0131rlatma Botunuzu Ad\u0131m Ad\u0131m \u0130n\u015fa Etmek: Temel Mimari<\/h3>\n<p>Kendi hat\u0131rlatma botunuzu in\u015fa etmek, d\u00fc\u015f\u00fcnd\u00fc\u011f\u00fcn\u00fczden daha kolay olabilir. Bu s\u00fcre\u00e7, temel programlama bilgisi ve biraz merakla \u00fcstesinden gelinebilecek bir dizi ad\u0131mdan olu\u015fur. Botun temel mimarisi genellikle \u00fc\u00e7 ana bile\u015fenden olu\u015fur: bir veri taban\u0131 (database) yer i\u015faretlerinizi depolamak i\u00e7in, bir zamanlay\u0131c\u0131 (scheduler) hat\u0131rlatmalar\u0131 tetiklemek i\u00e7in ve bir bildirim mekanizmas\u0131 (notification mechanism) size ula\u015fmak i\u00e7in. Bu \u00fc\u00e7 bile\u015fen, botunuzun sorunsuz bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<\/p>\n<h4>Veri Taban\u0131 Tasar\u0131m\u0131: Yer \u0130\u015faretlerinizi Nerede Saklayacaks\u0131n\u0131z?<\/h4>\n<p>Botunuzun ilk ve en kritik ad\u0131m\u0131, yer i\u015faretlerinizi g\u00fcvenli ve d\u00fczenli bir \u015fekilde saklayacak bir veri taban\u0131 olu\u015fturmakt\u0131r. \u00c7o\u011fu ki\u015fisel proje i\u00e7in SQLite gibi hafif ve dosya tabanl\u0131 bir veri taban\u0131 yeterli olacakt\u0131r. SQLite, kurulumu kolayd\u0131r ve Python gibi dillerle m\u00fckemmel bir uyum i\u00e7indedir.<\/p>\n<p>Veri taban\u0131n\u0131zda her bir yer i\u015fareti i\u00e7in a\u015fa\u011f\u0131daki bilgileri tutman\u0131z \u00f6nemlidir:<\/p>\n<ul>\n<li><code>id<\/code>: Her yer i\u015faretini benzersiz k\u0131lan birincil anahtar.<\/li>\n<li><code>url<\/code>: Kaydedilen web sayfas\u0131n\u0131n URL adresi.<\/li>\n<li><code>title<\/code>: Web sayfas\u0131n\u0131n ba\u015fl\u0131\u011f\u0131 (otomatik olarak \u00e7ekilebilir veya manuel girilebilir).<\/li>\n<li><code>notes<\/code>: Yer i\u015fareti hakk\u0131nda ki\u015fisel notlar\u0131n\u0131z veya neden kaydetti\u011finize dair k\u0131sa bir a\u00e7\u0131klama.<\/li>\n<li><code>added_date<\/code>: Yer i\u015faretinin ne zaman eklendi\u011fi.<\/li>\n<li><code>last_reminded<\/code>: En son ne zaman hat\u0131rlat\u0131ld\u0131\u011f\u0131.<\/li>\n<li><code>remind_interval<\/code>: Hat\u0131rlatma s\u0131kl\u0131\u011f\u0131 (\u00f6rne\u011fin, 1 g\u00fcn, 3 g\u00fcn, 7 g\u00fcn, 30 g\u00fcn).<\/li>\n<li><code>remind_count<\/code>: Ka\u00e7 kez hat\u0131rlat\u0131ld\u0131\u011f\u0131.<\/li>\n<li><code>is_active<\/code>: Yer i\u015faretinin hala aktif olup olmad\u0131\u011f\u0131 (silmek yerine pasif hale getirme).<\/li>\n<\/ul>\n<p>\u00d6rnek bir SQL tablo olu\u015fturma komutu \u015f\u00f6yle olabilir:<\/p>\n<div class=\"code-container\">\n<pre><code>\nCREATE TABLE bookmarks (\n    id INTEGER PRIMARY KEY AUTOINCREMENT,\n    url TEXT NOT NULL,\n    title TEXT,\n    notes TEXT,\n    added_date TEXT NOT NULL,\n    last_reminded TEXT,\n    remind_interval INTEGER DEFAULT 1,\n    remind_count INTEGER DEFAULT 0,\n    is_active BOOLEAN DEFAULT 1\n);\n  <\/code><\/pre>\n<\/div>\n<p>Bu tablo yap\u0131s\u0131, yer i\u015faretlerinizi etkili bir \u015fekilde y\u00f6netmenize olanak tan\u0131r. Python&#8217;da <code>sqlite3<\/code> mod\u00fcl\u00fc ile bu veri taban\u0131na kolayca ba\u011flanabilir ve i\u015flemler yapabilirsiniz.<\/p>\n<h4>Botun Kalbi: Hat\u0131rlatma Mant\u0131\u011f\u0131n\u0131 Kodlamak (Python \u00d6rne\u011fi)<\/h4>\n<p>Veri taban\u0131n\u0131z\u0131 olu\u015fturduktan sonra, botunuzun temel i\u015flevini yerine getirecek hat\u0131rlatma mant\u0131\u011f\u0131n\u0131 kodlaman\u0131z gerekir. Bu k\u0131s\u0131m, hangi yer i\u015faretinin ne zaman hat\u0131rlat\u0131laca\u011f\u0131na karar veren algoritmay\u0131 i\u00e7erir. Python, bu t\u00fcr otomasyon g\u00f6revleri i\u00e7in harika bir se\u00e7imdir.<\/p>\n<p>Temel mant\u0131k \u015f\u00f6yledir:<\/p>\n<p>1.  Veri taban\u0131ndan aktif olan t\u00fcm yer i\u015faretlerini \u00e7ek.<br \/>\n2.  Her yer i\u015faretinin <code>last_reminded<\/code> tarihine ve <code>remind_interval<\/code> de\u011ferine bakarak, hat\u0131rlatma zaman\u0131n\u0131n gelip gelmedi\u011fini kontrol et.<br \/>\n3.  Hat\u0131rlatma zaman\u0131 gelen yer i\u015faretlerini bir listeye ekle.<br \/>\n4.  Bu listedeki yer i\u015faretleri i\u00e7in bildirim g\u00f6nder.<br \/>\n5.  Bildirim g\u00f6nderilen yer i\u015faretlerinin <code>last_reminded<\/code> tarihini g\u00fcncelleyip <code>remind_count<\/code> de\u011ferini art\u0131r.<\/p>\n<p>Bu s\u00fcreci d\u00fczenli aral\u0131klarla (\u00f6rne\u011fin g\u00fcnde bir kez) \u00e7al\u0131\u015ft\u0131rmak i\u00e7in bir zamanlay\u0131c\u0131ya ihtiyac\u0131n\u0131z olacak. Python&#8217;da <code>APScheduler<\/code> gibi k\u00fct\u00fcphaneler bu konuda olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r. Basit bir \u00f6rnekle, her g\u00fcn belirli bir saatte \u00e7al\u0131\u015fan bir i\u015f tan\u0131mlayabiliriz:<\/p>\n<div class=\"code-container\">\n<pre><code>\nfrom apscheduler.schedulers.blocking import BlockingScheduler\nfrom datetime import datetime, timedelta\nimport sqlite3\n\n# Veri taban\u0131 ba\u011flant\u0131s\u0131\nconn = sqlite3.connect('bookmarks.db')\ncursor = conn.cursor()\n\ndef check_and_remind():\n    print(f\"Hat\u0131rlatma kontrol\u00fc ba\u015flat\u0131ld\u0131: {datetime.now()}\")\n    \n    cursor.execute(\"SELECT id, url, title, last_reminded, remind_interval FROM bookmarks WHERE is_active = 1\")\n    bookmarks = cursor.fetchall()\n\n    for bookmark_id, url, title, last_reminded_str, remind_interval in bookmarks:\n        if last_reminded_str:\n            last_reminded = datetime.strptime(last_reminded_str, '%Y-%m-%d %H:%M:%S')\n            # Bir sonraki hat\u0131rlatma zaman\u0131n\u0131 hesapla\n            next_remind_time = last_reminded + timedelta(days=remind_interval)\n            \n            if datetime.now() >= next_remind_time:\n                # Bildirim g\u00f6nderme fonksiyonunu \u00e7a\u011f\u0131r (bir sonraki b\u00f6l\u00fcmde detayland\u0131r\u0131lacak)\n                send_notification(url, title) \n                \n                # Veri taban\u0131n\u0131 g\u00fcncelle\n                cursor.execute(\"\"\"\n                    UPDATE bookmarks \n                    SET last_reminded = ?, remind_count = remind_count + 1 \n                    WHERE id = ?\n                \"\"\", (datetime.now().strftime('%Y-%m-%d %H:%M:%S'), bookmark_id))\n                conn.commit()\n        else:\n            # Hen\u00fcz hi\u00e7 hat\u0131rlat\u0131lmam\u0131\u015fsa, hemen hat\u0131rlat ve ilk kayd\u0131 yap\n            send_notification(url, title)\n            cursor.execute(\"\"\"\n                UPDATE bookmarks \n                SET last_reminded = ?, remind_count = 1 \n                WHERE id = ?\n            \"\"\", (datetime.now().strftime('%Y-%m-%d %H:%M:%S'), bookmark_id))\n            conn.commit()\n            \n    print(\"Hat\u0131rlatma kontrol\u00fc tamamland\u0131.\")\n\ndef send_notification(url, title):\n    # Bu fonksiyon, se\u00e7ti\u011finiz bildirim platformuna g\u00f6re doldurulacakt\u0131r.\n    print(f\"HATIRLATMA: '{title}' - {url}\")\n    # \u00d6rne\u011fin, Telegram'a mesaj g\u00f6nderme kodu buraya gelecek.\n\nscheduler = BlockingScheduler()\n# Her g\u00fcn sabah 9'da \u00e7al\u0131\u015facak \u015fekilde ayarla\nscheduler.add_job(check_and_remind, 'cron', hour=9)\n\ntry:\n    scheduler.start()\nexcept (KeyboardInterrupt, SystemExit):\n    pass\nfinally:\n    conn.close()\n  <\/code><\/pre>\n<\/div>\n<p>Yukar\u0131daki kod par\u00e7as\u0131, botunuzun temel hat\u0131rlatma d\u00f6ng\u00fcs\u00fcn\u00fc olu\u015fturur. <code>send_notification<\/code> fonksiyonunu kendi tercih etti\u011finiz bildirim mekanizmas\u0131na g\u00f6re \u00f6zelle\u015ftirmeniz gerekecektir.<\/p>\n<h4>Bildirim Mekanizmalar\u0131: Botunuz Size Nas\u0131l Ula\u015facak?<\/h4>\n<p>Botunuzun en g\u00f6r\u00fcn\u00fcr k\u0131sm\u0131, hat\u0131rlatmalar\u0131 size ula\u015ft\u0131ran bildirim mekanizmas\u0131d\u0131r. Bu, botunuzun kullan\u0131c\u0131 deneyimini do\u011frudan etkileyen bir bile\u015fendir. Bir\u00e7ok farkl\u0131 platformu kullanabilirsiniz, ancak en pop\u00fcler ve kolay entegre edilebilir olanlardan baz\u0131lar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Telegram:<\/strong> Kendi Telegram botunuzu olu\u015fturmak olduk\u00e7a kolayd\u0131r. BotFather ile bir bot token&#8217;\u0131 al\u0131p, <code>python-telegram-bot<\/code> k\u00fct\u00fcphanesi ile mesaj g\u00f6nderebilirsiniz. Anl\u0131k bildirimler i\u00e7in idealdir.<\/li>\n<li><strong>E-posta:<\/strong> Geleneksel ancak etkili bir y\u00f6ntemdir. Python&#8217;\u0131n <code>smtplib<\/code> mod\u00fcl\u00fc ile e-posta g\u00f6nderebilirsiniz. Daha uzun \u00f6zetler veya haftal\u0131k raporlar i\u00e7in uygundur.<\/li>\n<li><strong>Discord:<\/strong> \u00d6zellikle oyun veya geli\u015ftirici topluluklar\u0131nda yayg\u0131n olarak kullan\u0131l\u0131r. Discord webhook&#8217;lar\u0131 veya bot API&#8217;si arac\u0131l\u0131\u011f\u0131yla mesaj g\u00f6nderebilirsiniz.<\/li>\n<li><strong>Slack:<\/strong> \u0130\u015f ve ekip ileti\u015fimi i\u00e7in pop\u00fclerdir. Slack API&#8217;si veya gelen webhook&#8217;lar ile entegrasyon sa\u011flayabilirsiniz.<\/li>\n<\/ul>\n<p>Bir Telegram botu ile bildirim g\u00f6nderme \u00f6rne\u011fi:<\/p>\n<p>\u00d6ncelikle <code>python-telegram-bot<\/code> k\u00fct\u00fcphanesini kurman\u0131z gerekir: <code>pip install python-telegram-bot<\/code>.<\/p>\n<p>Ard\u0131ndan, <code>send_notification<\/code> fonksiyonunu a\u015fa\u011f\u0131daki gibi g\u00fcncelleyebilirsiniz:<\/p>\n<div class=\"code-container\">\n<pre><code>\nimport telegram\n\n# Bot token'\u0131n\u0131z\u0131 ve chat ID'nizi buraya girin\nTELEGRAM_BOT_TOKEN = \"YOUR_TELEGRAM_BOT_TOKEN\"\nTELEGRAM_CHAT_ID = \"YOUR_TELEGRAM_CHAT_ID\" # Kendi chat ID'nizi bulman\u0131z gerekecek\n\ndef send_notification(url, title):\n    try:\n        bot = telegram.Bot(token=TELEGRAM_BOT_TOKEN)\n        message = f\"Hat\u0131rlatma: '{title}'\\nLink: {url}\\n\\nUnutmay\u0131n, bilgi payla\u015ft\u0131k\u00e7a \u00e7o\u011fal\u0131r!\"\n        bot.send_message(chat_id=TELEGRAM_CHAT_ID, text=message)\n        print(f\"Telegram'a hat\u0131rlatma g\u00f6nderildi: {title}\")\n    except Exception as e:\n        print(f\"Telegram mesaj\u0131 g\u00f6nderilirken hata olu\u015ftu: {e}\")\n  <\/code><\/pre>\n<\/div>\n<p><code>TELEGRAM_CHAT_ID<\/code>&#8216;nizi bulmak i\u00e7in, olu\u015fturdu\u011funuz bota bir mesaj g\u00f6nderin ve ard\u0131ndan <code>https:\/\/api.telegram.org\/bot[YOUR_BOT_TOKEN]\/getUpdates<\/code> adresine giderek JSON \u00e7\u0131kt\u0131s\u0131ndaki <code>chat<\/code> objesinin <code>id<\/code> de\u011ferini bulun. Bu sayede, botunuz ki\u015fisel asistan\u0131n\u0131z gibi \u00e7al\u0131\u015farak, \u00f6nemli g\u00f6rd\u00fc\u011f\u00fcn\u00fcz i\u00e7erikleri do\u011frudan size iletecektir.<\/p>\n<h3>Botunuzu Daha Ak\u0131ll\u0131 Hale Getirmek: \u0130leri D\u00fczey \u00d6zellikler<\/h3>\n<p>Temel bir hat\u0131rlatma botu bile olduk\u00e7a faydal\u0131 olabilirken, onu daha ak\u0131ll\u0131 hale getirmek, ki\u015fiselle\u015ftirilmi\u015f bir \u00f6\u011frenme ve bilgi y\u00f6netimi deneyimi sunar. Yapay zeka (AI) ve makine \u00f6\u011frenimi (ML) tekniklerini entegre ederek, botunuzun sadece hat\u0131rlatmakla kalmay\u0131p, ayn\u0131 zamanda i\u00e7eri\u011fi anlamas\u0131n\u0131 ve sizinle etkile\u015fim kurmas\u0131n\u0131 sa\u011flayabilirsiniz.<\/p>\n<h4>\u0130\u00e7erik Analizi ve Etiketleme: NLP ile Yer \u0130\u015faretlerinizi Anlamak<\/h4>\n<p>Botunuzun sadece URL&#8217;leri de\u011fil, ayn\u0131 zamanda bu URL&#8217;lerin i\u00e7eriklerini de anlamas\u0131, hat\u0131rlatma s\u00fcrecini \u00e7ok daha verimli hale getirebilir. Do\u011fal Dil \u0130\u015fleme (NLP) teknikleri kullanarak, kaydetti\u011finiz makalelerin ana konular\u0131n\u0131, anahtar kelimelerini veya \u00f6zetlerini \u00e7\u0131karabilirsiniz. Bu sayede, botunuz size hat\u0131rlatma yaparken, i\u00e7eri\u011fin ne hakk\u0131nda oldu\u011funu da belirtebilir veya benzer konular\u0131 grupland\u0131rabilir.<\/p>\n<p>Ad\u0131mlar \u015f\u00f6yle olabilir:<\/p>\n<p>1.  <strong>Web Sayfas\u0131 \u0130\u00e7eri\u011fini \u00c7ekme:<\/strong> <code>requests<\/code> ve <code>BeautifulSoup<\/code> gibi Python k\u00fct\u00fcphaneleri kullanarak URL&#8217;deki HTML i\u00e7eri\u011fini \u00e7ekin ve metni ay\u0131klay\u0131n.<br \/>\n2.  <strong>Metin Temizleme:<\/strong> \u00c7ekilen metinden HTML etiketlerini, gereksiz bo\u015fluklar\u0131 ve \u00f6zel karakterleri temizleyin.<br \/>\n3.  <strong>Anahtar Kelime \u00c7\u0131karma:<\/strong> <code>NLTK<\/code> (Natural Language Toolkit) veya <code>SpaCy<\/code> gibi NLP k\u00fct\u00fcphaneleri ile metinden anahtar kelimeler veya ana konular\u0131 (topic modeling) \u00e7\u0131kar\u0131n. \u00d6rne\u011fin, <code>TF-IDF<\/code> (Term Frequency-Inverse Document Frequency) algoritmalar\u0131 bu konuda yard\u0131mc\u0131 olabilir.<br \/>\n4.  <strong>Otomatik Etiketleme:<\/strong> \u00c7\u0131kar\u0131lan anahtar kelimeleri veya konular\u0131 yer i\u015faretinize etiket olarak ekleyin. Bu etiketler, daha sonra belirli bir konudaki t\u00fcm yer i\u015faretlerini bulman\u0131z\u0131 veya botun size sadece belirli etiketlere sahip i\u00e7erikleri hat\u0131rlatmas\u0131n\u0131 sa\u011flayabilir.<\/p>\n<p>\u00d6rnek bir metinden anahtar kelime \u00e7\u0131karma (basit bir yakla\u015f\u0131m):<\/p>\n<div class=\"code-container\">\n<pre><code>\nfrom collections import Counter\nimport re\n\ndef extract_keywords(text, num_keywords=5):\n    # Metni k\u00fc\u00e7\u00fck harfe \u00e7evir ve noktalama i\u015faretlerini kald\u0131r\n    text = text.lower()\n    text = re.sub(r'[^\\w\\s]', '', text) # Alfabetik olmayan karakterleri kald\u0131r\n\n    words = text.split()\n    # \u00c7ok s\u0131k kullan\u0131lan kelimeleri (stop words) filtrele (\u00f6rne\u011fin 'bir', 've', 'ile' vb.)\n    # Bu k\u0131sm\u0131 daha geli\u015fmi\u015f bir stop word listesi ile geni\u015fletebilirsiniz.\n    stop_words = [\"bir\", \"ve\", \"ile\", \"i\u00e7in\", \"bu\", \"o\", \"da\", \"de\", \"mi\", \"m\u0131\"] \n    filtered_words = [word for word in words if word not in stop_words and len(word) > 2]\n\n    # Kelime s\u0131kl\u0131klar\u0131n\u0131 say\n    word_counts = Counter(filtered_words)\n    \n    # En s\u0131k ge\u00e7en kelimeleri d\u00f6nd\u00fcr\n    return [word for word, count in word_counts.most_common(num_keywords)]\n\n# Kullan\u0131m \u00f6rne\u011fi\nsample_text = \"Bu makale, yapay zeka ve makine \u00f6\u011frenimi konular\u0131nda derinlemesine bilgi sunmaktad\u0131r. Yapay zeka gelece\u011fin teknolojisidir.\"\nkeywords = extract_keywords(sample_text)\nprint(f\"\u00c7\u0131kar\u0131lan anahtar kelimeler: {keywords}\") # \u00c7\u0131kar\u0131lan anahtar kelimeler: ['yapay', 'zeka', 'makine', '\u00f6\u011frenimi', 'konular\u0131nda']\n  <\/code><\/pre>\n<\/div>\n<p>Bu sayede, botunuz bir hat\u0131rlatma g\u00f6nderdi\u011finde, &#8220;Yapay zeka ile ilgili bu makaleyi okumak ister misiniz?&#8221; gibi daha ba\u011flamsal mesajlar olu\u015fturabilir.<\/p>\n<h4>Kullan\u0131c\u0131 Geri Bildirimleriyle \u00d6\u011frenme: Adaptif Hat\u0131rlatma Aral\u0131klar\u0131<\/h4>\n<p>Botunuzu ger\u00e7ekten ak\u0131ll\u0131 k\u0131lan bir di\u011fer \u00f6zellik, kullan\u0131c\u0131 geri bildirimlerinden \u00f6\u011frenmesidir. Her hat\u0131rlatma sonras\u0131, bot size &#8220;Bu i\u00e7erik hala sizin i\u00e7in faydal\u0131 m\u0131yd\u0131?&#8221;, &#8220;Tekrar ne zaman hat\u0131rlatmam\u0131 istersiniz?&#8221; veya &#8220;Bu konuyu ne kadar anlad\u0131n\u0131z?&#8221; gibi sorular sorabilir. Bu geri bildirimler, botun hat\u0131rlatma aral\u0131klar\u0131n\u0131 ve hatta hangi i\u00e7eriklere \u00f6ncelik vermesi gerekti\u011fini dinamik olarak ayarlamas\u0131na olanak tan\u0131r.<\/p>\n<p>\u00d6rne\u011fin:<\/p>\n<p>*   E\u011fer bir i\u00e7eri\u011fi &#8220;\u00c7ok iyi anlad\u0131m&#8221; olarak i\u015faretlerseniz, bot o i\u00e7erik i\u00e7in hat\u0131rlatma s\u0131kl\u0131\u011f\u0131n\u0131 azaltabilir veya bir sonraki hat\u0131rlatma aral\u0131\u011f\u0131n\u0131 uzatabilir.<br \/>\n*   E\u011fer &#8220;Tekrar bakmam gerek&#8221; derseniz, bot hat\u0131rlatma s\u0131kl\u0131\u011f\u0131n\u0131 art\u0131rabilir.<br \/>\n*   E\u011fer bir i\u00e7eri\u011fi &#8220;Art\u0131k ilgilenmiyorum&#8221; olarak i\u015faretlerseniz, bot o yer i\u015faretini pasif hale getirebilir veya ar\u015fivleyebilir.<\/p>\n<p>Bu adaptif \u00f6\u011frenme mekanizmas\u0131, botunuzu ki\u015fiselle\u015ftirilmi\u015f bir e\u011fitim asistan\u0131na d\u00f6n\u00fc\u015ft\u00fcr\u00fcr. Veri taban\u0131n\u0131za <code>user_feedback<\/code> gibi bir alan ekleyerek bu bilgileri saklayabilir ve botun algoritmas\u0131n\u0131 bu verilere g\u00f6re g\u00fcncelleyebilirsiniz. Bu yakla\u015f\u0131m, &#8220;aral\u0131kl\u0131 tekrar&#8221; (spaced repetition) sistemlerinin temelini olu\u015fturur ve bilginin kal\u0131c\u0131 hale gelmesinde bilimsel olarak kan\u0131tlanm\u0131\u015f bir etkiye sahiptir. Makine \u00f6\u011frenimi algoritmalar\u0131, zamanla sizin \u00f6\u011frenme paternlerinizi analiz ederek en uygun hat\u0131rlatma zamanlar\u0131n\u0131 tahmin edebilir.<\/p>\n<h3>Ger\u00e7ek D\u00fcnya Senaryolar\u0131: Hat\u0131rlatma Botu Kullan\u0131m Alanlar\u0131<\/h3>\n<p>Hat\u0131rlatma botu, sadece bireysel \u00f6\u011frenme s\u00fcre\u00e7leri i\u00e7in de\u011fil, ayn\u0131 zamanda \u00e7e\u015fitli profesyonel ve ki\u015fisel senaryolarda da b\u00fcy\u00fck faydalar sa\u011flayabilir. \u0130\u015fte bu botun g\u00fcnl\u00fck hayat\u0131m\u0131zda nas\u0131l bir fark yaratabilece\u011fine dair baz\u0131 ger\u00e7ek d\u00fcnya \u00f6rnekleri:<\/p>\n<ul>\n<li><strong>Yaz\u0131l\u0131m Geli\u015ftiriciler \u0130\u00e7in S\u00fcrekli \u00d6\u011frenme:<\/strong> Bir yaz\u0131l\u0131m geli\u015ftiricisi, yeni bir framework (yaz\u0131l\u0131m \u00e7er\u00e7evesi) \u00f6\u011frenirken veya belirli bir programlama dili i\u00e7in en iyi uygulamalar\u0131 ara\u015ft\u0131r\u0131rken bir\u00e7ok makale, blog yaz\u0131s\u0131 ve kod \u00f6rne\u011fi kaydeder. Hat\u0131rlatma botu, bu kaynaklar\u0131 d\u00fczenli aral\u0131klarla geli\u015ftiricinin \u00f6n\u00fcne \u00e7\u0131kararak, \u00f6\u011frenilen bilgilerin peki\u015fmesini sa\u011flar. \u00d6rne\u011fin, <code>Python<\/code>&#8216;da asenkron programlama \u00fczerine kaydedilen bir makale, bot taraf\u0131ndan birka\u00e7 g\u00fcn sonra tekrar hat\u0131rlat\u0131ld\u0131\u011f\u0131nda, geli\u015ftirici bu konudaki bilgilerini tazeleyebilir veya unuttu\u011fu detaylar\u0131 tekrar g\u00f6zden ge\u00e7irebilir. Bu sayede, &#8220;daha sonra bakar\u0131m&#8221; denilen y\u00fczlerce sekme yerine, ger\u00e7ekten \u00f6\u011frenilen ve uygulanan bilgilere sahip olunur.<\/li>\n<li><strong>Ara\u015ft\u0131rmac\u0131lar ve Akademisyenler \u0130\u00e7in Kaynak Y\u00f6netimi:<\/strong> Akademisyenler ve ara\u015ft\u0131rmac\u0131lar, s\u00fcrekli olarak yeni bilimsel makaleler, tezler ve ara\u015ft\u0131rma raporlar\u0131 okur ve kaydederler. Bu bot, kaydedilen makalelerin \u00f6zetlerini veya anahtar bulgular\u0131n\u0131 belirli periyotlarla hat\u0131rlatarak, ara\u015ft\u0131rmac\u0131lar\u0131n literat\u00fcr taramas\u0131n\u0131 g\u00fcncel tutmalar\u0131na ve \u00f6nemli bilgileri g\u00f6zden ka\u00e7\u0131rmamalar\u0131na yard\u0131mc\u0131 olur. \u00d6zellikle uzun s\u00fcreli projelerde, botun sundu\u011fu bu d\u00fczenli hat\u0131rlatmalar, daha \u00f6nce okunan ancak detaylar\u0131 unutulan \u00e7al\u0131\u015fmalar\u0131n yeniden g\u00fcndeme gelmesini sa\u011flayarak, ara\u015ft\u0131rmac\u0131n\u0131n genel bilgi birikimini g\u00fc\u00e7lendirir.<\/li>\n<li><strong>Pazarlamac\u0131lar ve Trend Takip\u00e7ileri \u0130\u00e7in Rekabet Analizi:<\/strong> Dijital pazarlama d\u00fcnyas\u0131 s\u00fcrekli de\u011fi\u015fiyor. Yeni algoritmalar, trendler ve rakip stratejileri ortaya \u00e7\u0131k\u0131yor. Bir pazarlamac\u0131, sekt\u00f6r raporlar\u0131n\u0131, rakip analizlerini veya yeni pazarlama teknikleri hakk\u0131ndaki makaleleri kaydetti\u011finde, bot bu bilgileri d\u00fczenli olarak hat\u0131rlat\u0131r. Bu sayede, pazarlamac\u0131 her zaman g\u00fcncel kal\u0131r, stratejilerini buna g\u00f6re ayarlayabilir ve rekabet avantaj\u0131n\u0131 koruyabilir. \u00d6rne\u011fin, SEO&#8217;daki yeni bir algoritma de\u011fi\u015fikli\u011fi hakk\u0131nda kaydedilen bir makale, bot taraf\u0131ndan haftal\u0131k olarak hat\u0131rlat\u0131ld\u0131\u011f\u0131nda, pazarlamac\u0131 bu konuda s\u00fcrekli bilgi sahibi olur ve kendi sitelerini optimize etme f\u0131rsat\u0131n\u0131 ka\u00e7\u0131rmaz.<\/li>\n<li><strong>Ki\u015fisel Geli\u015fim ve Hobiler \u0130\u00e7in \u00d6\u011frenme Asistan\u0131:<\/strong> Yeni bir enstr\u00fcman \u00e7almay\u0131 \u00f6\u011frenen biri, egzersiz rutinleri veya sa\u011fl\u0131kl\u0131 ya\u015fam tarifleri kaydeden bir birey i\u00e7in de bot olduk\u00e7a faydal\u0131d\u0131r. Gitar akorlar\u0131, yoga pozlar\u0131 veya yeni yemek tarifleri, bot taraf\u0131ndan d\u00fczenli olarak hat\u0131rlat\u0131larak, \u00f6\u011frenme ve uygulama s\u00fcre\u00e7lerini destekler. Bu, ki\u015fisel hedeflere ula\u015fmada ve yeni beceriler kazanmada motivasyonu art\u0131r\u0131r.<\/li>\n<\/ul>\n<p>Bu senaryolar, hat\u0131rlatma botunun sadece teknik bir ara\u00e7 olman\u0131n \u00f6tesinde, ki\u015fisel ve profesyonel hayat\u0131m\u0131zda nas\u0131l somut faydalar sa\u011flayabilece\u011fini g\u00f6stermektedir. Bilgiyi pasif bir \u015fekilde depolamak yerine, aktif bir \u015fekilde i\u015flemek ve peki\u015ftirmek, botun temel amac\u0131d\u0131r.<\/p>\n<h3>Sonu\u00e7: Dijital Bilgi Y\u00f6netiminde Yeni Bir D\u00f6nem<\/h3>\n<p>Dijital d\u00fcnyada bilgiye eri\u015fimin kolayl\u0131\u011f\u0131, beraberinde bilgiyi y\u00f6netme zorlu\u011funu da getirmektedir. Kaydetti\u011fimiz ancak asla d\u00f6n\u00fcp bakmad\u0131\u011f\u0131m\u0131z yer i\u015faretleri, asl\u0131nda potansiyel \u00f6\u011frenme ve geli\u015fim f\u0131rsatlar\u0131n\u0131 ka\u00e7\u0131rd\u0131\u011f\u0131m\u0131z\u0131n bir g\u00f6stergesidir. Bu makalede ele ald\u0131\u011f\u0131m\u0131z ak\u0131ll\u0131 hat\u0131rlatma botu, bu soruna g\u00fc\u00e7l\u00fc ve ki\u015fiselle\u015ftirilmi\u015f bir \u00e7\u00f6z\u00fcm sunmaktad\u0131r. Kendi botunuzu in\u015fa ederek, pasif bir bilgi depolay\u0131c\u0131s\u0131 olmaktan \u00e7\u0131k\u0131p, aktif bir \u00f6\u011frenme ve bilgi peki\u015ftirme s\u00fcrecine dahil olabilirsiniz. Veri taban\u0131 tasar\u0131m\u0131, hat\u0131rlatma mant\u0131\u011f\u0131n\u0131n kodlanmas\u0131 ve \u00e7e\u015fitli bildirim mekanizmalar\u0131yla, botunuzu tamamen kendi ihtiya\u00e7lar\u0131n\u0131za g\u00f6re \u015fekillendirebilirsiniz. Hatta, do\u011fal dil i\u015fleme ve kullan\u0131c\u0131 geri bildirimlerinden \u00f6\u011frenme gibi ileri d\u00fczey \u00f6zelliklerle botunuzu daha da ak\u0131ll\u0131 hale getirerek, ki\u015fisel bir \u00f6\u011frenme asistan\u0131na d\u00f6n\u00fc\u015ft\u00fcrebilirsiniz. Unutmay\u0131n, bilgiye sahip olmak de\u011fil, onu i\u015flemek ve hat\u0131rlamak ger\u00e7ek g\u00fcc\u00fc verir. Bu bot, dijital bilgi y\u00f6netiminde yeni bir d\u00f6nemin kap\u0131lar\u0131n\u0131 aral\u0131yor ve kaydetti\u011finiz her bir bilginin ger\u00e7ekten de\u011ferini bulmas\u0131n\u0131 sa\u011fl\u0131yor.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<ol>\n<li>\n<h4>Botu kurmak i\u00e7in programlama bilgisi \u015fart m\u0131?<\/h4>\n<p>Temel d\u00fczeyde Python programlama bilgisi, botun kurulumu ve \u00f6zelle\u015ftirilmesi i\u00e7in faydal\u0131 olacakt\u0131r. Ancak, yukar\u0131daki \u00f6rnekleri ad\u0131m ad\u0131m takip ederek ve biraz ara\u015ft\u0131rma yaparak programlama deneyimi olmayan ki\u015filer de basit bir bot kurabilir. Daha ileri d\u00fczey \u00f6zellikler (NLP, adaptif aral\u0131klar) i\u00e7in orta seviye programlama bilgisi gerekebilir.<\/p>\n<\/li>\n<li>\n<h4>Hangi platformlarda \u00e7al\u0131\u015f\u0131r?<\/h4>\n<p>Bot, Python ile yaz\u0131ld\u0131\u011f\u0131 i\u00e7in Windows, macOS veya Linux gibi herhangi bir i\u015fletim sisteminde \u00e7al\u0131\u015fabilir. Genellikle bir sunucuda (\u00f6rne\u011fin, bir Raspberry Pi veya bulut tabanl\u0131 bir sanal sunucu) s\u00fcrekli \u00e7al\u0131\u015facak \u015fekilde yap\u0131land\u0131r\u0131l\u0131r. Bildirimler ise Telegram, e-posta, Discord veya Slack gibi farkl\u0131 platformlara g\u00f6nderilebilir.<\/p>\n<\/li>\n<li>\n<h4>Veri g\u00fcvenli\u011fi nas\u0131l sa\u011flan\u0131r?<\/h4>\n<p>Bu botu kendi yerel bilgisayar\u0131n\u0131zda veya kendi kontrol\u00fcn\u00fczdeki bir sunucuda \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131z i\u00e7in, verilerinizin g\u00fcvenli\u011fi tamamen sizin sorumlulu\u011funuzdad\u0131r. SQLite veri taban\u0131 dosyan\u0131z\u0131 g\u00fcvenli bir yerde saklaman\u0131z ve sunucunuzun g\u00fcvenli\u011fini sa\u011flaman\u0131z \u00f6nemlidir. Hassas bilgiler (\u00f6rne\u011fin, \u015fifreler) depolamaktan ka\u00e7\u0131nmal\u0131 veya bunlar\u0131 \u015fifrelemelisiniz. Telegram gibi platformlarda bot token&#8217;\u0131n\u0131z\u0131 kimseyle payla\u015fmamal\u0131s\u0131n\u0131z.<\/p>\n<\/li>\n<li>\n<h4>Botu \u00f6zelle\u015ftirebilir miyim?<\/h4>\n<p>Kesinlikle! Bu botun en b\u00fcy\u00fck avantaj\u0131, tamamen a\u00e7\u0131k kaynakl\u0131 ve ki\u015fiselle\u015ftirilebilir olmas\u0131d\u0131r. Hat\u0131rlatma aral\u0131klar\u0131n\u0131, bildirim mesajlar\u0131n\u0131, veri taban\u0131 alanlar\u0131n\u0131 ve hatta botun size hat\u0131rlataca\u011f\u0131 i\u00e7erik t\u00fcrlerini (sadece makaleler, videolar, kod \u00f6rnekleri vb.) kendi ihtiya\u00e7lar\u0131n\u0131za g\u00f6re ayarlayabilirsiniz. Kullan\u0131c\u0131 aray\u00fcz\u00fc ekleyebilir, web sayfalar\u0131n\u0131 otomatik \u00f6zetleyebilir veya di\u011fer uygulamalarla entegre edebilirsiniz.<\/p>\n<\/li>\n<li>\n<h4>Bot sadece URL mi hat\u0131rlat\u0131r, yoksa ba\u015fka i\u00e7erikleri de i\u015fleyebilir mi?<\/h4>\n<p>Temel olarak URL&#8217;leri hat\u0131rlatmak \u00fczere tasarlanm\u0131\u015f olsa da, botunuzu geli\u015ftirerek farkl\u0131 i\u00e7erik t\u00fcrlerini de destekleyebilir hale getirebilirsiniz. \u00d6rne\u011fin, do\u011frudan metin notlar\u0131, resim linkleri, PDF dosyalar\u0131n\u0131n yollar\u0131 veya hatta YouTube video ID&#8217;leri gibi farkl\u0131 veri t\u00fcrlerini veri taban\u0131n\u0131za ekleyip, bildirim mekanizmas\u0131n\u0131 bu i\u00e7eriklere g\u00f6re \u00f6zelle\u015ftirebilirsiniz. \u00d6nemli olan, veri taban\u0131n\u0131zda bu i\u00e7erik t\u00fcrlerini tutmak i\u00e7in uygun alanlar olu\u015fturmak ve botun bu verilere g\u00f6re i\u015flem yapmas\u0131n\u0131 sa\u011flayacak kodlar\u0131 yazmakt\u0131r.<\/p>\n<\/li>\n<\/ol>\n<p>#Yer\u0130\u015faretiBotu #Otomasyon #Verimlilik #BilgiY\u00f6netimi #Python #NLP<\/p>\n<div class=\"github-example-link\"><strong>\u00d6rnek kod:<\/strong> <a href=\"https:\/\/github.com\/fatihsoysalcom\/smart-bookmark-reminder-bot-simulation\" target=\"_blank\" rel=\"noopener noreferrer\">github.com\/fatihsoysalcom\/smart-bookmark-reminder-bot-simulation<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"CREATE TABLE bookmarks ( id INTEGER PRIMARY KEY AUTOINCREMENT, url TEXT NOT NULL, title TEXT, notes TEXT, added_date TEXT NOT NULL, last_reminded TEXT, remind_interval INTEGER DEFAULT 1, remind_count INTEGER DEFAULT 0, is_active BOOLEAN DEFAULT 1 ); Bu tablo yap\u0131s\u0131, yer i\u015faretlerinizi etkili bir \u015fekilde y\u00f6netmenize olanak tan\u0131r.","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-45098","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>Unutulan Yer \u0130\u015faretlerine Son: Ak\u0131ll\u0131 Hat\u0131rlatma Botu Nas\u0131l Yap\u0131l\u0131r? - 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\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Unutulan Yer \u0130\u015faretlerine Son: Ak\u0131ll\u0131 Hat\u0131rlatma Botu Nas\u0131l Yap\u0131l\u0131r?\" \/>\n<meta property=\"og:description\" content=\"CREATE TABLE bookmarks ( id INTEGER PRIMARY KEY AUTOINCREMENT, url TEXT NOT NULL, title TEXT, notes TEXT, added_date TEXT NOT NULL, last_reminded TEXT, remind_interval INTEGER DEFAULT 1, remind_count INTEGER DEFAULT 0, is_active BOOLEAN DEFAULT 1 ); Bu tablo yap\u0131s\u0131, yer i\u015faretlerinizi etkili bir \u015fekilde y\u00f6netmenize olanak tan\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-08T18:10:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-08T18:11:15+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=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Unutulan Yer \u0130\u015faretlerine Son: Ak\u0131ll\u0131 Hat\u0131rlatma Botu Nas\u0131l Yap\u0131l\u0131r?\",\"datePublished\":\"2026-10-08T18:10:39+00:00\",\"dateModified\":\"2026-10-08T18:11:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/\"},\"wordCount\":3409,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/\",\"name\":\"Unutulan Yer \u0130\u015faretlerine Son: Ak\u0131ll\u0131 Hat\u0131rlatma Botu Nas\u0131l Yap\u0131l\u0131r? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-10-08T18:10:39+00:00\",\"dateModified\":\"2026-10-08T18:11:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Unutulan Yer \u0130\u015faretlerine Son: Ak\u0131ll\u0131 Hat\u0131rlatma Botu Nas\u0131l Yap\u0131l\u0131r?\"}]},{\"@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":"Unutulan Yer \u0130\u015faretlerine Son: Ak\u0131ll\u0131 Hat\u0131rlatma Botu Nas\u0131l Yap\u0131l\u0131r? - 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\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/","og_locale":"tr_TR","og_type":"article","og_title":"Unutulan Yer \u0130\u015faretlerine Son: Ak\u0131ll\u0131 Hat\u0131rlatma Botu Nas\u0131l Yap\u0131l\u0131r?","og_description":"CREATE TABLE bookmarks ( id INTEGER PRIMARY KEY AUTOINCREMENT, url TEXT NOT NULL, title TEXT, notes TEXT, added_date TEXT NOT NULL, last_reminded TEXT, remind_interval INTEGER DEFAULT 1, remind_count INTEGER DEFAULT 0, is_active BOOLEAN DEFAULT 1 ); Bu tablo yap\u0131s\u0131, yer i\u015faretlerinizi etkili bir \u015fekilde y\u00f6netmenize olanak tan\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-10-08T18:10:39+00:00","article_modified_time":"2026-10-08T18:11:15+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Unutulan Yer \u0130\u015faretlerine Son: Ak\u0131ll\u0131 Hat\u0131rlatma Botu Nas\u0131l Yap\u0131l\u0131r?","datePublished":"2026-10-08T18:10:39+00:00","dateModified":"2026-10-08T18:11:15+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/"},"wordCount":3409,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/","url":"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/","name":"Unutulan Yer \u0130\u015faretlerine Son: Ak\u0131ll\u0131 Hat\u0131rlatma Botu Nas\u0131l Yap\u0131l\u0131r? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-10-08T18:10:39+00:00","dateModified":"2026-10-08T18:11:15+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/unutulan-yer-isaretlerine-son-akilli-hatirlatma-botu-nasil-yapilir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Unutulan Yer \u0130\u015faretlerine Son: Ak\u0131ll\u0131 Hat\u0131rlatma Botu Nas\u0131l Yap\u0131l\u0131r?"}]},{"@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\/45098","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=45098"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/45098\/revisions"}],"predecessor-version":[{"id":45099,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/45098\/revisions\/45099"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=45098"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=45098"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=45098"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}