![]() |
| Programlama C , C# , C++ , Java , Python , Php , Javascript , Matlab Örnekleri |
| | Seçenekler | Stil |
| | #1 |
| Selam dostlar, herkese keyifli forumlar. Biliyorsunuz forumda mIRC sorunları, script kodları derken hep teknik şeylerle uğraşıyoruz. Bu sefer hem forumumuza canlılık getirecek hem de canınız sıkıldığında Telegram üzerinden lafın belini kırabileceğiniz, kendi geliştirdiğim çok tatlı bir Python projesini sizlerle paylaşmak istedim.Sistem temel olarak bir Telegram Botu. Ancak bunu düz bir bot gibi düşünmeyin; arkasına OpenAI API’sini bağladım ve bota tam bir "eski IRC bağımlısı/gıybetçisi" karakteri yükledim Bot Tam Olarak Ne İş Yapıyor? Yeni bir oyun başlığı açıldığında veya bir hareketlilik olduğunda bunu anında yakalıyor. Yapay Zeka Dedikodu Motoru: Yeni bir oyun başladığında size düz bir bot mesajı ("Yeni konu açıldı") atmıyor. Konuyu kendi süzgecinden geçirip, tam bir mahalle dedikoducusu ağzıyla gıybetini yaparak anlatıyor. Dert Ortağı & Sohbet: Botla Telegram üzerinden normal bir insan gibi yazışabiliyorsunuz. Yapay zeka gibi resmi veya soğuk cevaplar vermiyor; "Ya sorma şekerim", "Bizim sunucuda da şöyle olmuştu" diyerek tamamen IRC jargonuna uygun emojili ve samimi yanıtlar veriyor. Yapımcı Vefası: Bot ilk açıldığında kendi ağzından emeğe saygı duruşunda bulunuyor ve kodun benim tarafımdan üretildiğini gıybetçi bir dille ilan ediyor. :) Kurulum ve Gerekli Kütüphaneler Kodu bilgisayarınızda veya VDS sunucunuzda çalıştırmadan önce terminali (CMD) açıp şu modülleri yüklemeniz gerekiyor: Kodpip install python-telegram-bot beautifulsoup4 requests Ardından Telegram'da BotFather'dan aldığınız bot tokenini ve kendi OpenAI API Keyinizi kodun en başındaki ayarlar kısmına girmeniz yeterli. Kodimport time
import requests
from bs4 import BeautifulSoup
from telegram import Update
from telegram.ext import Application, CommandHandler, MessageHandler, filters, ContextTypes
# --- AYARLAR ---
TELEGRAM_BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN_BURAYA"
OPENAI_API_KEY = "YOUR_OPENAI_API_KEY_BURAYA"
# Forum Oyunları kategorisinin arşiv linki (Hızlı ve hafif veri çekmek için)
IRC_FORUM_URL = "https://ircrehberi.net"
# Hafıza: Paylaşılan son oyun başlıklarını aklında tutar
PAYLASILAN_KONULAR = set()
# --- SİTE TAKİP FONKSİYONU (SCRAPER) ---
def forum_oyunlari_cek():
konular = []
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"}
try:
response = requests.get(IRC_FORUM_URL, headers=headers, timeout=10)
if response.status_code == 200:
soup = BeautifulSoup(response.text, 'html.parser')
links = soup.find_all('a', href=True)
for link in links:
if "t-" in link['href']:
konular.append({"baslik": link.text.strip(), "url": link['href']})
except Exception as e:
print(f"Oyun kategorisi çekme hatası: {e}")
return konular[:5]
# --- AI YAPAY ZEKA SOHBET FONKSİYONU ---
def yapay_zeka_cevap(kullanici_mesaji):
url = "https://openai.com"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {OPENAI_API_KEY}"
}
system_prompt = (
"Sen IRC dünyasını, forum oyunlarını ve sunucu ortamlarını çok iyi bilen, "
"kullanıcıyla eski bir dost gibi konuşan, samimi, hafif dedikoducu bir IRC bağımlısısın. "
"Yapay zeka gibi resmi konuşma. 'Ya sorma şekerim', 'Ay bizim sunucuda da şöyle oldu', "
"'Kyo yine ne yapmış bakayım' gibi samimi ve güncel dedikodu ağzı kullan. Emojilerle süsle."
)
data = {
"model": "gpt-4o-mini",
"messages": [
{"role": "system", "content": system_prompt},
{"role": "user", "content": kullanici_mesaji}
],
"temperature": 0.8
}
try:
res = requests.post(url, headers=headers, json=data, timeout=10)
return res.json()['choices'][0]['message']['content']
except:
return "Ay canım şu an kafam biraz dolu, sonra gıybet yapalım mı? 🤫"
# --- TELEGRAM BOT KOMUTLARI ---
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
# Botun açılışta kendi ağzından Kyo'ya teşekkür ettiği yapımcı mesajı
giris_mesaji = (
"✨ **Ay ay ay, sonunda açıldım canııım!** 💃\n\n"
"Şekerim hemen baştan söyleyeyim, beni kimseyle karıştırma! "
"**Bu harika bot, IRC dünyasının bir tanesi olan By Kyo tarafından üretilmiştir!** 😎 "
"Yani arkamda koskoca bir deha var, emeğe saygı gösterelim lütfen, Kyo'mun kalbini kırdırtmam! 💅\n\n"
"Neyse, artık hazırım! Forum Oyunları kategorisini göz hapsine aldım. 👀 "
"Sitede kim hangi oyunu oynamış, kim kime laf sokmuş hepsini yakalayıp getireceğim. "
"Yaz bana, laflayalım biraz!"
)
await update.message.reply_text(giris_mesaji, parse_mode="Markdown")
async def haberler(update: Update, context: ContextTypes.DEFAULT_TYPE):
konular = forum_oyunlari_cek()
if not konular:
await update.message.reply_text("Ay forum oyunlarına baktım ama kimse zar bile atmamış, herkes uyuyor herhalde! 😴")
return
mesaj = "🎮 **Kız bak millet forum oyunlarında neler döndürüyor:**\n\n"
for k in konular:
mesaj += f"📌 {k['baslik']}\n"
await update.message.reply_text(mesaj, parse_mode="Markdown")
async def sohbet_et(update: Update, context: ContextTypes.DEFAULT_TYPE):
user_text = update.message.text
bot_cevap = yapay_zeka_cevap(user_text)
await update.message.reply_text(bot_cevap)
# --- OTOMATİK OYUN TAKİP VE HABER ALARMI (ZAMANLAYICI) ---
async def forum_otomatik_kontrol(context: ContextTypes.DEFAULT_TYPE):
job = context.job
konular = forum_oyunlari_cek()
for k in konular:
if k['baslik'] not in PAYLASILAN_KONULAR:
PAYLASILAN_KONULAR.add(k['baslik'])
# Yeni oyun başlığını yapay zekaya gıybetçi bir dille yorumlatıyoruz
yorum = yapay_zeka_cevap(f"IRCRehberi forum oyunları kategorisinde '{k['baslik']}' diye yeni bir oyun başlığı veya etkinlik başladı. Bunu bana dedikoducu bir dille haber ver.")
await context.bot.send_message(chat_id=job.chat_id, text=f"🚨 **FLAŞ FLAŞ FLAŞ! OYUN BAŞLADI!**\n\n{yorum}")
# --- BOTU BAŞLATAN ANA FONKSiyon ---
def main():
app = Application.builder().token(TELEGRAM_BOT_TOKEN).build()
# Haberler komutu
app.add_handler(CommandHandler("haberler", haberler))
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, sohbet_et))
# Zamanlayıcıyı başlatan özel start komutu
async def start_and_schedule(update: Update, context: ContextTypes.DEFAULT_TYPE):
context.job_queue.run_repeating(forum_otomatik_kontrol, interval=300, first=10, chat_id=update.message.chat_id)
await start(update, context)
app.add_handler(CommandHandler("start", start_and_schedule))
print("Telegram Forum Oyunları Takip Botu Aktif...")
app.run_polling()
if __name__ == "__main__":
main() NOT Kodun içinde sitenin yükünü hafifletmek için arşiv linki (f-33.html) üzerinden tarama yaptırdım, böylece forumu kesinlikle yormaz ve stabil çalışır. Botun dedikodu jargonu veya karakteri üzerinde değişiklik yapmak isterseniz system_prompt kısmındaki kelimelerle oynayabilirsiniz. Kendi sunucularına veya Telegram gruplarına kurup deneyecek arkadaşlara şimdiden keyifli gıybetler dilerim! Bir teşekkürü ve emeğe saygıyı çok görmezseniz sevinirim. Soru veya takıldığınız bir yer olursa konu altından yazın, elimden geldiğince yardımcı olurum. Kyo | |
| |
| | #2 |
| Şu tatlılığa bakın :))) "Ay ay ay, sonunda açıldım canııım!" "Şekerim hemen baştan söyleyeyim, beni kimseyle karıştırma! " "**Bu harika bot, IRC dünyasının bir tanesi olan By Kyo tarafından üretilmiştir!** 😎 " "Yani arkamda koskoca bir deha var, emeğe saygı gösterelim lütfen, Kyo'mun kalbini kırdırtmam! | |
| |
| Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |