Portale IRC - Guide scripts e snippet

venerdì 24 dicembre 2010

Buon Natale da mIRC-Scripting.blogspot.com!


Dallo staff di mirc-scripting.blogspot.com , un augurio di un sereno natale 2010 !

mercoledì 22 dicembre 2010

sabato 18 dicembre 2010

mIRC 7.17 - Nuova Release di mIRC!

Come da titolo, a pochi giorni dal natale, esce il mIRC v 7.17 , ecco di seguito la lista dei cambiamenti , direttamente tratta dal sito ufficiale -> http://www.mirc.com/whatsnew.txt
Changes:
1.Fixed $sock() saddr/sport bug with UDP connections.
2.Updated to OpenSSL 0.9.8q and PCRE v8.11 libraries.

30/11/2010 - mIRC v7.16

Changes:
1.Fixed hadd/hinc/hdec -cuNz bug that was causing data corruption in
  hash tables.
2.Fixed server/dcc connection bug that was causing "Address already in
  use" error message as well as issues with the $portfree() identifier.
3.Fixed custom /dll gpf bug when exiting mIRC for DLLs that were using
  window/message hooking.
4.Updated to OpenSSL 0.9.8p library.
5.Fixed Alt+Minus key combination issue with screen readers that use
  Alt+NumberPadMinus for zooming.
6.Fixed window focus bug when zoomed windows were switched/closed.
Per il download cliccate qui -> http://www.mirc.com/get.html

venerdì 17 dicembre 2010

Crea la Tua Chat! - Configurazione Ottimale della nostra chat!

