Jump to content

chain

Administrators
  • Posts

    5,964
  • Joined

  • Last visited

  • Days Won

    17

Posts posted by chain

  1. kanalınıza girmesini istemediğiniz kişileri otomatik olarak banlaması ve nick değiştirse dahi kanala girişini engellemektir.
    Kişiye özel akick listesi diyebiliriz.

    on *:input:#: {
      if $regex($1,/^([.!-]ban)/Si) {
        if !$2 { echo -a 2Lütfen parametre belirtiniz.4 !ban kayit|liste|sil Örnek : !ban Liste | return }
      }
      if $2 == liste {
        if $lines(ban.txt) = 0 { echo -a 2Belirtilen ban mevcut değil. | halt }
        echo -a 2ban listesi siralaniyor.
        var %banla 1
        while (%banla <= $lines(ban.txt)) {
          echo -a %banla $read(ban.txt,%banla)
          inc %banla
        }
      }
      if $2 == ekle {
        if !$3 { echo -a 2Lütfen nick belirtiniz.4 !ban ekle nick | return }
        if $read(ban.txt,w, $+ * $+ $nick $+ * $+ ) { echo -a 2Eklemeye çalıştığınız nick zaten listede ekli bulunuyor. | halt }
        write ban.txt $3 | mode # +b $3 | kick # $3 4,1Kişisel Ban listeme eklendiniz.
        echo -a 4 $+ $3 $+ , 2ban listesine eklenmiştir.
      }
      if $2 == sil {
        if !$3 { echo -a $nick 2Lütfen nick belirtiniz.4 !ban sil numara | return }
        if $lines(ban.txt) = 0 { echo -a 2Ban kaydı bulunamadi. | halt }
        write $+(,-dl,$3,) ban.txt
        echo -a $3 $+ , 2Numaralı nickin ban kaydı silindi.
      }
    }
    on *:join:#: {
      if ($read(ban.txt,w,$nick)) {
        mode # +b $nick | kick # $nick 4,1 Kişisel Ban Listemdesiniz.
      }
    }
    on *:nick: { if $read(ban.txt,w,$nick) { echo -a Ban listesindeki $nick  $newnick nickini aldığı için ban listesine eklendi. | write ban.txt $newnick  | mode # +b $newnick | kick # $newnick 4,1Nick değiştirip kanalıma girmeye çalıştığınızı tespit ettim.  } 

     

  2. Death is nothing strange to anyone living on earth and even though we might yet be alive physically, we have had experiences of death in some areas of our lives that left us feeling shattered and torn. Though this might be likened to a death experience, it is nothing compared to the death of someone we know.

    Josh You were loved by all that came across you. You have left your footprints on the sand of time. You will be deeply Missed My Friend.
    May you find peace and Happiness where you are now, and continue DJ'ing as we all know you will. 

     Eyecu-err0r-chain
  3. Belirtilen #kanal içerisinde belirtilen kelime(100 kelime) kadar konuşan kullanıcıya kanalda otomatik voice(+) vermek için kullanabileceğimiz koddur. Puanlarımızı kontrol etmek içinse tabi kod'u ekleyen kişi hariç kanalda !puan yazarak puanları öğrenebilir.

     

    on *:text:*:#kanal: { if !$hget(kns,$nick) { hadd -m kns $nick 1 | hsave -i kns kns.db }
    
    else { if $hmatch(kns,$nick) { hinc -m kns $v1 1 | hsave -i kns kns.db } }
    if $hget(kns,$nick) == <span style="color: #0000ff">100</span> { msg # $+($nick,:) 0,1Tebrikler <span style="color: #0000ff">100</span> puan olduğunuz için; +voice kazandınız. | mode # +v $nick | hadd -m vnick $nick 1 | hsave -i vnick vnick.db }
    if $1 == !puan { if $2 == $me { msg # $+($nick,:) Benim puanmımı boşver, sen sohbetine bak. | halt }
    if !$hmatch(kns,$2) { msg # $+($nick,:) $qt($2) Listetede bulunamadı. }
    else { msg # $+($nick,:) 13 $2  4umuzun Puani $hget(kns,$2) } } }
    on *:start: { if $isfile(vnick.db) { hmake vnick 100 | hload -i vnick vnick.db } | if $isfile(kns.db) { hmake kns 100 | hload -i kns kns.db } }

     

  4. menu menubar { 
      Düşman Listesi:/dusman
    } 
    ####################
    alias -l _buser { .guser blacklist $1 3 }
    alias -l _rbuser { .ruser blacklist $1 3 }
    alias -l _luser { dialog -m dusmanlist dusmanlist }
    alias -l _blist {
      did -r dusmanlist 11
      var %_btotal = $ulist(*,blacklist,0) , %_b = 0
      while (%_b < %_btotal) {
        inc %_b
        did -a dusmanlist 11 $ulist(*,blacklist,%_b)
      }
    }
    alias dusman { /dialog -m dusmanlist dusmanlist }
    dialog dusmanlist {
      title "Düşman Listesi"
      size -1 -1 106 117
      option dbu
      combo 11, 6 19 94 50, extsel sort autohs autovs
      text " Eklediğiniz nickler Gline yiyecektir. Buna Göre Ekleyeceğiniz nicklere dikkat edin", 2, 6 4 95 15
      box "", 3, 3 0 101 96
      edit "", 12, 6 69 94 10 , read autohs
      button "Ekle", 20, 7 81 40 12 , default
      button "Sil", 30, 58 81 40 12 , default
      box "", 7, 3 94 101 21
      button "Pencereyi Kapat", 8, 17 100 73 12, ok
    }
     
    on *:dialog:dusmanlist:init:*: {
      _blist
    }
     
    on *:dialog:dusmanlist:sclick:*: {
      if ($did == 20) {
        if ($did(11).text != $null && $level($did(11).text) != blacklist) {
          var %_badd = $did(11).text
          .auser blacklist %_badd
          _blist
          did -o $dname 12 1 %_badd Kara Listeye Alındı...
        }
      }
      if ($did == 30) {
        if ($did(11).text != $null && $level($did(11).text) == blacklist) {
          var %_brem = $did(11).text
          .ruser blacklist %_brem
          _blist
          did -o $dname 12 1 %_brem Kara Listeden Silindi...
        } 
      }
    }
     
    on @blacklist:join:#: {
      .gline $nick 15m Uzaklastırıldınız | .echo $nick 0,1 Kötü Nick / Düşman Listesinden ötürü Serverden Atıldı.  %Logo1
    }

     

  5. bu proxy-sock[4-5] tarayıp, bulan, kayıt eden ve banlamaya yarayan bir kod..
    açıklaması içinde 2-3 ayarla direk scriptinizde yada botunuzda kullanabilirsiniz..

    kod icindeki şu bölümleri ayarlayarak kullanabilirsiniz..
    aklınıza takılan ne varsa konu içinde sorabilirsiniz.. iyi eglenceler..

    TestServer=irc.chatfox.net
    TestServerIP=107.161.19.71
    KontrolPort=80 8080 1080 3124 3127 3128 8000 9050 443
    bazi cok kullanilan portlar
    Ban=1
    0 Echo | 1 Gzline
    0 yalnizca ekrana yansitacaktir eger asagidaki log aciksa kayit alacaktir.
    Log=1
    bu deger 1 olursa gunluk bulunan proxyler kayit olacaktir
    kayit islemi gun-ay-yil.txt olarak kayit edilir.
    Komut=GZline
    ;socker botlar için orn: “sockwrite -tn bot_adi kline”

    sisteminize entegrasyon için öneriler:
    serverinize giriste gorunen ip adreslerini (1.1.1.1) formatinda
    olacak bicimde $sok(1.1.1.1) kodunu snotice event'iniza ekleyin

    Elle tarama icin /sok 1.1.1.1 8080

    dokumandan yani txt dosyasindan taramak icin

    /prx dosyaadi.txt
    dosya icindeki proxyler asagidaki bicimlere uygun olmalidir
    101.255.17.244:1080
    103.16.112.137[bosluk]1080
    103.16.112.137[tap]1080

    eger genel olarak bir arama baslatmak isterseniz
    ki bu normal giren kullanicilari tarama esnasinda calisabilir

    /pbul 95.0.0.0

    bu komut ile 95.255.255.255 araligindaki tüm iplerde proxy arayacaktir.
    arama islemi port sayisina gore bir zaman belirlenmistir, boylelikle
    her IP icin 25 format ve 5 formasyon(proxy,sock4,sock5 vb) deneyecektir
    bu islem cok uzun surebilir, ancak kesin calisan ve anlik aktif proxyleri bulmanizi saglar.

    alias banz {
      $iif($conf(Ban) = 1,$conf(commandline),echo 3) $+(*@,$sock($1).ip)  $+($tip($1),$regsubex($sock($1).ip,/(\d+$)/i,$+($str(*,$len(\t)),:,$+(*@,$sock($1).port)))) 
      if $conf(log) { write $+($replace($date,/,-),.txt) $+($sock($1).ip,:,$sock($1).port) }
      sockclose $1
    }
     
     
    ;ip araligi
    alias pbul {
      if $regex(ip,$1,/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g) {
        if $gettok($1,1,46) < 1 { echo ** Hatali ip.. Class A "1" den dusuk olamaz. orn: 1.0.0.0 | return }
        set %d¨ $gettok($1,4,46) |  set %c¨ $gettok($1,3,46) | set %b¨ $gettok($1,2,46) |  set %a¨ $gettok($1,2,46)
      }
      $iif(!%d¨,set %d¨ 0) 
      ;class D
      $iif(!%c¨,set %c¨ 0) 
      ;class C
      $iif(!%b¨,set %b¨ 0) 
      ;class B
      $iif(!%a¨,set %a¨ 1) 
      ;class A
      if %d¨ < 256  { inc %d¨ }
      if %d¨ == 256 && %c¨ < 256 { inc %c¨ | unset %d¨ }
      if %c¨ == 256 && %b¨ < 256 { inc %b¨ | unset %d¨,%c¨ }
      if %b¨ == 256 && %a¨ < 256 { inc %a¨ | unset %b¨,%c¨,%d¨ }
      if %a¨ == 256 && %a¨ < 256 { inc %a¨ | unset %b¨,%c¨,%d¨ }
      if %a¨ == 255 && %b¨ == 255 && %c¨ == 255 && %d¨ == 255 { echo : IP Tamamlandi | unset %*¨* }
      $iif(!%d¨,set %d¨ 0) 
      $iif(!%c¨,set %c¨ 0)
      $iif(!%b¨,set %b¨ 0) 
      $iif(!%a¨,set %a¨ 1)
      sok $+(%a¨,.,%b¨,.,%c¨,.,%d¨)
      titlebar :Sock&Proxy Araniyor:  $+(%a¨,.,%b¨,.,%c¨,.,%d¨)
      .timer_ipc 0 4 pbul
    }
    alias prx {
      ;/prx dosya.txt 
      ;> 1.1.1.1 3128
      if $1 { var %dos $1 }
      var %i 0
      while %i < $lines(%dos) { 
        inc %i | sok $replace($read(%dos,%i),:,$chr(32),$chr(9),$chr(32)) 
      }
    }
    ;baglanti baslatici
    alias sok {
      if $regex($2,/(\d+)/) {
        var %typ $iif( $gettok(%port,%i`,32) == 443,sockopen -e,sockopen)
        if $gettok(%port,%i`,32) == 9050 { 
          %typ $+(Tor~,$1,:,$2)  $1 $2   
        }
        %typ $+(sock4~,$1,:,$2)  $1 $2
        %typ $+(sock5~,$1,:,$2) $1 $2
        %typ $+(proxy~,$1,:,$2) $1 $2
        %typ $+(proxyGet~,$1,:,$2) $1 $2
        %typ $+(proxyPOST~,$1,:,$2) $1 $2
      }
      if !$2 {
        var %port $conf(conport)
        var %i` 1,%$1 $1
        while %i` < $gettok(%port,0,32) {
          var %typ $iif( $gettok(%port,%i`,32) == 443,sockopen -e,sockopen)
          var %s_  $+(%$1,:,$gettok(%port,%i`,32)) %$1 $gettok(%port,%i`,32)
          if  $gettok(%port,%i`,32)  == 9050 { %typ Tor~ $+ %s_   }
          else {
            %typ sock4~ $+ %s_ 
            %typ sock5~ $+ %s_ 
            %typ proxy~ $+ %s_
            %typ proxyGet~ $+ %s_
            %typ proxyPOST~ $+ %s_ 
          }
          inc %i`
        }
      }
    }
    ;ini & mrc fix
    alias readini_ {
      if $regex($script,/(\.ini$)/) { return $gettok($read($script, w, $+(*,$3,=*)),-1,61) }
      else { return $readini($1,$2,$3) }
    }
    ;konfigurasyon yonlendirici
    alias conf {
      goto $1 
      :serverip { return $readini_($script,proxykiller,TestServerIP)  } 
      :server { return $readini_($script,ProxyKiller,TestServer) } 
      :port { return $gettok($+(666,$r(5,9)) 7000,$r(1,2),32) }
      :conport { return $readini_($script,proxykiller,KontrolPort) }
      :ban { return $readini_($script,proxykiller,ban) }
      :commandline { return $readini_($script,proxykiller,komut) }
    }
     
    ;random nick!ident@*:user
    ;$ren(3,15)
    alias ren {
      var %l' $r($1,$2),%s' a e i o u,%a' . b c d f g h j k l m n p r s t v x w y z . 
      :r 
      var %k' $addtok(%k', $gettok(%a',$r(1,$numtok(%a',32)),32),32) 
      if $len(%k') < %l'  goto r 
      if  $len(%k') >= %l' return $regsubex($regsubex(%k',/(\W)/ig,$gettok(%s',$r(1,$numtok(%s',32)),32)),/([a-f]|[c-g]|[x-z])/g,$iif($r(1,10) > 5,$upper(\t),\t)) 
    }
    ;$ran(nick,user,host,ident)
    alias ran {
      if $1 == nick {  return $ren(1,13) }
      if $1 == user {  return $gettok($regsubex($left($md5($ticks),$r(3,20)),/(.)/g,$iif(5 \\ \n,\t $left($+($r(a,z),$md5($ticks)),$r(3,11)))),2-,32) }
      if $1 == ident {  return $ren(1,13) } 
      if $1 == host { return $ren(1,10) }
    }
     
    ;Soket olaylari
    on *:sockopen:*:{ 
      echo 4 OPEN Soket: $replace($sockname,~,$+($chr(32),Method:,$chr(32)))
      var %s sockwrite -nt $sockname
      if ($sockerr > 0) { sockclose $sockname | return }
      if *sock5~* iswm $sockname {
        bset &bb5 1 5 1 0
        sockwrite -n $sockname &bb5
        bunset &bb5 
      }
      if *sock4~* iswm $sockname {
        bset &b4 1 4 1 $gettok($longip($conf(port)),3,46) $gettok($longip($conf(port)),4,46) $replace($conf(serverip),.,32) 0 
        sockwrite $sockname &b4 
        bunset &b4 
      }
      if *Proxy~* iswm $sockname  {
        %s CONNECT  $+($conf(server),:,$conf(port)) HTTP/1.0 $str($crlf,2)
        %s $crlf
        sockrename $sockname $replace($sockname,proxy~,proxy_)
      }
      if *ProxyGet~* iswm $sockname  {
        %s GET  $+($conf(server),:,$conf(port)) HTTP/1.0 $str($crlf,2)
        %s $crlf
        sockrename $sockname $replace($sockname,proxyGet~,Gproxy_) 
      }
      if *ProxyPOST~* iswm $sockname {
        %s POST  $+($conf(server),:,$conf(port)) HTTP/1.0 $str($crlf,2)
        %s $crlf
        sockrename $sockname $replace($sockname,proxyPOST~,PostProxy_) 
      }
      if *Tor~* iswm $sockname {
        %s CONNECT  $+($conf(server),:,$conf(port)) HTTP/1.0 $str($crlf,2)
        %s $crlf
        sockrename $sockname $replace($sockname,ProxyTor~,ProxyTor_)
      }
    }
    ;veri okuma
    on *:sockread:*:{ 
      if $sockbr { sockclose $sockname | return } 
      if *sock*~* iswm $sockname {
        if *sock5~* iswm $sockname {
          sockread &sock5 
          if ($bvar(&sock5,1,2) == 5 0)  {
            bset &sock5 1 5 1 0 1 $replace($conf(serverip),.,$chr(32)) $gettok($longip(6667),3,46) $gettok($longip(6667),4,46)
            sockwrite -n $sockname &sock5 | bunset &sock5 
            sockrename $sockname $replace($sockname,sock5~,sock5:)
          }
        }
        if *sock4~* iswm $sockname {
          sockread &s4 
          if $regex($bvar(&s4,2),/(9[1|2|3])/g) {  echo **  Sock4 Error : $bvar(&s4,2) @ $sockname | sockclose $sockname | return }
          if $bvar(&s4,2) == 90 { 
            echo 3 [ $sockname ] *** Bilgiler gonderildi!
            sockwrite -tn $sockname CAP LS
            var %nk $ran(nick)
            sockwrite -tn $sockname NICK %nk
            sockwrite -tn $sockname USER $ran(nick) 0 * : $ran(user)
            sockrename $sockname $replace($sockname,sock4~,$+(sock4_,%nk,_)) 
          } 
        }
      }
      if *sock5:* iswm $sockname  {
        echo 3 [ $sockname ] *** Bilgiler Gonderildi!
        sockwrite -tn $sockname CAP LS
        var %nk $ran(nick)
        sockwrite -tn $sockname NICK %nk 
        sockwrite -tn $sockname USER $ran(nick) 0 * : $ran(user)
        if *sock5:* iswm $sockname { .sockrename $sockname $replace($sockname,sock5:,$+(sock5_,%nk,_)) }
      }
      ;sock testi 
      :data
      if *sock*_* iswm $sockname {
        :-
        sockread -f &d 
        if ($sockbr == 0) return
        var %f $bvar(&d,1-).text
        tokenize 32 %f
        echo :SOCK: %f
        if *PING* iswm %f {
          sockwrite -nt $sockname PONG $gettok(%f,2,$asc(:))
        }
        if *NOTICE*AUTH* iswm %f { 
          echo 4,8 Sock OK!  $sockname
          banz $sockname
        }
        if *proxy* iswm %f { 
          echo 4,8 Bilinmeyen !  $sockname 
          banz $sockname
        }
        goto - 
      }
      ; proxy testi
      if *proxy* iswm $sockname || *Tor_* iswm $sockname {
        :.
        if ($sockbr == 0) return
        sockread -f %p 
        tokenize 32 $1-
        echo :PROXY: $sockname %p
     
        if *HTTP*Connection*established* iswm %p {
          var %nk $ran(nick)
          sockwrite -tn $sockname NICK %nk 
          sockwrite -tn $sockname USER $ran(nick) 0 * : $ran(user)
        }
        if *PING* iswm %p {
          echo 4,8 Proxy OK!  $sockname
          linesep
        }
        if *proxy* iswm %p {
          echo 4,8 Bilinmeyen !  $sockname
          banz $sockname
        }
        if *TOR* iswm %p {
          echo 4,8 TOR OK!  $sockname
          banz $sockname
          linesep
        }
        if *NOTICE*AUTH* iswm %p {
          echo 4,8 Proxy OK!  $sockname
          banz $sockname
          linesep
        }
        goto .
      }
    }
    ;proxy tipi ayirici
    alias -l tip {
      if *sock4_* iswm $1 { return Sock4 }
      if *sock5_* iswm $1 { return Sock5 }
      if *ProxyGet* iswm $1 { return Proxy GET }
      if *ProxyPost* iswm $1 { return Proxy Post }
      if *Tor* iswm $1 { return Proxy TOR }
    }
    ;ban islemi

     

  6. The release candidate for 6.1.1 is now available for testing. You can help us by testing and reporting any issues at https://bugs.unrealircd.org/.

    See the release notes for all the interesting new stuff.

    We also have a new wiki article about Special users, for admins who want to give trusted users/bots more rights than others, but don't want to make them IRCOp. It can be worth reading.

    If you want to upgrade to this Release Candidate (RC) on *NIX, then use: ./unrealircd upgrade --rc

  7. When comparing IRC vs Discord, the Slant community recommends Discord for most people. In the question“What is the best team chat software?” Discord is ranked 6th while IRC is ranked 12th. The most important reason people chose Discord is:

    Discord follows the same type of interface design popularised by Slack, which is extremely clean and attractive, and doesn't clutter the interface with unnecessary chrome and cruft.

  8. It's been months in the making and this is the first stable release. With many more upgrades to come.

    Mirc

    Secure Mirc Chat, no connection script needed.
    /server ircxchat.com:+6697 or +994

    Server Is IRC/IRCX protocol, so most snippets will work without editing.

    Web Chat

    Secure Web Chat that can be embedded/Iframed on to your website. Unicode nicknames and the list goes on.
    No branding, it will look like your own chat!

    Tabbed chat rooms all on one page.

    I can make up a set of pages dedicated to your room. Contact me.

    Eg. https://www.ircxchat.com/sonic/red.html

    If you are a radio station, we can set up a radio bot in your room Free!

    The chat is more like a Mirc and the rooms list is available after you connect.

    Mobile friendly also.

    Security is becoming a big issue with all browsers and this chat is totally Secure  https://www.ircxchat.com

    Feel free to check it out, the server can handle 50,000 connections. Dreaming, right, but that's what it can handle.

    When we release these servers, they can be linked together.

    This server has total DDOS protection and all conversations are encrypted for your privacy.

    Any questions, post below.

  9. It's nice to see err0r back in IRCommunity on Buzzen.
    This room at one point use to be so much fun with scripters and testing ..kicking but mainly with good friends. I like to see this room once again pickup with scripters. If ppl need help with scripts or addons this is the place to come. 
  10. Description

    Knock-out permet de passer vos nerfs sur n'importe qui ou n'importe quoi en le renversant avec rage.
    Il est inspiré du plugin lita-flip pour le bot Lita, qui est un bot IRC écrit en ruby.


    Activation

    Pour activer Knock-out sur un chan, vous devez taper ceci en partyline de l'Eggdrop :
         .chanset #NomDuChan +ko
    et ceci pour le désactiver :
         .chanset #NomDuChan -ko


    Exemple :

       <MenzAgitat> !ko CrazyCat
       <Boole> (╯°□°)╯︵ ʇɐɔʎzɐɹɔ


    Post support (commentaires / suggestions / rapports de bugs)

    http://forum.eggdrop.fr/showthread.php?tid=1590
     
    Vous pouvez trouver une liste de mes autres releases ici
     

    Changelog

    Version 1.11 par MenzAgitat (17/04/2020)
    258 téléchargements

    • Ajout : le caractère æ est maintenant supporté.
    • Correction : le caractère œ était censé être supporté mais n'était pas reconnu en raison d'un mauvais format d'encodage du fichier knock-out.tcl

    Version 1.1 par MenzAgitat (17/04/2020)
    1 téléchargements

    • Ajout : Il est maintenant possible de définir plusieurs commandes d'activation.
    • Ajout : nouveau paramètre de configuration compatibility_mode permettant de définir le mode de compatibilité selon la version d'Eggdrop que vous utilisez.
    • Correction : le script refusait de se charger sur les Eggdrops v1.8+

    Version 1.02 par MenzAgitat (27/08/2015)
    36 téléchargements
     

    • Ajout : le caractère . est maintenant supporté.

     


    Version 1.01 par MenzAgitat (26/08/2015)
    0 téléchargements
     

    • Ajout : les caractères ; _ ^ ` sont maintenant supportés.
    • Ajout : un message d'aide à la syntaxe est affiché si la commande est utilisée sans arguments.
    • Correction : le caractère ! n'était pas converti correctement.

     


    Version 1.0 par MenzAgitat (19/08/2015)
    0 téléchargements
     

    • 1ère version

    20200417182235-knock-out_v1_11.zip

  11. Description

    Le bot choisit un mot au hasard et le présente masqué.
    Selon la longueur du mot à trouver, des lettres indices peuvent être placées dès le départ.
    Vous devez tenter de deviner le mot en faisant des propositions.
    Les mots que vous proposez doivent exister (ils sont vérifiés grâce à l'Officiel du Scrabble™ v6 (ODS6)) et avoir la même longueur que le mot qu'il faut trouver.
    A chaque proposition que vous faites, le jeu vous indique quelles lettres sont bien placées et lesquelles sont mal placées.


    Exemple
     
    Quote:::::| _ _ _ _ _ _ R |:::: (il faut trouver le mot VOILIER)

    Je propose GOSIERS :

    ::::| G O S I E R S |:::| _ O _ _ _ _ R |::::

    Dans la partie gauche, je vois le mot que j'ai proposé et les couleurs m'indiquent que :
    • le O est bien placé
    • le I, le E et le R sont mal placés
    • il n'y a pas de G ni de S dans le mot qu'il faut trouver.
    Dans la partie droite, les lettres bien placées viennent s'ajouter à celles qu'on connaît déjà.

    Continuons l'exemple encore une fois : je propose OUVRIER.

    ::::| O U V R I E R |:::| _ O _ _ I E R |::::

    En regardant la partie gauche, les couleurs m'indiquent que :
    • le I, le E et le R sont maintenant bien placés
    • le O et le V sont mal placés
    • il n'y a pas de U dans le mot qu'il faut trouver, ni de 2ème R (on en a déjà placé un).


    Screenshot

    http://i.imgur.com/M0paXB0.png


    Fonctionnalités
     
    • l'auteur est sympa
    • une base de données de 385574 mots de 4 à 15 lettres
    • vérification des propositions grâce à l'Officiel du Scrabble™ v6 (ODS6)
    • niveau de difficulté entièrement paramétrable au moyen de très nombreuses options (longueur des mots, indices, temps imparti, etc...)
    • possibilité de jongler facilement entre plusieurs configurations de jeu pré-réglées
    • les joueurs peuvent demander un changement de profil de configuration (pour changer de niveau de difficulté par exemple) et voter pour ou contre
    • certaines actions peuvent faire gagner des points, certaines autres peuvent en faire perdre
    • des indices automatiques sont donnés de deux façons possibles : soit lorsqu'aucun mot n'est proposé pendant un temps donné, soit lorsqu'aucune nouvelle lettre n'est bien placée pendant un temps donné
    • système de hauts faits avec un total de 60 hauts faits à accomplir
    • système de records (champion de la semaine, champion de la semaine dernière, top3 des meilleurs champions, plus grand nombre de titres de champion, plus grand nombre de rounds gagnés, joueur le plus rapide)
    • statistiques individuelles (rounds gagnés, score cumulé, mots proposés, mots inexistants / déjà dits, lettres bien placées, lettres mal placées, meilleur temps, points de hauts faits, titres détenus)
    • couleurs paramétrables
    • mode monochrome pour les déficients visuels, les chans qui bloquent la couleur, ou simplement si vous préférez le jeu en noir et blanc
    • arrêt automatique du jeu lorsque personne ne joue
    • affichage de la définition des mots à la fin de chaque round
    • si une définition est trop longue pour être affichée intégralement, un lien tinyurl est donné pour lire la suite
    • possibilité de voicer les joueurs qui trouvent un mot
    • affichage d'annonces de votre choix entre deux rounds
    • le jeu peut prévenir sur un autre chan de votre choix lorsqu'une partie de Motus commence, afin de ramener des joueurs supplémentaires
    • le jeu peut vous prévenir par message privé lorsqu'une partie de Motus commence
    • système de suivi des changements de nick et de fusion automatique des scores / stats afin de limiter les risques de dispersion de ses scores
    • système anti-triche qui détecte les maneuvres visant à s'approprier le score d'autrui et qui enregistre dans le log des informations détaillées ainsi que les nick / ident / host du contrevenant
    • backup quotidien des fichiers importants (scores, statistiques, ...)
    • cycle hebdomadaire automatique des scores et des statistiques
    • exportation des scores et statistiques du jeu en HTML
    • template HTML / CSS facilement modifiable afin d'adapter la page de scores / statistiques à vos goûts
    • autorisations paramétrables individuellement pour chaque commande du Motus
    • installation / désinstallation / mise à jour facile
    • et d'autres à découvrir...

    Commandes par défaut

    Commandes utilisables par les joueurs :
    !aide : affiche la liste des commandes
    !motus : démarre une partie
    !scores : top 10 des scores
    !score [nick] : affiche le score d'un joueur; affiche votre propre score si aucun nick n'est spécifié
    !place [nick] : affiche la place d'un joueur dans le classement général; affiche votre propre place si aucun nick n'est spécifié
    !stat [nick] : affiche les statistiques d'un joueur; affiche vos propres stats si aucun nick n'est spécifié
    !records : affiche les records du jeu
    !repete : affiche l'état du mot en cours
    !profils : affiche la liste des profils de configuration disponibles à la sélection par les joueurs, ainsi que le nom du profil actuellement utilisé
    !change <profil de configuration> : permet à un joueur actif de demander un changement de profil de configuration
    !vote <pour/contre> : permet à un joueur actif de voter pour ou contre un changement de profil de configuration

    Commandes réservées aux modérateurs :
    !stop : arrête une partie
    !suivant : passe au mot suivant
    !indice : affiche un indice supplémentaire
    !motus [on/off] : active/désactive le jeu
    !motus reload : désinstalle/réinstalle le script afin de prendre en compte d'éventuelles modifications du script ou de la configuration (équivaut à un restart de l'eggdrop qui ne s'appliquerait qu'au script du Motus)
    !motus version : affiche la version du Motus
    !findplayer <masque_de_recherche> : affiche une liste des joueurs correspondant au masque de recherche dans les statistiques du jeu (jokers acceptés)
    !fusion <nick1> <nick2> [[nick3] [...]] : fusionne les scores et les statistiques de <nick1>, <nick2>, etc... dans <nick1>.
    !rename <ancien_nick> <nouveau_nick> : renomme ancien_nick en nouveau_nick dans les scores et les statistiques personnelles
    !config [profil de configuration] : applique un autre fichier de configuration. utilisé sans arguments, affiche le profil de configuration actuellement utilisé.
    !updatestats : provoque manuellement une mise à jour de la page HTML contenant les statistiques / scores.
    !clearscores : remise à zéro des scores
    !resetstats : remise à zéro des statistiques


    Post support

    http://forum.eggdrop.fr/showthread.php?tid=137

    Une documentation détaillée est fournie, et je vous incite fortement à lire le fichier lisezmoi.html qui contient des informations importantes.
    Si vous ne le faites pas et que quelque chose échappe à votre contrôle, ne venez pas vous plaindre 😉


    Partage

    J'encourage vivement quiconque créera un template personnalisé et original pour sa page de statistiques en html/css, à le partager avec tous. Je pourrai ainsi inclure les meilleurs dans les prochaines versions de Motus.

    Vous pouvez aussi nous dire comment vous avez réglé les différents paramètres qui influent sur la difficulté du jeu, ceux fournis par défaut n'étant réglés ainsi que pour donner un point de départ.


    Vous pouvez trouver une liste de mes autres releases ici
     
     

    Changelog

    Version 3.357 par MenzAgitat (18/04/2020)
    1490 téléchargements

    • Correction : les caractères accentués n'étaient pas reconnus comme tels lors de la recherche de la définition d'un mot en ligne.

    Version 3.356 par MenzAgitat (14/04/2020)
    9 téléchargements

    • Correction : si le paramètre define_words était activé alors que le package TLS n'était pas présent, le script rencontrait une erreur.
    • Correction : une erreur pouvait se produire sur les Eggdrops 1.8.x en raison d'un problème de compatibilité ascendante de la commande matchattr. (cf. https://github.com/eggheads/eggdrop/issues/815)
    • Correction : la récupération de la définition d'un mot provoquait une surconsommation en ressources CPU et était lente.
    • Correction : le jeu rencontrait une erreur et se bloquait si la version du package http était supérieure ou égale à 2.9.0, suite à une modification du fonctionnement de la procédure formatQuery.

    Version 3.355 par MenzAgitat (18/07/2017)
    324 téléchargements

    • Correction : ajout du support HTTPS suite au passage en HTTPS forcé du site www.notrefamille.com
      Veuillez noter que le package TLS est désormais requis pour afficher la définition des mots.

    Version 3.354 par MenzAgitat (16/03/2017)
    0 téléchargements

    • Correction : l'affichage de la définition des mots ne fonctionnait plus suite à un changement du site www.notrefamille.com
    • Correction : le script indiquait un problème de version lors du chargement sur un Eggdrop v1.8.

    Version 3.353 par MenzAgitat (29/03/2016)
    0 téléchargements
     

    • Correction : Motus était devenu dépendant du script Mediadico par erreur depuis la v3.352.
    • Correction : Les accents sont désormais filtrés avant la récupération de la définition des mots.

     


    Version 3.352 par MenzAgitat (24/03/2016)
    0 téléchargements
     

    • Correction : l'affichage des définitions des mots ne fonctionnait plus suite à un changement du site www.notrefamille.com

     


    Version 3.351 par MenzAgitat (28/07/2014)
    0 téléchargements
     

    • Modification : la procédure d'affichage de la définition des mots est désormais capable de suivre jusqu'à 5 redirections lorsqu'elle tombe plusieurs fois successives sur une page où il est demandé de choisir entre plusieurs mots possibles.

     


    Version 3.35 par MenzAgitat (22/07/2014)
    0 téléchargements
     

    • Correction : un problème a été introduit dans la procédure d'affichage des définitions depuis la version 3.342 et rendait Motus dépendant du script mediadico.tcl
    • Correction : l'affichage des définitions des mots ne fonctionnait plus suite à un changement du nom de domaine du site www.mediadico.com en www.notre-famille.com
    • Modification : une file d'attente séparée et temporisée est maintenant utilisée pour l'affichage de l'aide afin de ne pas engorger la file d'attente puthelp en y envoyant beaucoup de messages simultanément.
    • Ajout : 15 nouvelles annonces inter-round

     


    Version 3.342 par MenzAgitat (09/03/2014)
    0 téléchargements
     

    • Correction : l'affichage de la définition des mots ne fonctionnait plus suite à un changement de mise en page du site www.mediadico.com
    • Correction : la commande !fusion provoquait une erreur si l'un des nicks secondaires n'existait pas dans les scores/statistiques.

     
     


    Version 3.341 par MenzAgitat (28/12/2013)
    0 téléchargements
     

    • Correction (encore) d'un bug se produisant lorsque l'option players_can_change_profile était désactivée.

    Version 3.34 par MenzAgitat (27/12/2013)
    0 téléchargements
     

    • Modification de la procédure de raccourcissement des URLs par TinyURL pour qu'elle utilise l'API.
    • Modification : l'option compatibility_mode a disparu de la configuration car elle n'avait plus aucun sens, étant donné que le jeu nécessite au minimum une version 1.6.20 d'Eggdrop pour fonctionner.
    • Correction : il arrivait parfois qu'un round expire au moment exact où un joueur trouvait un mot, ce qui validait la victoire mais produisait une erreur.
    • Correction de la procédure d'affichage de la définition d'un mot suite à un changement de mise en page du site www.mediadico.com

    Version 3.33 par MenzAgitat (18/01/2013)
    0 téléchargements
    - Correction de plusieurs bugs dans la procédure d'affichage des définitions.
    - Correction d'un bug dans la procédure de suivi des redirections HTTP.
    - Correction d'un bug dans le système anti-freeze du jeu : si le jeu était relancé automatiquement après avoir détecté un blocage, puis rencontrait une autre erreur le bloquant à nouveau, il n'était pas relancé.


    Version 3.32 par MenzAgitat (03/01/2013)
    0 téléchargements
    - Correction d'un bug se produisant lorsque l'option players_can_change_profile était désactivée et empêchant le jeu de fonctionner.
    - Correction de la procédure d'affichage de la définition des mots, elle avait cessé de fonctionner depuis une mise à jour du site duquel les définitions sont récupérées.
    Les paramètres show_orthographic_difficulties, orth_diff_max_lines, show_homonyms_paronyms et hom_par_max_lines ont disparu.
    - Correction d'une erreur survenant parfois dans la procédure d'arrêt silencieux du jeu.
    - Correction : malgré l'existence de l'option compatibility_mode, le jeu refusait de se charger sur les Eggdrops v1.6.19
    - Correction : si l'Eggdrop était déconnecté du serveur alors qu'une partie était en cours avec un mode de difficulté différent de celui par défaut, ce dernier n'était pas restauré automatiquement.
    - Correction : les changements de profil de difficulté effectués avec la commande !config n'étaient pas pris en compte si une partie était en cours.


    Version 3.31 par MenzAgitat (04/08/2012)
    0 téléchargements

    • Correction d'un bug qui se produisait parfois lors d'un changement de profil de configuration voté par les joueurs, et qui faisait que le jeu proposait un autre mot à trouver quelques secondes après le précédent.
    • Correction : l'espace mémoire alloué par certaines variables du jeu n'était pas libéré à la fin d'une partie.

    Version 3.3 par MenzAgitat (06/07/2012)
    0 téléchargements

    • Le fonctionnement des fichiers de configuration a été modifié : Un fichier de configuration de base est désormais choisi comme config de référence (par défaut base.cfg), et les profils de configuration supplémentaires viennent s'appliquer par dessus; ça permet d'avoir des profils de configuration allégés puisqu'ils ne contiendront que les paramètres qui changent par rapport à la config de référence.
      Remarque : si vous mettez le script à jour depuis une version précédente, vous pouvez effacer le fichier defaut.cfg qui se trouve dans motus/config/ s'il existe.
    • Ajout des commandes !change !vote et !profils + options associées : Il est maintenant possible pour un joueur actif de demander à changer le profil de configuration en tapant !change nom_du_profil.
      Les autres joueurs actifs pourront alors voter au moyen de la commande !vote pour/contre et le profil ne sera changé que si le vote passe à la majorité absolue. La commande !profils permet d'afficher la liste des profils disponibles à la sélection par les joueurs.
      Ces fonctionnalités peuvent-être activées ou non au moyen du paramètre de configuration "players_can_change_profile"
      La liste des profils autorisés à la sélection par les joueurs se règle au moyen du paramètre "profiles_selectable_by_users"
      3 profils sont fournis à titre d'exemple : facile, normal et difficile.
      L'option "player_cooldown_time" permet de définir pendant combien de temps un joueur qui a proposé un mot valide est considéré comme un joueur actif.
      L'option "vote_time" permet de définir la durée d'un vote.
      L'option "change_lock_time" permet de définir pendant combien de temps les joueurs ne pourront plus demander un autre changement après qu'un changement de profil ait été accepté.
      L'option "restore_default_profile_at_game_end" vous permet de choisir de restaurer ou non le profil de configuration par défaut (défini au début de motus.tcl) lorsqu'une partie se termine et que le profil a été changé.
    • Ajout des paramètres de configuration "profile_description" et "show_profile_description", le premier permettant de définir une description pour chaque profil de configuration et le second de choisir de l'afficher ou non. Cette description sera affichée lors d'un changement de profil voté par les utilisateurs (cf !change et !vote).
    • Ajout de 3 nouvelles variables à utiliser dans les annonces : %profile_description% %num_achievements% et %total_achievements_points% (voir le fichier variables_annonces.txt).
    • La commande !motus report intègre maintenant les timers actifs au rapport qu'elle génère (concerne également les rapports d'erreur générés automatiquement).
    • Correction de quelques hauts faits qui n'étaient pas annoncés.
    • Correction des hauts faits de rapidité qui n'étaient soit pas annoncés, soit annoncés au mauvais moment.
    • Correction de plusieurs bugs d'affichage qui pouvaient se produire avec des joueurs dont le nom commençait par un chiffre.
    • Correction d'un bug qui faisait qu'une fois de temps en temps, le bot affichait une annonce vide entre 2 rounds (depuis la v3.2).
    • Ajout de 2 nouvelles catégories de hauts faits.
    • Ajout de 24 nouveaux hauts faits (pour un total de 60).
      Vous pourrez maintenant remporter un haut fait pour avoir terminé une catégorie de hauts faits, et même un haut fait pour avoir accompli tous les hauts faits !
    • Le comptage des points de hauts faits a été revu et le total est passé à 200. Par conséquent, le nombre de points de hauts faits de vos joueurs va être recalculé selon le nouveau barème.
    • Correction de la procédure d'affichage de la définition des mots, elle avait cessé de fonctionner depuis une mise à jour du site duquel les définitions sont récupérées.
      Les paramètres de configuration definition_paragraphs et definition_lines_per_paragraph ont disparu et sont remplacés par 5 nouveaux paramètres : definitions_max_lines, show_orthographic_difficulties, orth_diff_max_lines, show_homonyms_paronyms et hom_par_max_lines (reportez-vous au fichier de configuration pour des explications détaillées sur ces paramètres).
    • Ajout du paramètre de configuration def_color_4, vous permettant de régler la couleur du message indiquant l'URL vers la définition complète si celle-ci a été tronquée à l'affichage en raison d'une longueur excessive.
    • Ajout du paramètre de configuration shorten_URLs, vous permettant de choisir d'afficher les URLs raccourcies par TinyURL ou leur version complète.
    • Ajout des paramètres de configuration html_filename et css_filename, vous permettant de choisir le nom des fichiers générés lors de l'exportation des statistiques et scores en HTML.
    • Ajout de la variable %CSS_FILENAME% pour la création de templates HTML. (voir le fichier variables_html.txt)
    • Mise à jour de l'Officiel du Scrabble utilisé pour la vérification orthographique des propositions. Il passe de la version 5 à la version 6 et se voit enrichi de 19389 nouveaux mots de 4 à 15 lettres, pour un total de 385574 mots.
    • Ajout de 7 nouvelles annonces inter-round (pour un total de 66).
    • Quelques corrections esthétiques.
    • Nombreuses corrections et optimisations mineures du code (trop nombreuses pour être détaillées).

    Version 3.2 par MenzAgitat (08/01/2012)
    0 téléchargements
    (un changelog complet est inclus avec le téléchargement)

    20200417233427-motus_v3_357.zip

  12. Description :
    Ce script permet de saluer les personnes qui entrent sur un canal avec trois messages différents:
    1. la personne n'est jamais venue
    2. la personne est partie depuis un délai relativement court (par défaut, entre 1h et une journée)
    3. la personne est partie depuis un délai long (par défaut, plus d'une journée)
    @TODO
    Remplacer le système de reconnaissance des utilisateurs

    Changelog

    Version 1.4 par CrazyCat (06/10/2021)
    239 téléchargements
    Ajout de la gestion du AWAY

    Notes :

    • Cette fonctionnalité nécessite que le serveur dispose de la CAP away-notify et que l'eggdrop sache les utiliser (version 1.9.0 minimale)
    • Avec les versions d'eggdrop 1.9.0 et 1.9.1, le nick est déjà suivi d'une virgule (bug corrigé en version 1.9.2)
    • avec les eggdrops de version inférieure (1.6.x, 1.8.x), la fonctionnalité est désactivée automatiquement

    Version 1.3 par CrazyCat (01/10/2021)
    8 téléchargements
    Ajout de l'indication de durée d'absence sur le message de bienvenue


    Version 1.2 par CrazyCat (22/07/2021)
    47 téléchargements
    Correction de la gestion des utilisateurs pour prendre en compte:
    - le changement d'IP sans changement de nick
    - le changement de nick sans changement d'IP


    Version 1.1 par CrazyCat (10/06/2021)
    50 téléchargements

    20211006093804-welcome.tcl

  13. Description :
    Voici un petit script qui permet d'avoir son horoscope du jour.

    Il ne comporte qu'une commande, utilisable en message ou sur certains canaux (liste des canaux configurable dans le tcl): !horo <signe>

    Les horoscopes sont stockés en local, par signe et par jour, lors de la première requête afin de ne pas interroger le site (asiaflash.com) trop fréquemment.

    Changelog

    Version 0.4.2 par CrazyCat (02/11/2022)
    59 téléchargements
    Adaptation du script suite à changement de template du site source


    Version 0.4.1 par CrazyCat (09/06/2017)
    370 téléchargements
    - forçage de la version minimale du package tls 1.6.5
    - ajout d'un cleanup du socket http


    Version 0.4 par CrazyCat (08/06/2017)
    0 téléchargements
    Plusieurs modifications:
    - (dés)activation via le flag +/-horo en party-line (.chanset #canal +/-horo)
    - correction de l'intialisation du https (merci MenzAgitat)
    - le script accepte désormais "poisson" et "poissons"
    - petite correction d'encodage pour les accents


    Version 0.3.2 par CrazyCat (03/06/2017)
    0 téléchargements
    Adaptation suite au passage en https du site source


    Version 0.3.1 par CrazyCat (22/03/2017)
    0 téléchargements
    Correction d'un bug sur la rotation des fichiers de cache


    Version 0.3 par CrazyCat (22/03/2017)
    0 téléchargements
    Adaptation pour la nouvelle version du site asiaflash


    Version 0.2 par CrazyCat (12/07/2011)
    0 téléchargements

    20221102150521-horoscope.tcl

  14. Description :
    Ce tcl permet d'obtenir les informations sur les sorties cinéma (en provenance de http://www.nord-cinema.com) sur un canal

    Commandes
    • !sorties => les sorties de la semaine
    • !semaine => les sorties des semaines précédentes
    • Party-line .cine => force la mise à jour des bases

      Discussion et aide pour cinema.tcl

    Changelog

    Version 1.2 par CrazyCat (26/04/2009)
    181 téléchargements

    • Utilisation d'un namespace
    • Les fichiers "base de données" sont automatiquement créés et remplis si besoin est
    • Possibilité de choisir le type de message (notice ou privé)

    20090426232208-cinema.tcl

  15. Description :
    Calculette.
    Pour une fois que je peux écrire une description claire et concise, c'est comme des vacances...


    Syntaxe
    !calcule <expression>
    Caractères supportés : 0-9 + - * / ( ) % ^ , .
    Fonctions supportées : round wide sqrt sin log10 double hypot atan bool rand abs acos atan2 entier srand sinh log floor tanh tan isqrt int asin min ceil cos cosh exp max fmod pi inf
     

    20100408131854-hypercalcv10.zip

×
×
  • Create New...