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/)
-   TCL Scriptler (https://www.ircforumlari.net/tcl-scriptler/)
-   -   !duyuruekle & !duyurucikar (https://www.ircforumlari.net/tcl-scriptler/519078-duyuruekle-amp-duyurucikar.html)

lolalondon 31 Aralık 2012 12:28

!duyuruekle & !duyurucikar
 
Merhabalar

Ben !duyuruekle ve !duyurucikar dedikten sonra eggdrop umun sunucuda bulunan bir dosyaya eklemeler ve cikartmalar yapmasini istiyorum daha sonrasinda ise botun ozeline birisi duyurular yazdigi zaman o duyurulari sirasi ile yazmasini istiyorum....

Bu duyurulari bir kanal icin yapicak, tek kanal olmasi yeterli.
Oplar duyuru ekleyip cikarabilicek ve sadece botun ozeline duyurular yazinca yazan kisiye duyurulari yazicak.

Bunun icin yardimci olabilecek arkadaslara simdiden cok tesekkur ederim..

Ornek Kullanim ...

!duyuruekle Merhaba Hosgeldiniz....
---Duyuru eklendi, duyuru sayisi 1

!duyurucikar 1
--- Duyuru Silindi (1)


tarzinda bir duyuru sistemi ariyorum....

saywhat 02 Ocak 2013 22:08

Cevap: !duyuruekle & !duyurucikar
 
denemedim... çünkü gözlerimde beynimde yoruldu.hata var mıdır vardır olmazsa şaşarım.deneyin aldığınız hata mesaj/larını buraya atın dinlenince bakarımz bi çaresine ...

Kod:

# kullanımı :
# hangi kanalda duyuru eklemek -silmek isteniyorsa ,
# telnet/dcc üzerinden bota .chanset #kanalınız +duyuru
# komutuyla kodu aktif etmelisiniz.
# belirlenen kanalda op olanlar
# duyuru ekleyip silebilir.
# !dyrekle duyuruno duyurumsg
# !dyrsil duyuruno
# bota özelde duyur , duyuru ,dyr demeniz yeterli
# /msg botnick dyr ... gibi...
setudef flag duyuru
bind pub -|- !dyrekle duyuru:ekle
bind pub -|- !dyrsil duyuru:sil
bind msgm - "*" duyuru:duyur
proc duyuru:ekle {nick host hand chan arg} {
 if {[channel get $chan duyuru] || [isop $nick $chan]} { return }
  set dzn "duyurular.txt"
  set dyrno [lindex [split $arg] o]
  set dyrmsg [join [lrange [split $arg] 1 end]]
  if {dyrno == ""} { puthelp "notice $nick eksik komut girdiniz.kullanımı : !dyrekle duyuruno duyuru" return 0 }
  if {dyrmsg == ""} { puthelp "notice $nick eksik komut girdiniz.kullanımı : !dyrekle duyuruno duyuru" return 0 }
  if {[file exists $dzn] == 0} {
    set file [open $dzn w]
    close $file
  }
  set file [open $dzn a]
  puts $file $dyrmsg
  close $file
  puthelp "notice $nick $dyrno $dyrmsg eklendi"
}
 
proc duyuru:sil {nick host hand chan arg} {
  if {[channel get $chan duyuru] || [isop $nick $chan]} { return }
  set dyrno [lindex [split $arg] o]
  if {dyrno == ""} { puthelp "notice $nick yanlış komut girdiniz. kullanımı : !dyrsil duyuruno" return 0 }
  set dzn "duyurular.txt"
  if {[file exists $dzn] == 0} {
  set file [open $dzn w]
  close $file
  }
  set file [open $dzn "r"]
  set data [read -nonewline $file]
  close $file
  set lines [split $data "\n"]
  set i [expr $numara - 1]
  set delete [lreplace $lines $i $i]
  set files [open $dzn "w"]
  puts $files [join $delete "\n"]
  close $files
  set file [open $dzn "r"]
  set data [read -nonewline $file]
  close $file
  if {$data == ""} {
  set files [open $dzn "w"]
  close $files
  }
  puthelp "notice $nick $dyrno silindi."
}
proc duyuru:duyur {nick host hand arg} {
 global dyr
 if {[string match -nocase "duyur*" $arg] || [string match -nocase "dyr" $arg]} { return }
 if {[file exists $dzn] == 0} {
  set file [open $dzn w]
  close $file
 }
    set dzn "duyurular.txt"
    set file [open $dzn "r"]
    set w [read -nonewline $file]
    close $file
    set data [split $w "\n"]
    set i 0
  if {data == ""} { puthelp "privmsg $nick herhangi bir duyurunuz bulunmuyor" return 0 }
  foreach dyr $data
  set i [expr $i +1]
  puthelp "privmsg $nick duyurular $i $dzn"
}
putlog "ömrümü yidiniz bea.. ömrümü ömrümü..."


lolalondon 08 Ocak 2013 21:25

Cevap: !duyuruekle & !duyurucikar
 
[19:25:18] Tcl error [duyuru:duyur]: can't read "dzn": no such variable

tcl calisiyor fakat kanalda
!dyrekle 1 Deneme duyurusu
dedigimde hic bir etki olmuyor..
Botun a dyr diye privmsg atinca yukardaki error u veriyor..

saywhat 09 Ocak 2013 04:00

Cevap: !duyuruekle & !duyurucikar
 
sizden cevap gelmeyince bende sorun yok sanmıştım.çok basit bazı hatalar yapmışım . kodda şimdi deneyince hataları verdi bot.düzelttim
ben kodları süblime text 2 üzerinde göz kararı yazıp postalıyorum çoğu zaman sıkıldığım için denemiyorum .göz kararı olmuştur olmuştur diyorum ama çoklukla böyle basit şeyler gözümden kaçmış oluyor..ekleme-silme okuma şimdi sorunsuz çalışıyor ...
Kod:

# kullanımı :
# hangi kanalda duyru eklemek -silmek isteniyorsa ,
# telnet/dcc üzerinden bota .chanset #kanalınız +duyuru
# komutuyla kodu aktif etmelisiniz.
# belirlenen kanalda op olanlar
# duyuru ekleyip silebilir.
# !dyrekle duyuruno duyurumsg
# !dyrsil duyuruno
# bota özelde duyur , duyuru ,dyr demeniz yeterli
# /msg botnick dyr ... gibi...
 
setudef flag duyuru
 
 set dzn "duyurular.txt"
 
bind pub -|- !dyrekle duyuru:ekle
bind pub -|- !dyrsil duyuru:sil
bind msgm - "*" duyuru:duyur
 
proc duyuru:ekle {nick host hand chan arg} {
  global dzn
  if {![channel get $chan duyuru]} {
  return
  }
  if {![isop $nick $chan]} {
  return
  }
  set dyrno [lindex [split $arg] 0]
  set dyrmsg [join [lrange [split $arg] 1 end]]
    if {$dyrno == ""} {
    puthelp "notice $nick eksik komut girdiniz.kullanımı : !dyrekle duyuruno duyuru"
  return 0
  }
    if {$dyrmsg == ""} {
    puthelp "notice $nick eksik komut girdiniz.kullanımı : !dyrekle duyuruno duyuru"
  return 0
  }
  if {[file exists $dzn] == 0} {
    set file [open $dzn w]
    close $file
  }
  set file [open $dzn a]
  puts $file $dyrno#$dyrmsg
  close $file
  puthelp "notice $nick $dyrno $dyrmsg eklendi"
}
 
proc duyuru:sil {nick host hand chan arg} {
 global dzn
  if {![channel get $chan duyuru]} {
  return
  }
  if {![isop $nick $chan]} {
  return
  }
  set dyrno [lindex [split $arg] 0]
  if {$dyrno == ""} {
    puthelp "notice $nick yanlış komut girdiniz. kullanımı : !dyrsil duyuruno"
 return 0
 }
  if {[file exists $dzn] == 0} {
  set file [open $dzn w]
  close $file
  }
  set file [open $dzn "r"]
  set data [read -nonewline $file]
  close $file
  set lines [split $data "\n"]
  set i [expr $dyrno - 1]
  set delete [lreplace $lines $i $i]
  set files [open $dzn "w"]
  puts $files [join $delete "\n"]
  close $files
  set file [open $dzn "r"]
  set data [read -nonewline $file]
  close $file
  if {$data == ""} {
  set files [open $dzn "w"]
  close $files
  }
  puthelp "notice $nick $dyrno silindi."
}
 proc duyuru:duyur {nick host hand arg} {
  global dzn
    if {![file exists "$dzn"]} {
    putserv "notice $nick :herhangi bir duyuru bulunamadı."
  return 0
  }
  if {![file readable "$dzn"]} {
    putserv "notice $nick :herhangi bir duyuru bulunamadı."
  return 0
 }
  if {[string match -nocase "duyur*" $arg] || [string match -nocase "dyr" $arg]} {
  set msgno 0
  set file [open "$dzn" r]
  set line [gets $file]
  incr msgno
    putserv "privmsg $nick :$line"
  }
  if {[eof $file]} {
 close $file
 break
 }
}
 
putlog "bir kar yagar ince ince..."


son anda kodu fikir değiştirip okuma yönteminde eof kısmında değişiklik yapmıştım.gene bozmuşum kodu :p şu haliyle deneyin sonucu bildirin.

lolalondon 26 Mart 2013 12:25

Cevap: !duyuruekle & !duyurucikar
 
Alıntı:

saywhat Nickli Üyeden Alıntı (Mesaj 1041267332)
sizden cevap gelmeyince bende sorun yok sanmıştım.çok basit bazı hatalar yapmışım . kodda şimdi deneyince hataları verdi bot.düzelttim
ben kodları süblime text 2 üzerinde göz kararı yazıp postalıyorum çoğu zaman sıkıldığım için denemiyorum .göz kararı olmuştur olmuştur diyorum ama çoklukla böyle basit şeyler gözümden kaçmış oluyor..ekleme-silme okuma şimdi sorunsuz çalışıyor ...
Kod:

# kullanımı :
# hangi kanalda duyru eklemek -silmek isteniyorsa ,
# telnet/dcc üzerinden bota .chanset #kanalınız +duyuru
# komutuyla kodu aktif etmelisiniz.
# belirlenen kanalda op olanlar
# duyuru ekleyip silebilir.
# !dyrekle duyuruno duyurumsg
# !dyrsil duyuruno
# bota özelde duyur , duyuru ,dyr demeniz yeterli
# /msg botnick dyr ... gibi...
 
setudef flag duyuru
 
 set dzn "duyurular.txt"
 
bind pub -|- !dyrekle duyuru:ekle
bind pub -|- !dyrsil duyuru:sil
bind msgm - "*" duyuru:duyur
 
proc duyuru:ekle {nick host hand chan arg} {
  global dzn
  if {![channel get $chan duyuru]} {
  return
  }
  if {![isop $nick $chan]} {
  return
  }
  set dyrno [lindex [split $arg] 0]
  set dyrmsg [join [lrange [split $arg] 1 end]]
    if {$dyrno == ""} {
    puthelp "notice $nick eksik komut girdiniz.kullanımı : !dyrekle duyuruno duyuru"
  return 0
  }
    if {$dyrmsg == ""} {
    puthelp "notice $nick eksik komut girdiniz.kullanımı : !dyrekle duyuruno duyuru"
  return 0
  }
  if {[file exists $dzn] == 0} {
    set file [open $dzn w]
    close $file
  }
  set file [open $dzn a]
  puts $file $dyrno#$dyrmsg
  close $file
  puthelp "notice $nick $dyrno $dyrmsg eklendi"
}
 
proc duyuru:sil {nick host hand chan arg} {
 global dzn
  if {![channel get $chan duyuru]} {
  return
  }
  if {![isop $nick $chan]} {
  return
  }
  set dyrno [lindex [split $arg] 0]
  if {$dyrno == ""} {
    puthelp "notice $nick yanlış komut girdiniz. kullanımı : !dyrsil duyuruno"
 return 0
 }
  if {[file exists $dzn] == 0} {
  set file [open $dzn w]
  close $file
  }
  set file [open $dzn "r"]
  set data [read -nonewline $file]
  close $file
  set lines [split $data "\n"]
  set i [expr $dyrno - 1]
  set delete [lreplace $lines $i $i]
  set files [open $dzn "w"]
  puts $files [join $delete "\n"]
  close $files
  set file [open $dzn "r"]
  set data [read -nonewline $file]
  close $file
  if {$data == ""} {
  set files [open $dzn "w"]
  close $files
  }
  puthelp "notice $nick $dyrno silindi."
}
 proc duyuru:duyur {nick host hand arg} {
  global dzn
    if {![file exists "$dzn"]} {
    putserv "notice $nick :herhangi bir duyuru bulunamadı."
  return 0
  }
  if {![file readable "$dzn"]} {
    putserv "notice $nick :herhangi bir duyuru bulunamadı."
  return 0
 }
  if {[string match -nocase "duyur*" $arg] || [string match -nocase "dyr" $arg]} {
  set msgno 0
  set file [open "$dzn" r]
  set line [gets $file]
  incr msgno
    putserv "privmsg $nick :$line"
  }
  if {[eof $file]} {
 close $file
 break
 }
}
 
putlog "bir kar yagar ince ince..."


son anda kodu fikir değiştirip okuma yönteminde eof kısmında değişiklik yapmıştım.gene bozmuşum kodu :p şu haliyle deneyin sonucu bildirin.



selam yeniden ilk duyuru yu ekliyor ve rahatca okuyor ama sonraki duyurulari eklemiyor:
!dyrekle 2 ikinci duyuru
seklinde ekliyorum, ekliyor gozukuyor ama dyr, duyur diyince okumuyor.


telnet ciktisi;
[10:17:19] [Steaqueolth!squirt@Thychaskel.j] dyr
[10:17:40] Tcl error [duyuru:duyur]: invoked "break" outside of a loop
[10:17:40] [Steaqueolth!squirt@Thychaskel.j] dyr
[10:17:44] Tcl error [duyuru:duyur]: invoked "break" outside of a loop
[10:17:44] [Steaqueolth!squirt@Thychaskel.j] duyur
[10:20:12] [Steaqueolth!squirt@Thychaskel.j] duyur
[10:21:13] Tcl error [duyuru:duyur]: can't read "file": no such variable
[10:21:52] [Steaqueolth!squirt@Thychaskel.j] duyur
[10:22:07] Tcl error [duyuru:duyur]: can't read "file": no such variable

Supernova 26 Mart 2013 13:15

Cevap: !duyuruekle & !duyurucikar
 
Paylaşım güzel buna benzer konularda vardı !global listele - !global ekle mesaj - !global sil mesa şeklinde tcl bölümünde aratıldığında görebilirsiniz.

Geliştirilebilir bir tcl bakalım daha neler eklenebilir

saywhat 26 Mart 2013 16:44

Cevap: !duyuruekle & !duyurucikar
 
o kadar geç dönüş yapıyorsunuz ki...kodu kendi botumda denemiş işlediğini görmüş sonra buraya atmıştım.

ancak her nedense içime sinmemişti ..son okuma prosedürünü burda forum üstünde 2-3 kez editlediğimi-değiştiğimi hatırlıyorum.

sabah uyudum anca kalkabildim ve şimdi dışarı gitmeliyim ahşama ,kafam yerine gelince bakar kendi botlarımda denemesini yaparım denediğim bottanda silmişim geriye sadece duyuru.txt dosyası kalmışş..şimdi sarhoş gibiyim akşama ayık kafayla bakarımz.

MesqeN 26 Mart 2013 19:59

Cevap: !duyuruekle & !duyurucikar
 
bu kod belki işinize yarar..


#Opers kanalinda global mesaj sistemini yonetme ozelligi ekledim.
Yardimlari icin BuCaLI'ya tsk. :)

<Namesis> !global
<Ra> Kullanimi: !global <on/off/durum/ekle/sil/listele>

<Namesis> !global on
<Ra> Global mesaj sistemi acildi.

<Namesis> !global durum
<Ra> Global mesaj sistemi acik.

<Namesis> !global off
<Ra> Global mesaj sistemi kapali.

<Namesis> !global ekle
<Ra> Global mesaj belirtmediniz. Lutfen global mesajinizi belirtiniz.

<Namesis> !global ekle Test mesajidir.
<Ra> GLOBAL MESAJ: Test mesajidir. » Basariyla global mesaj listesine eklendi.

<Namesis> !global sil
<Ra> Boyle bir global mesaj listede yok.
<Ra> Listeyi gormek icin: !global listele
<Ra> Silmek icin global mesajin basinda ki numarayi kullaniniz. Ornek: !global sil 1234

<Namesis> !global listele
<Ra> 4790 - Test mesajidir.
<Ra> Global mesaj listesinin sonu...

<Namesis> !global sil 4790
<Ra> 4790 numarali global mesaj listeden silindi.



Kod:


#########
# BASLA #
#########
 
# Global mesaj sistemini acip kapatma komutunun isleyecegi kanali belirtiniz.
set glbmsg(operchan) "#Opers"
 
# Global komut on ekini belirtiniz.
set glbmsg(komut) "!global"
 
# Global mesajlarin bulundugu dosya dizinini belirtiniz.
set glbmsg(text) "scripts/globalmsg.txt"
 
# Global mesajlar kac dakika arayla atilacaksa belirtiniz. (Dakika cinsinden)
set glbmsg(zaman) "15"
 
######################
# DOKUNMA BOZULUR :d #
######################
 
utimer 30 globalat
proc globalat {} {
global botnick globalat glbmsg
  if {[lsearch -exact [channel info $glbmsg(operchan)] +globcmd] != -1} {
  set msgzaman "0"
  set dosya [open $glbmsg(text) r]
  set liste [split [subst -nocommands [read $dosya]] \n]
      foreach i $liste {
      set msgzaman [expr $msgzaman + $glbmsg(zaman)]
      timer $msgzaman[list putquick "os global [lrange $i 2 end]"]
    }
    close $dosya
      set msgzaman [expr $msgzaman + $glbmsg(zaman)]
    timer $msgzaman[list globalat]
    }
  return 0
}
 
bind evnt - init-server baglan:dosyayarat
proc baglan:dosyayarat {type} {
global botnick glbmsg
 if {![file exists $glbmsg(text)]} {
  set dosya [open $glbmsg(text) w]
  close $dosya
 }
}
 
setudef flag globcmd
 
bind pub - $glbmsg(komut) globalonoff
proc globalonoff {nick uhost hand chan text} {
global botnick glbmsg
    set komut "[lindex [split $text] 0]"
    set mesaj "[lrange [split $text] 1 end]"
    if {[string match -nocase $glbmsg(operchan) $chan]} {
    if {$komut == ""} { putquick "PRIVMSG $chan :Kullanimi: $glbmsg(komut) \002<on/off/durum/ekle/sil/listele>\002"; return 0 }
    if {[string match -nocase "on" $komut]} { channel set $chan +globcmd; putquick "PRIVMSG $chan :Global mesaj sistemi \002acildi\002."; globalat; return 0 }
    if {[string match -nocase "off" $komut]} { channel set $chan -globcmd; putquick "PRIVMSG $chan :Global mesaj sistemi \002kapatildi\002."; return 0 }
    if {[string match -nocase "durum" $komut]} { if {[lsearch -exact [channel info $chan] +globcmd] != -1} { putquick "PRIVMSG $chan :Global mesaj sistemi \002acik\002." } else { putquick "PRIVMSG $chan :Global mesaj sistemi \002kapali\002."; return 0 } }
    if {[string match -nocase "ekle" $komut]} { if {$mesaj == ""} { putquick "PRIVMSG $chan :Global mesaj belirtmediniz. Lutfen global mesajinizi belirtiniz." ; return 0 }
        putquick "PRIVMSG $chan :GLOBAL MESAJ: $mesaj » Basariyla global mesaj listesine eklendi."
        set globs [open $glbmsg(text) a]
        puts $globs "[join [rand 9999]] [join -] [join $mesaj]"
        flush $globs
        catch {closer $globs}
    }
    if {[string match -nocase "sil" $komut]} {
        if {![file exists $glbmsg(text)]} {
            putquick "PRIVMSG $chan :Global mesaj listesi zaten bos."
            return
        }
        set data ""
        set input [open $glbmsg(text) r]
        while {![eof $input]} {
            set curline [gets $input];set curline [split $curline]
            if {$curline != ""} {
                set data [linsert $data end $curline]
            }
        }
        catch {close $input}
        set deger -1;set esles ""
        foreach line $data {
            incr deger
            if {[string match -nocase "$mesaj" [lindex $line 0]]} {
                set esles $deger
                break
            }
        }
        if {$esles == ""} {
            putquick "PRIVMSG $chan :Boyle bir global mesaj listede yok."
            putquick "PRIVMSG $chan :Listeyi gormek icin: \002$glbmsg(komut) listele\002"
            putquick "PRIVMSG $chan :Silmek icin global mesajin basinda ki numarayi kullaniniz. Ornek: \002$glbmsg(komut) sil 1234\002"
            return
        }
        set newdata [lreplace $data $deger $deger]
        set output [open $glbmsg(text) w]
        foreach newline $newdata {
            if {$newline != ""} {
                puts $output $newline
            }
        }
        flush $output
        catch {close $output}
            putquick "PRIVMSG $chan :\002$mesaj\002 numarali global mesaj listeden silindi."
            return
        }
        if {[string match -nocase "listele" $komut]} {
        if {![file exists $glbmsg(text)]} { putquick "PRIVMSG $chan :Global mesaj listesi bos."; return 0 }
        set input [open $glbmsg(text) r]
        set lines [split [subst -nocommands [read $input]] \n]
        catch {close $input}
        set sayc 0
          foreach line $lines {
          if {$line != ""} {
          putquick "PRIVMSG $chan :$line"
        incr sayc
        }
      }
      if {$sayc == 0} {
    putquick "PRIVMSG $chan :Global mesaj listesinde hic kayit bulunamadi."; return
    } else { putquick "PRIVMSG $chan :Global mesaj listesinin sonu..."
  }
  }
 }
}
 
#########
# BITTI #
#########


lolalondon 27 Mart 2013 14:56

Cevap: !duyuruekle & !duyurucikar
 
Global mesaj aslinda diger arkadasin yazdigi programdan farkli birinde global atiyor bir kanaldan aldgi komutla digerinde kanalda oplarin yazdigi mesajlari, ozele yazilan bir msajla .txt dosyasinda akip yaziyor :)

Ama genede paylasim icin tesekkurler..

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 14:56 -->-> Daha önceki mesaj 14:55 --

Alıntı:

saywhat Nickli Üyeden Alıntı (Mesaj 1041292948)
o kadar geç dönüş yapıyorsunuz ki...kodu kendi botumda denemiş işlediğini görmüş sonra buraya atmıştım.

ancak her nedense içime sinmemişti ..son okuma prosedürünü burda forum üstünde 2-3 kez editlediğimi-değiştiğimi hatırlıyorum.

sabah uyudum anca kalkabildim ve şimdi dışarı gitmeliyim ahşama ,kafam yerine gelince bakar kendi botlarımda denemesini yaparım denediğim bottanda silmişim geriye sadece duyuru.txt dosyası kalmışş..şimdi sarhoş gibiyim akşama ayık kafayla bakarımz.

ustad saygim sonsuz, beklerim hic sorun degil :)

