IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Hazır Kodlar (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/)
-   -   Sales Otomatik Reklam Eklentisi (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/1068399-sales-otomatik-reklam-eklentisi.html)

UzmaN 09 Eylül 2025 11:01

Sales Otomatik Reklam Eklentisi
 
Sales reklam botu 60 dakika 12 saniyede bir .reklam komutunu #sales-yönetim kanalına gönderir.

Kanal veya komutlar değiştirebilir.

Eğlencesine yapılmıştır..

Ekran görüntüleri;


[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


Kod:

; Değişkenler
alias -l reklam.kanal { return #sales-yönetim }
alias -l reklam.sure { return 3612 }
; 60 dakika 12 saniye = 3612 saniye

; Reklam penceresi açma fonksiyonu
alias -l reklam.pencere.ac {
  if (!$window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...])) {
    window -eazn @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
    echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 3=== REKLAM BOT PENCERESI ===
    echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 7Tüm reklam bot aktiviteleri burada görüntülenir
    echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 3===============================
  }
}

; Reklam penceresine mesaj gönderme fonksiyonu
alias -l reklam.log {
  reklam.pencere.ac
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] $1-
}

; Reklam Timer'ı Başlat
alias reklam.baslat {
  if ($timer(reklamtimer)) {
    reklam.log 4[UYARI] Reklam botu zaten çalışıyor!
    return
  }

  ; Timer'ı başlat (60 dakika 12 saniyede bir)
  .timerreklamtimer 0 $reklam.sure reklam.gonder

  ; İlk reklamı hemen gönder
  reklam.gonder

  ; Durum değişkenini ayarla
  set %reklam.durum AKTIF

  ; Sonraki reklam zamanını ayarla (normal süre)
  set %reklam.sonraki.zaman $calc($ctime + $reklam.sure)

  ; Debug bilgisi
  var %debug_saat = $asctime(%reklam.sonraki.zaman,HH:nn:ss)
  reklam.log 3[DEBUG] Normal süre - Sonraki reklam zamanı: %debug_saat

  reklam.log 3[BAŞLATILDI] Reklam botu başlatıldı! Kanal: $reklam.kanal - Süre: 60 dakika 12 saniye

  ; Paneli güncelle
  reklam.panel.guncelle
}

; Reklam Timer'ı Durdur
alias reklam.durdur {
  if (!$timer(reklamtimer)) {
    reklam.log 4[UYARI] Reklam botu zaten durdurulmuş!
    return
  }

  ; Timer'ı durdur
  .timerreklamtimer off

  ; Durum değişkenini ayarla
  set %reklam.durum PASIF

  ; Sonraki reklam zamanını temizle
  unset %reklam.sonraki.zaman

  reklam.log 4[DURDURULDU] Reklam botu durduruldu!

  ; Paneli güncelle
  reklam.panel.guncelle
}

; Reklam Gönder (Onay ile)
alias reklam.gonder {
  ; Kanala bağlı olup olmadığını kontrol et
  if ($me ison $reklam.kanal) {
    ; Onay dialog'unu göster
    reklam.onay.dialog
  }
  else {
    reklam.log 4[HATA] $reklam.kanal kanalında değilsiniz!
  }
}

; Direkt Reklam Gönder (Onaysız)
alias reklam.gonder.direkt {
  reklam.log 4[DEBUG] Reklam gönderme fonksiyonu çağrıldı
  reklam.log 4[DEBUG] Kanal: $reklam.kanal

  ; Reklam gönder
  msg $reklam.kanal .reklam
  reklam.log 7[BAŞARILI] .reklam komutu gönderildi: $reklam.kanal
}

; Onay Dialog'unu Göster
alias reklam.onay.dialog {
  ; Sabit dialog adı kullan
  dialog -m reklamOnay reklamOnay
}

; Panel Dialog Tanımı
dialog reklamPanel {
  title "Otomatik Reklam Botu v2.0"
  size -1 -1 320 280
  option dbu

  ; Ana başlık
  text "REKLAM BOT KONTROLU", 11, 10 5 300 15, center

  ; Kontrol butonları
  button "BAŞLAT", 1, 30 25 100 30
  button "DURDUR", 2, 150 25 100 30

  ; Durum grubu
  box "DURUM BİLGİSİ", 12, 10 65 300 80
  text "Durum: PASIF", 3, 20 85 280 15
  text "Kanal: #sales-yönetim", 4, 20 105 280 15
  text "Süre: Her 60 dakika 12 saniyede bir", 5, 20 125 280 15

  ; Zaman grubu
  box "ZAMAN BİLGİSİ", 13, 10 155 300 80
  text "Sonraki Reklam: -", 7, 20 175 280 15
  text "Kalan Süre: -", 8, 20 195 280 15
  text "Son Güncelleme: -", 9, 20 215 280 15

  ; Alt bilgi
  text "Akıllı Bekleme Sistemi Aktif", 6, 10 245 300 15, center

  ; Kapat butonu
  button "Kapat", 10, 120 255 80 20, ok cancel
}

