; 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
; }