Siete stanchi delle solite chat? Siete entrati in una chat e vi hanno bannato ingiustamente? Pensate di poter gestire una chat meglio di "loro" ? Cosa aspettate a creare una vostra chat? (invece di stressare su #IRChelp i poveri Helper?) scherzi a parte, avete mai pensato di creare una chat tutta vostra, dove le decisioni le prendete voi, e decidete voi chi far entrare e chi no, e l'argomento della vostra chat?
Bene.. siete pronti? Andiamo per ordine, per realizzare un chan occorrono  requisiti seguenti:
  • Il Vostro nickname dev'essere registrato ed identificato al nickserv;
  • Il Canale che volete creare dev'essere "libero" (ovvero non ancora registrato);
  • Il Canale che volete registrare non deve infrangere nessuna delle regole del /rules e del /motd;
Bene, per prima cosa entriamo nel chan che abbiamo deciso di creare.. esempio #Mirc-Scripting
/join #Mirc-Scripting
Se siamo da soli in chan, ed il chan non è registrato, dovremmo acquisire automaticamente lo status di Op @ , per maggior sicurezza controlliamo se il chan è già stato registrato da altri:
/cs info #Mirc-Scripting
Se il risultato è negativo (chan non registrato) procediamo a registrarlo:
/cs register #Mirc-Scripting [PASSWORD] [DESCRIZIONE]
quindi:
 /cs register #Mirc-Scripting Miap4ssw0rd Canale dedicato al mirc-scripting!
Bene, il chanserv dovrebbe settare i chmode +ntr e dovrebbe settarvi +q  (owner del chan), a questo punto il chan #Mirc-Scripting è registrato sotto il vostro nickname, procediamo alla personalizzazione:
Impostiamo il topic ovvero il "Titolo del chan" quello che tutti vedono quando entrano nel chan, oppure quando cercano nella lista dei chan con li comando /list:
/topic #Mirc-Scripting [TESTODELTOPIC]
/topic #Mirc-Scripting Il Miglior Chan di Mirc Scripting di IRCgate.it !!! -
Bene, ora "proteggiamo" il nostro TOPIC da cambiamenti indesiderati:
/cs set #Mirc-Scripting TOPICLOCK ON
Ora, cosa manca? ma certo, il messaggio di benvenuto, ovvero il messaggio che il chanserv dà all'utente che entra.. una sotra di messaggio di benvenuto (dove magari dare qualche dritta sulla permanenza in chan):
/cs SET #Mirc-Scripting ENTRYMSG [TESTODELMSG]
 /cs SET #Mirc-Scripting Benvenuto nel mio chan! Mi raccomando Comportati bene!
Bene, adesso passiamo allo staff! Di default nel chan sono attive le liste XOP , se vogliamo aggiungere nuovi componenti del nostro staff dobbiamo controllare che abbiano il nickname registrato e poi possiamo "addarli" in questo modo:
/cs VOP #Mirc-Scripting add NICK (per i Voice +)
/cs HOP #Mirc-Scripting add NICK (per gli Halfop %) 
/cs AOP #Mirc-Scripting add NICK (per Gli Aop @) 
/cs SOP #Mirc-Scripting add NICK (per i Sop &)
Ovviamente sotituiamo a NICK , il nick del nostro amico da "addare"..
 Ora mancano gli utenti! Come fare per attirarli?
Beh mica posso dirvi tutto io.. Rendete interessante il vostro chan! Giochi, Argomenti interessanti.. usate la fantasia..

Questa è una "configurazione di base" di un chan IRC, sicuramente tornerò sull'argomento per approfondire i vari settaggi che permettono di "cucire" un chan sulle nostre esigenze.

Buon Divertimento!

giovedì 16 dicembre 2010

Comandi rapidi by on *:INPUT: Uso di $null e ($2)

La scorsa volta abbiamo parlato di una serie di comandi rapidi by on *:INPUT:*: , adesso vi mostro uno snippet dal mio mIRC, in cui utilizzo l'identificatore $2 racchiuso fra parentesi tonde -> ($2) e l'identificatore $null

on *:INPUT:*: {
if ($1 == .vop) && ($2 == $null) { /mode $chan +v $me }
elseif ($1 == .vop) && ($2) { /mode $chan +v $$2 }
if ($1 == .devop) && ($2 == $null) { /mode $chan -v $me }
elseif ($1 == .devop) && ($2) { /mode $chan -v $$2 }
if ($1 == .halfop) && ($2 == $null) { /mode $chan +h $me }
elseif ($1 == .halfop) && ($2) { /mode $chan +h $$2 }
if ($1 == .dehalfop) && ($2 == $null) { /mode $chan -h $me }
elseif ($1 == .dehalfop) && ($2) { /mode $chan -h $$2 }
if ($1 == .op) && ($2 == $null) { /mode $chan +o $me }
elseif ($1 == .op) && ($2) { /mode $chan +o $$2 }
if ($1 == .deop) && ($2 == $null) { /mode $chan -o $me }
elseif ($1 == .deop) && ($2) { /mode $chan -o $$2 }
if ($1 == .protect) && ($2 == $null) { /mode $chan +a $me
/cs protect $chan $me }
elseif ($1 == .protect) && ($2) { /mode $chan +a $$2 }
if ($1 == .deprotect) && ($2 == $null) { /mode $chan -a $me
/cs deprotect $chan $me }
elseif ($1 == .deprotect) && ($2) { /mode $chan -a $$2 }
if ($1 == .owner) && ($2 == $null) { /mode $chan +q $me
/cs owner $chan }
elseif ($1 == .owner) && ($2) { /mode $chan +q $$2 }
if ($1 == .deowner) && ($2 == $null) { /mode $chan -q $me
/cs deowner $chan }
elseif ($1 == .deowner) && ($2) { /mode $chan -q $$2 }
}

Come potete vedere, analizzando lo snippet, lo script dice che:
  • on *:INPUT:*: { ;Quando immetto un qualsiasi input dal mio client;
  • if ($1 == .op) && ( $2 == $null) { ; E, tale input corrisponde a .op , e tale input non è seguito da nulla $null ;
  • /mode $chan +o $me } ; Dammi lo status di Op ;
  • eleseif ($1 == .op) && ($2) { ; se invece, l'input è .op ma $2 "Esiste" ($2);
  • /mode $chan +o $2 { ;dai lo status di op a $2;
  • }
Link al Paste del code -> on *:INPUT:*: by mirc-scripting.blogspot.com

mIRC 7.15 - L'ultima opera di Khaled Mardam-Bey

L' 08/11/2010 Khaled Mardam-Bey ha rilasciato mIRC v7.15 l'ultima versione del notissimo client IRC,
personalmente lo uso da 15 giorni e lo trovo estremamente rapido e stabile, di seguito i cambiamenti e le migliorie effettuate in quest'ultimo step evolutivo di mIRC:

Changes:
1.Fixed window focus bug when mIRC is restored from a minimized state.
2.Changed /ban to allow more channel user modes to use it.
3.Changed $mklogfn() to only return a partial path when the "Make
  folders" option is enabled in the Logging dialog.
4.Fixed $sfile() and other file dialogs not returning file extensions
  if "Hide file extensions" is enabled in Explorer in Windows 7.
5.Changed /sockwrite to send data immediately instead of queuing it
  which should speed up transfers.
6.Added scrollbar buttons back to switchbar when many windows are open.
7.Changed the way mIRC exits when Windows is shutdown which should
  prevent lost mirc.ini settings for some users.
8.Changed CAP command to not display error message during logon for
  servers that do not support it.
9.Fixed idle color not being reset immediately when using /msg command.
10.Fixed hadd/hinc/hdec -cuNz bugs, should now work like set/inc/dec.
Se volete provarlo anche voi (ve lo consiglio) Cliccate Qui -> Download mIRC 7.15

mercoledì 15 dicembre 2010

Bot Remote Control - Comandare un bot tramite on *:TEXT:

Quanti di voi nel proprio chan hanno un simpatico bot giochi, bot meteo, bot ansa o simili?
Molti credo.. Questi bot hanno molte funzioni, ma ci costringono continuamente a cambiare "window" per settare, cambiare, far entrare in un chan, fare uscire da un altro chan.. bene, gli on *:TEXT: possono venirci in aiuto, vediamo un esempio:
on *:TEXT:*:#: {
  if ($1 == !join) { /join $2 }
  if ($1 == !part) { /part $2 }
  if ($1 == !quit) { /quit Richiesto da $nick }
  if ($1 == !dillo) { msg $chan $2 }
}
Quando si digita in chan ($chan) come prima parola ($1) una delle seguenti: !join,!part,!quit,!dillo - il bot eseguirà i comandi indicati a lato, ovvero:
[@voi] !join #canalemio
[%bot] *** Has Joined #canalemio ***
[@voi] !part #canalemio
[%bot] *** Has Left #canalemio ***
[@voi] !Quit
[%bot] *** Quit: Utente disconnesso (Richiesto da @voi) ***
[@voi] !Dillo Sei bello!
[%bot] Sei Bello!
Ovviamente questo è il "Minimo" che si può fare, si possono sfruttare i notice ( on *:NOTICE: etc etc) i msg privati, l'unico limite è solo la fantasia, si può usare per fare "cambiare server" al bot, o semplicemente per disconnettersi (magari in caso di lag..) si può avviare un gioco (sfruttando gli alias presenti nel bot stesso ed evviandoli a seguito dell' on *:TEXT:*:#: )...
Questa non è una guida è uno spunto...
Buon Divertimento!

martedì 14 dicembre 2010

New Style - mIRC-Scripting.BlogSpot.com Si Rifà il Look!

Dopo 2 mesi dalla nascita di questo blog e vari tentativi di miglioramento, visto l'apprezzamento che stò avendo in quanto a visite quotidiane, ho deciso di rinnovare la grafica..
Non essendo un mago del Web Design, ho ripiegato su un tema "free" che ho reputato carino, minimal e leggero..
Che ne pensate?
Consigli sono sempre ben accetti :)
Commentate pure!

giovedì 9 dicembre 2010

Controllo Nick - Vedere Nick Precedenti di un Utente IRC

Quante volte vi sarà capitato di avere il sospetto che un utente con il nickname "Farfallina86" in precedenza vi abbia parlato con il nick "Bruno64" ? Sicuramente è un fatto sgradevole, ma con questo scriptino che lavora sulle "mask" ( Nick!Ident@host) degli utenti memorizzandole in hashtables, vi comunicherà in "echo" (lo vedrete solo voi) se un nickname ha precedentemente Joinato con un altro nickname, inoltre clickando con il tasto destro del mouse sul nick "sospetto" nella nicklist, attraverso il menù "Verifica Nick" -> "Nick Precedenti"potrete verificare quanto sopra, o attraverso il menù "azzera" resettare il tutto.. ma veniamo al "Cuore" del nostro script:
ON *:START: {
    hmake trackusers 10
  if ($isfile(trackusers.dat)) {
    hload trackusers trackusers.dat
  }
}
on *:JOIN:#: {
  if ($hget(trackusers,$address($nick,2))) {
    var %n = $ifmatch
      if ($istok(%n,$nick,32)) { var %d = $deltok(%n,$findtok(%n,$nick,1,32),32) }
    else { var %d = %n }
      if (!%d) { return }
    echo $colour(info) -ti2 $chan 4* $nick 3Prima è entrato con i/il nick $+ $iif($numtok(%d,32) > 1,s: 8,: 8) %d 
    if (!$istok(%n,$nick,32)) {
      hadd trackusers $address($nick,2) %n $nick
    }
  }
  else {
      hadd trackusers $address($nick,2) $nick
  }
}
on *:NICK: {
  if ($hget(trackusers,$address($newnick,2))) {
    var %n = $ifmatch
    if (!$istok(%n,$newnick,32)) {
        hadd trackusers $address($newnick,2) %n $newnick
    }
  }
  else {
    hadd trackusers $address($nick,2) $newnick
  }
}
menu nicklist {
  Verifica Nick
  .Nick Precedenti:{
    if (!$address($$1,2)) { echo $colour(info) -ti2 # 4* IAL non aggiornata per $$1 $+ , un attimo... | userhost $$1 | return }
    if ($hget(trackusers,$address($$1,2))) {
      var %n = $ifmatch
      if ($istok(%n,$$1,32)) { var %d = $deltok(%n,$findtok(%n,$$1,1,32),32) }
      else { var %d = %n }
      if (!%d) { goto notknown }
      echo $colour(info) -ti2 # 3* $$1 13Era conosciuto con i\il nick $+ $iif($numtok(%d,32) > 1,s: 8,: 8) %d
    }
    else {
      :notknown
      echo $colour(info) -ti2 # 4* $$1 13Nessun Risultato
    }
  }
  .Azzera:hdel trackusers $address($$1,2)
}
ON *:EXIT: {
  if ($hget(trackusers)) { hsave -o trackusers trackusers.dat }
}

lunedì 6 dicembre 2010

Ban Mask - Bannare in modo "efficace"

La stragrande maggioranza degli utenti che si ritrovano a fare i moderatori,non conoscono minimanente come dev'essere strutturato un ban e si affidano a script.. i quali 9 volte su 10 bannano in questo modo:
Prendiamo ad esempio questo utente: ---> Utentecattivo!Ident123@Host.provider.it
Utentecattivo!Ident123@Host.provider.it

Questa si chiama "mask" ed è l'insieme di Nick,Ident,Host
Gli script con il semplice utilizzo del "clic" del tasto destro sul nick e la selezione della voce "banna" 9 volte su 10 bannano l'intera mask,eseguono quindi questo comando:
/mode #nomecanale +b Utentecattivo!Ident123@Host.provider.it
in questo modo se l'utente è un minimo sveglio,cambia una delle 3 componenti della sua mask,(Nick,Ident,Host) e rientra nonostante il ban..
Tralasciando i metodi per cambiare Nick,Ident,Host (Semplicissimi i primi 2 un pò differente il discorso x l'host),
vediamo come impostare un ban "totale" su una mask:
Dividiamo la mask in 3 parti:
Nick
Ident
Host
Impostiamo 1 ban per ogni segmento della mask:
/mode #nomecanale +b Nick!*@*
/mode #nomecanale +b *!Ident@*
/mode #nomecanale +b *!*@Host
(Nel caso il tuo script lo consenta,anche la sintassi
/mode #nomecanale +bbb Nick!*@* *!Ident@* *!*@Host )

In questo modo l'utente indesiderato, avrà sicuramente più difficoltà a rientrare.

venerdì 3 dicembre 2010

Gradi di Accesso : VOP HOP AOP SOP FOUNDER + % @ & ~

Chiariamo una volta per tutte cosa sono i livelli di accesso comunemente chiamati  "gradi", ovvero le flag che nella nick list precedono il nostro e gli altri nick:
Nel 100% dei network IRC, le flag in uso sono + - % - @ - & - ~
Questi "gradi" ci dicono cosa possiamo e non possiamo fare nel canale in cui ci troviamo, piu alto è il grado, piu cose possiamo fare e a piu comandi abbiamo accesso, ma vediamoli nel dettaglio:
- ~ FOUNDER (solo al fondatore del chan), ed assume all'entrata nel canale lo stato +q;
- & SOP (SuperOp), all'entrata nel canale assume lo stato +a (protetto dal kick degli op (@)) e +o (operatore);
- @ AOP (AutoOp), all'entrata nel canale assume lo stato +o;
- % HOP (HalfOp), stato di mezzo operatore, assume all'entrata nel canale lo stato +h;
- + VOP (voice),Permette di "parlare" in un chan moderato (+m) Assume lo stato +v.

Per modificare le liste SOP, AOP, HOP, VOP nel caso di liste XOP (Di default) si usa il seguente comando:

Sintassi comando: /msg ChanServ GRADO canale ADD nick

Al posto di GRADO bisogna inserire SOP, AOP, HOP oppure VOP, al posto di canale il canale in cui volete modificare la lista, al posto di nick il nickname a cui volete assegnare il grado per salvarlo nella lista.


Nel caso di liste ACCESS (ovvero se abbiamo disattivato le liste Xop col comando /cs set #canale XOP OFF) i gradi saranno sempre gli stessi, ma per "Addare" un utente (Rigorosamente con nickname registrato) nelle liste bisognerà utilizzare una sintassi diversa:
/cs access #canale add NICK 3 (Voice)
/cs access #canale add NICK4 (Halfop)
/cs access #canale add NICK5 (Aop)
/cs access #canale add NICK 10 (Sop)
/cs access #canale add NICK 9999 (Cofounder) Non settabile con le XOP attive.