; Onay Dialog Tanımı
dialog reklamOnay {
  title "Reklam Onay Sistemi"
  size -1 -1 220 120
  option dbu

  text "REKLAM ZAMANI GELDİ!", 10, 10 10 200 15, center
  text "Reklam atılsın mı?", 11, 10 30 200 15, center
  text "", 12, 10 45 200 15, center

  button "EVET", 1, 40 70 60 25, ok
  button "HAYIR", 2, 120 70 60 25, cancel
}

; Panel Eventleri
on *:DIALOG:reklamPanel:init:*: {
  ; Panel açıldığında durumu kontrol et ve güncelle
  reklam.panel.guncelle

  ; Panel güncellemesi için timer başlat (her 5 saniyede bir)
  .timerpanelguncelle 0 5 reklam.panel.guncelle
}

on *:DIALOG:reklamPanel:sclick:*: {
  if ($did == 1) {
    ; Başlat butonuna tıklandı
    reklam.baslat
  }
  elseif ($did == 2) {
    ; Durdur butonuna tıklandı
    reklam.durdur
  }
}

on *:DIALOG:reklamPanel:close:*: {
  ; Panel kapatıldığında güncelleme timer'ını durdur
  .timerpanelguncelle off
}

; Onay Dialog Eventleri
on *:DIALOG:reklamOnay:init:*: {
  reklam.log 4[DEBUG] Onay dialog açıldı: $dname

  ; Kanal bilgisini göster
  did -ra $dname 12 Kanal: $reklam.kanal
  reklam.log 4[DEBUG] Kanal bilgisi ayarlandı

  ; 30 saniye sonra otomatik kapat (seçim yapılmazsa atılmasın)
  .timer 1 30 dialog -x $dname
  reklam.log 4[DEBUG] 30 saniyelik timer başlatıldı

  ; Ses çal (uyarı için)
  beep 3
  reklam.log 4[DEBUG] Ses çalındı
}

on *:DIALOG:reklamOnay:sclick:*: {
  reklam.log 4[DEBUG] Onay dialog event çalıştı!
  reklam.log 4[DEBUG] Dialog adı: $dname
  reklam.log 4[DEBUG] Basılan buton ID: $did
  reklam.log 4[DEBUG] Event tipi: sclick

  if ($did == 1) {
    ; EVET'e basıldı - reklamı gönder
    reklam.log 4[DEBUG] EVET butonuna basıldı (ID: 1), reklam gönderiliyor...
    reklam.gonder.direkt
    reklam.log 3[ONAYLANDI] Reklam onaylandı ve gönderildi!
  }
  elseif ($did == 2) {
    ; HAYIR'a basıldı
    reklam.log 4[DEBUG] HAYIR butonuna basıldı (ID: 2)
    reklam.log 4[İPTAL] Reklam iptal edildi!
  }
  else {
    reklam.log 4[DEBUG] Bilinmeyen buton ID: $did
  }
}

