sabato 31 luglio - 02:53
Google
 
Menù
  Home
  Come nasce IRC-Zone
  Glossario Informatico
  News
  I nostri progetti
  I nostri servizi
  Partners
  Diventa un Partner

IRC
  Cos'è IRC
  Storia di IRC
  Netiquette su IRC
  Emoticons
  Gergo della chat
  Lista Servers
  RFC 1459
  Shell Hosting

mIRC
  Cos'è il mIRC
  FAQ mIRC
  Configurazione mIRC
  Download mIRC
  Novità
  Script Stranieri
  Script Italiani
  MTS
  MTS Engine

mIRC Addon
  mIRC addon Audio
  mIRC addon SMS
  mIRC addon Grafica
  mIRC addon Utility
  mIRC addon Uso Bot

Client IRC
  Client IRC Linux
  Client IRC Mac
  Client IRC Win

XChat
  Cos'è XChat
  XChat per Win
  XChat per Unix

KVirc
  Cos'è KVirc
  FAQ KVirc
  Installazione su Linux
  KVirc Scripting
  KVirc per Mac
  KVirc per Win
  KVirc per Unix
  KVirc addon

Irssi
  Cos'è Irssi
  Download Irssi
  Download Moduli

Eggdrop/Windrop
  Cos'è un Eggdrop
  Download Eggdrop
  Configurazione Eggdrop
  Download Windrop
  Installazione Windrop

Tcl
  Download TCL
  Tutorial TCL scripting
  Documenti/Guide

BNC
  Cos'è un psyBNC
  Download psyBNC
  Configurazione psyBNC
  Download sBNC
  Configurazione sBNC

Linkaci!
footer

Credits
Somerights

Donazione con Paypal
footer

Statistiche
Ip: 38.107.191.108
Download: 486119 file
Totale: 654577 MB

footer



Badwords

Autore: Kaesar83Data: 2005-04-29
Modificato: 2005-05-10 Letture: 2494
Torna indietroStampa articoloInvia ad un amico

Beh ragazzi ora voglio cercare di spiegare come fare un piccolo script che diversi di voi potrebbero considerare utile e che ho anche fatto su richiesta di un utente nel nostro forum http://forum.irc-zone.org.
In parole povere vi spiegherò come sviluppare un codice che riesca a "punire" con kick e/o kick/ban quegli utenti poco civili ed educati che conducono le loro chattate in maniera VOLGARE!^__^
Per essere chiari...usano parolacce in canali in cui noi vorremmo che queste venissero bandite!
Parto dal presupposto che i modi di fare scripting sono molteplici a seconda dell'ispirazione e della richiesta, quindi vi dico in anticipo che di sicuro ci saranno altri modi, che anche io conosco, ma questo che sviluppai tempo fa è abbastanza semplice e funge che è una bellezza!:)
Iniziamo;
Come primo passo vi suggerirei di creare nella root di mIRC o in una cartella (come preferite) un file di testo col nome badwords.txt (Nome che potrà essere cambiato in qualsiasi altro si voglia, l'importante è andare a cambiarlo anche nel codice che vi presenterò a breve) e di inserire rigo per rigo tutte quelle parole che voi ritenete volgari o che comunque non vorreste venissero dette in un vostro canale.
Mi raccomando, ogni rigo una parola, in questa maniera:

scemo
stupido
cretino
ecc...

come seconda cosa creamo l'alias che io chiamerò bad

alias bad {
var %o 1
while (%o <= $lines(badwords.txt)) {
if ($read(badwords.txt,%o) isin $1) && (%bad [ $+ [ $nick ] ] == $nick) {
mode $chan +b $address($nick,2)
kick $chan $nick Ti avevo avvertito, no parolacce qui dentro!
unset %bad [ $+ [ $nick ] ]
}
elseif ($read(badwords.txt,%o) isin $1) {
kick $chan $nick No parolacce please!
set %bad [ $+ [ $nick ] ] $nick
.timer 1 300 unset %bad [ $+ [ $nick ] ]
}
inc %o
}
}

Beh vi chiederete, "sembra carino", ma cosa significa!?:)
Avete ragione...vi spiegherò un pochetto come va la storia!

var %o 1