saywhat 27 Mart 2013 15:41

Cevap: !duyuruekle & !duyurucikar
 
kod şu an bu halde -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] kullanıma henüz* hazır değil..

bende irc-sunucu/kanal ve doğal olarak kullanıcı olmadığından benim saklamak isteyeceğim yada kullanabileceğim bi kod olmadığından (kod testleri yaptığım sadece botlarımla kendi bouncer'ımın olduğu test kanalı var. kendi kendime duyuru eklemeninde bi anlamı yok) 3 ay evvel üzerinde çalıştığım denediğim bu kodları tamamen silmişim burdan copy-paste etmem gerekti ama buraya ilk attığım botumda denediğim o çalışan hali yok şimdi elde tabi ve nasıldı hatırlamıyorum.

o nedenle kodu tamamen değişiyorum şu an uzun zamandır switch kullanmak için fırsat kolluyordum daha evvel hiç bi kodda kullanmayı denememiştim ama aklımdaydı hep.
şimdi kodu switch ile tek procedure içinde toplayıp, içine eklenen duyuruları listeleme işinide ekleyip, özelde okuma işinide bir child procedure üzerinden main procedure içinde default'ta döndürerek halletmeye çalışıyorum işi bitince kodu buraya atarım ..tamamen farklı* bi kod olacak yukardakilerden onu diyebilirim.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 23: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