on *:DIALOG:reklamOnay:close:*: {
  ; Dialog kapatıldı (X'e basıldı veya timeout)
  reklam.log 4[TIMEOUT] Reklam onay süresi doldu veya iptal edildi!
}

; Panel Açma Komutu
alias reklamPanel {
  if ($dialog(reklamPanel)) {
    reklam.log 4[UYARI] Panel zaten açık!
  }
  else {
    dialog -m reklamPanel reklamPanel
    reklam.log 3[PANEL] Kontrol paneli açıldı
  }
}

; Test komutu - manuel reklam gönder
alias testReklam {
  reklam.log 4[TEST] Manuel reklam gönderme testi başlıyor...
  reklam.gonder.direkt
}

; Test komutu - manuel onay dialog aç
alias testDialog {
  reklam.log 4[TEST] Manuel onay dialog testi başlıyor...
  reklam.onay.dialog
}

; Menü Tanımı (Sağ tık menüsü)
menu channel,status {
  Reklam Botu
  .Panel Aç: reklamPanel
  .@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Penceresi Aç: reklam.pencere.ac
  .-
  .Başlat: reklam.baslat
  .Durdur: reklam.durdur
  .-
  .Manuel Reklam Gönder (Onaylı): reklam.gonder
  .Manuel Reklam Gönder (Direkt): reklam.gonder.direkt
}

; Script yüklendiğinde bilgi ver
on *:LOAD: {
  reklam.log =====================================
  reklam.log 3[YÜKLENDI] Otomatik Reklam Scripti Yüklendi!
  reklam.log =====================================
  reklam.log Kullanım:
  reklam.log /reklamPanel - Kontrol panelini açar
  reklam.log /reklam.baslat - Reklam botunu başlatır
  reklam.log /reklam.durdur - Reklam botunu durdurur
  reklam.log =====================================
  reklam.log Kanal: #sales-yönetim
  reklam.log Süre: 60 dakika 12 saniye
  reklam.log =====================================
}

; Sunucudan gelen bekleme mesajını yakala (TEXT event)
on *:TEXT:[Bilgi]:*bekleyiniz*:#sales-yönetim: {
  ; Debug - mesaj yakalandı
  reklam.log 4[DEBUG] Sunucu mesajı yakalandı: $1-

  ; Sadece reklam botu aktifken çalışsın
  if (!$timer(reklamtimer)) {
    reklam.log 4[DEBUG] Timer aktif değil, mesaj işlenmiyor
    return
  }

  ; Mesajı parse et
  var %mesaj = $1-
  var %dakika = $reklam.parse.dakika(%mesaj)
  var %saniye = $reklam.parse.saniye(%mesaj)

  ; Debug - parse sonuçları
  reklam.log 4[DEBUG] Parse sonucu - Dakika: %dakika - Saniye: %saniye

  ; Geçerli süre bulunduysa (en az saniye bilgisi olmalı)
  if (%saniye > 0 || (%dakika > 0 && %saniye >= 0)) {
    ; 3 saniye ekle
    %saniye = %saniye + 3
    if (%saniye >= 60) {
      %dakika = %dakika + 1
      %saniye = %saniye - 60
    }

    ; Toplam saniyeyi hesapla - adım adım
    var %dakika_saniye = $calc(%dakika * 60)
    var %toplam_saniye = $calc(%dakika_saniye + %saniye)

    ; Debug - hesaplama kontrolü
    reklam.log 4[DEBUG] Ana event hesaplama detay:
    reklam.log 4[DEBUG] - Dakika: %dakika -> %dakika_saniye saniye
    reklam.log 4[DEBUG] - Saniye: %saniye
    reklam.log 4[DEBUG] - Toplam: %dakika_saniye + %saniye = %toplam_saniye saniye

    ; Minimum kontrol sadece çok küçük değerler için
    if (%toplam_saniye < 5) {
      reklam.log 4[DEBUG] Minimum kontrol: %toplam_saniye -> 5 saniye
      %toplam_saniye = 5
    }

    ; Sonraki reklam zamanını kaydet
    set %reklam.sonraki.zaman $calc($ctime + %toplam_saniye)

    ; Debug bilgisi - detaylı
    var %debug_saat = $asctime(%reklam.sonraki.zaman,HH:nn:ss)
    var %suanki_saat = $asctime($ctime,HH:nn:ss)
    reklam.log 4[DEBUG] Ana event - Şu anki saat: %suanki_saat
    reklam.log 4[DEBUG] Ana event - Toplam bekleme süresi: %toplam_saniye saniye (%dakika dk %saniye sn)
    reklam.log 3[DEBUG] Ana event - Sonraki reklam zamanı: %debug_saat

    ; Timer'ı yeniden ayarla
    reklam.timer.yenile %toplam_saniye

    ; Paneli güncelle
    reklam.panel.guncelle

    reklam.log 7[REKLAM BOT] Sunucu bekleme süresi algılandı: %dakika dakika %saniye saniye (+3 saniye eklendi)
  }
  else {
    reklam.log 4[DEBUG] Parse başarısız - Dakika: %dakika - Saniye: %saniye
  }
}