setta una variabile, nel nostro caso %o, al valore 1
poi con il while creo un ciclo, cioè, finchè il valore della variabile è inferiore o uguale al numero di righe (quindi di parolacce) contenute nel file badwords.txt allora passa all'if che a sua volta fa un controllo;
se $read(badwords.txt,%o) che identifica la parola relativa alla %o riga, è presente nel testo che voglio esaminare ($1) ed esiste già una variabile del tipo %badKaesar83 (facendo finta che sia io l'utonto che dice parolacce in canale :P) allora mi banna e kikka unsettando poi la variabile.
Se invece

elseif ($read(badwords.txt,%o) isin $1)

solo la parola detta è presente nel testo da esaminare allora kikka, setta la variabile del tipo %badKaesar83 e fa partire un timer che dopo 5 minuti unsetterà la variabile %badKaesar83
Questo timer serve sostanzialmente per evitare che un nick abusi con il dire parolacce, però se per esempio durante la chattata è scappato un "cazzo" come spesso capita allora ci si beccherà solo un kick e non un kick/ban che verrà dato nel caso del primo if, cioè nel caso la variabile sia già settata quindi si siano dette due parolacce nel giro di 5 minuti (ovviamente quel 300 secondi, cioè 5 minuti, è simbolico poi ognuno potrà metterci i secondi che ritiene più opportuni ^__^)

Dopo questi controlli viene incrementata la variabile a 2 e si ripete il ciclo sino a quando il valore di %o non supera quello delle righe del file badwords.txt

Spero abbiate capito, la cosa sembra un pò contorta ma di fatto è una caxxata enorme :P se avete un pò di praticità con if e while vi renderete conto che è davvero semplice!

Fatto ciò uno potrebbe chiedersi..."si ok ho capito è semplice ma come faccio a farlo fungere?"
Bella domanda, adesso arriva la terza e semplicissima parte del nostro tutorial :)
Basta un evento on text che farà partire quell'alias come?...ecco qui:

on *:text:*:#:{
if ($nick !isop #) && ($nick !isvoice #) && ($nick !ishop #) {
$bad($1-)
}
}

semplicissimo non trovate?
Per qualsiasi parola detta in canale farà prima un controllo sull'utente, cioè se è un operatore, un halfop o voice del canale e poi farà partire l'alias creato tramite $bad($1-) con $1- che identifica il testo scritto in canale e di fatto è quel $1 che troverete in quell'if che ho spiegato prima cioè
if ($read(badwords.txt,%o) isin $1)
ricordate?^__^
Beh con questo è tutto, ora vi scrivo l'intero codice da inserire direttamente nei propri remote:

on *:text:*:#:{
if ($nick !isop #) && ($nick !isvoice #) && ($nick !ishop #) {
$bad($1-)
}
}
alias bad {
var %o 1
while (%o <= $lines(badwords.txt)) {
if ($read(badwords.txt,%o) isin $1) && (%bad [ $+ [ $nick ] ] == $nick) {
mode $chan +b $address($nick,2)
kick $chan $nick Ti avevo avvertito, no parolacce qui dentro!
unset %bad [ $+ [ $nick ] ]
}
elseif ($read(badwords.txt,%o) isin $1) {
kick $chan $nick No parolacce please!
set %bad [ $+ [ $nick ] ] $nick
.timer 1 300 unset %bad [ $+ [ $nick ] ]
}
inc %o
}
}

Ciao ragazzi e alla prossima!





Branzilla Contest Redeem

Links utili

Newsletter
Iscriviti
Cancellati

Ci sono 84 iscritti

In rilievo..
  JackSMS v3
  Venom Script Lite

Documenti/Guide
  I Social Network
  Sicurezza in rete
  Cos'è SSL
  FAQ Bot
  Documenti su IRC
  FAQ Ident
  RFC 2810
  RFC 2811
  IRCx RFC

Informatica libera
  Gli Hoaxes
  Hoaxes report
  Documenti vari
  CensorWare
  Windows
  Linux

mIRC Scripting
  Codice ASCII
  Snippet mIRC scripting
  Tutorial mIRC scripting
  Dll per mIRC
  Utilities

IRCd
  Cos'è un IRCd
  Download Unreal
  Download Hybrid 6
  Download Hybrid 7
  Download Ultimate
  Download Bahamut
  Configurazione IRCd

IRC Services
  Cosa sono i Services
  Download Anope
  Download Epona
  Ircservices 5.0
  Ircservices 5.1
  Configurazione Epona
  Configurazione Anope
  Comandi ChanServ
  Comandi NickServ
  Comandi MemoServ

NeoStats
  Cosa sono i NeoStats
  Download NeoStats
  Configurazione NeoStats
  Download Moduli

IPv6
  Cos'è IPv6
  IPv6 su Win2000
  IPv6 su WinXP
  IPv6 su Linux
  IPv6 su mIRC e Xchat

Programmazione
  Tutorial C++
  Tutorial C
  Compilatori C/C++

Altro
  Contatti
  Banners Gallery

RSS Feed




Progetti
Starlight
IRCHippo

Links amici
Eushells.net
MF's IT User Essential Security Center

Validato CSS
Sito interamente sviluppato in PHP
MySQL
©2004+ IRC-Zone | Webmaster | Sitemap
Created by Cesare 'Kaesar83' Lasorella
Designed by Manuel 'erkokki' Cabras
IRC-Zone non è responsabile del contenuto dei siti linkati
Pagina creata in: 0.023 sec con 27 queries
Spampoison
Sviluppato con Notepad++
website monitoring service