; Sales botundan gelen mesajları da yakala
on *:TEXT:*bekleyiniz*:#sales-yönetim: {
  ; Sales botundan mı geliyor?
  if ($nick == Sales) {
    reklam.log 4[DEBUG] Sales botundan mesaj yakalandı: $1-

    ; Sadece reklam botu aktifken çalışsın
    if (!$timer(reklamtimer)) {
      reklam.log 4[DEBUG] Timer aktif değil, mesaj işlenmiyor
      return
    }

    ; Mesajı parse et
    var %mesaj = $1-
    var %dakika = $reklam.parse.dakika(%mesaj)
    var %saniye = $reklam.parse.saniye(%mesaj)

    ; Debug - parse sonuçları
    reklam.log 4[DEBUG] Sales bot parse sonucu - Dakika: %dakika - Saniye: %saniye

    ; Geçerli süre bulunduysa (en az saniye bilgisi olmalı)
    if (%saniye > 0 || (%dakika > 0 && %saniye >= 0)) {
      ; 3 saniye ekle
      %saniye = %saniye + 3
      if (%saniye >= 60) {
        %dakika = %dakika + 1
        %saniye = %saniye - 60
      }

      ; Toplam saniyeyi hesapla - adım adım
      var %dakika_saniye = $calc(%dakika * 60)
      var %toplam_saniye = $calc(%dakika_saniye + %saniye)

      ; Debug - hesaplama kontrolü
      reklam.log 4[DEBUG] Sales bot hesaplama detay:
      reklam.log 4[DEBUG] - Dakika: %dakika -> %dakika_saniye saniye
      reklam.log 4[DEBUG] - Saniye: %saniye
      reklam.log 4[DEBUG] - Toplam: %dakika_saniye + %saniye = %toplam_saniye saniye

      ; Minimum kontrol sadece çok küçük değerler için
      if (%toplam_saniye < 5) {
        reklam.log 4[DEBUG] Minimum kontrol: %toplam_saniye -> 5 saniye
        %toplam_saniye = 5
      }

      ; Sonraki reklam zamanını kaydet
      set %reklam.sonraki.zaman $calc($ctime + %toplam_saniye)

      ; Debug bilgisi - detaylı
      var %debug_saat = $asctime(%reklam.sonraki.zaman,HH:nn:ss)
      var %suanki_saat = $asctime($ctime,HH:nn:ss)
      reklam.log 4[DEBUG] Sales bot - Şu anki saat: %suanki_saat
      reklam.log 4[DEBUG] Sales bot - Toplam bekleme süresi: %toplam_saniye saniye (%dakika dk %saniye sn)
      reklam.log 3[DEBUG] Sales bot - Sonraki reklam zamanı: %debug_saat

      ; Timer'ı yeniden ayarla
      reklam.timer.yenile %toplam_saniye

      ; Paneli güncelle
      reklam.panel.guncelle

      reklam.log 7[REKLAM BOT] Sales bot bekleme süresi algılandı: %dakika dakika %saniye saniye (+3 saniye eklendi)
    }
    else {
      reklam.log 4[DEBUG] Sales bot parse başarısız - Dakika: %dakika - Saniye: %saniye
    }
  }
}

; Dakika bilgisini parse et
alias -l reklam.parse.dakika {
  var %mesaj = $1-
  if ($regex(%mesaj, /(\d+)\s*dakika/i)) {
    return $regml(1)
  }
  return 0
}

; Saniye bilgisini parse et
alias -l reklam.parse.saniye {
  var %mesaj = $1-
  if ($regex(%mesaj, /(\d+)\s*saniye/i)) {
    return $regml(1)
  }
  return 0
}

; Timer'ı yenile
alias -l reklam.timer.yenile {
  var %yeni_sure = $1

  ; Mevcut timer'ı durdur
  .timerreklamtimer off

  ; Yeni timer'ı başlat
  .timerreklamtimer 1 %yeni_sure reklam.gonder

  ; Bilgi ver
  var %dakika = $int($calc(%yeni_sure / 60))
  var %saniye = $calc(%yeni_sure % 60)
  reklam.log 3[REKLAM BOT] Timer yenilendi: %dakika dakika %saniye saniye sonra reklam atılacak

  ; Debug - hesaplanan zaman
  var %hesaplanan_zaman = $calc($ctime + %yeni_sure)
  var %hesaplanan_saat = $asctime(%hesaplanan_zaman,HH:nn:ss)
  reklam.log 4[DEBUG] Timer - Hesaplanan reklam zamanı: %hesaplanan_saat

  ; Normal süreye geri dönmek için ana timer'ı ayarla
  .timerreklamtimer.ana 1 %yeni_sure reklam.timer.normale.don
}

; Normal süreye geri dön
alias -l reklam.timer.normale.don {
  ; Ana timer'ı durdur
  .timerreklamtimer.ana off

  ; Normal timer'ı başlat
  .timerreklamtimer 0 $reklam.sure reklam.gonder

  ; Normal süre için sonraki reklam zamanını ayarla
  set %reklam.sonraki.zaman $calc($ctime + $reklam.sure)

  reklam.log 3[REKLAM BOT] Normal süreye geri dönüldü (60 dakika 12 saniye)

  ; Paneli güncelle
  reklam.panel.guncelle
}

; Panel güncelleme fonksiyonu
alias -l reklam.panel.guncelle {
  if (!$dialog(reklamPanel)) return

  ; Durum bilgisi
  if ($timer(reklamtimer)) {
    did -ra reklamPanel 3 Durum: AKTIF
    did -b reklamPanel 1
    did -e reklamPanel 2

    did -ra reklamPanel 5 Süre: Her 60 dakika 12 saniyede bir

    ; Sonraki reklam zamanını kayıtlı değişkenden al
    if (%reklam.sonraki.zaman) {
      var %sonraki_saat = $asctime(%reklam.sonraki.zaman,HH:nn:ss)
      var %sonraki_tarih = $asctime(%reklam.sonraki.zaman,dd/mm/yyyy)
      var %bugun_tarih = $asctime($ctime,dd/mm/yyyy)

      ; Bugün mü yarın mı kontrol et
      if (%sonraki_tarih == %bugun_tarih) {
        did -ra reklamPanel 7 Sonraki Reklam: Bugün %sonraki_saat
      }
      else {
        did -ra reklamPanel 7 Sonraki Reklam: Yarın %sonraki_saat
      }

      ; Kalan süreyi hesapla
      var %kalan = $calc(%reklam.sonraki.zaman - $ctime)
      if (%kalan > 0) {
        var %kalan_dk = $int($calc(%kalan / 60))
        var %kalan_sn = $calc(%kalan % 60)
        did -ra reklamPanel 8 Kalan Süre: %kalan_dk dakika %kalan_sn saniye
      }
      else {
        did -ra reklamPanel 8 Kalan Süre: Reklam atılıyor...
      }
    }
    else {
      did -ra reklamPanel 7 Sonraki Reklam: Hesaplanıyor...
      did -ra reklamPanel 8 Kalan Süre: Hesaplanıyor...
    }
  }
  else {
    did -ra reklamPanel 3 Durum: PASIF
    did -e reklamPanel 1
    did -b reklamPanel 2
    did -ra reklamPanel 5 Süre: Her 60 dakika 12 saniyede bir
    did -ra reklamPanel 7 Sonraki Reklam: -
    did -ra reklamPanel 8 Kalan Süre: -
  }

  ; Son güncelleme zamanı
  did -ra reklamPanel 9 Son Güncelleme: $time
}

; Script kaldırıldığında timer'ları temizle
on *:UNLOAD: {
  if ($timer(reklamtimer)) {
    .timerreklamtimer off
    echo -a Reklam botu durduruldu ve script kaldırıldı.
  }
  if ($timer(reklamtimer.ana)) {
    .timerreklamtimer.ana off
  }
  if ($timer(panelguncelle)) {
    .timerpanelguncelle off
  }
}

; Otomatik başlatma (isteğe bağlı - varsayılan kapalı)
; on *:START: {
;  .timer 1 5 reklam.baslat
; }


idyllic 09 Eylül 2025 13:12

Cevap: Sales Otomatik Reklam Eklentisi
 
60 dakika 12 sn bir iyiymiş : )

paylaşım için teşekkürler @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ..

SNOOPY 09 Eylül 2025 14:55

Cevap: Sales Otomatik Reklam Eklentisi
 
Güzel çalışma ellerine sağlık

BuseNaz 11 Eylül 2025 12:07

Cevap: Sales Otomatik Reklam Eklentisi
 
Emeğine sağlık..

HOROZ 11 Eylül 2025 12:52

Cevap: Sales Otomatik Reklam Eklentisi
 
Emeğine sağlık

Cadde_li 13 Eylül 2025 10:09

Cevap: Sales Otomatik Reklam Eklentisi
 
Güzel bir çalışma emeğine sağlık.

Anaxagoras 15 Eylül 2025 19:02

Cevap: Sales Otomatik Reklam Eklentisi
 
döktürmüşsün yavru kuş emeğine sağlık

Sparrow 16 Eylül 2025 16:31

Cevap: Sales Otomatik Reklam Eklentisi
 
Emeğine sağlık :cokcool:

Ayşen. 16 Eylül 2025 16:40

Cevap: Sales Otomatik Reklam Eklentisi
 
/timer[isim] [-ehmiproc] [saat] <tekrar sayısı> <zaman aralığı> <komut> kanallarda yapılması daha uygun bence

manikdepresif 16 Eylül 2025 17:53

Cevap: Sales Otomatik Reklam Eklentisi
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] müdürüm herkes senin gibi bilgili ve anlayisli degil, bilmeyenler icin yapmislar bu kodu sanirsam.
-
saygilar


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 06:59.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk