mIRC
| Como Programar no mIRC | Truques do mIRC | Canal | Pessoal | Servidor | mIRC / Diversos |
Leia Antes de Continuar:
Conheça a seção ALIASES do seu mIRC e saiba tirar o máximo proveito dela para realizar tarefas que até o bot duvida ;) | Como definir novos comandos Historicamente, o mIRC sempre teve a possibilidade de definir comandos adicionais, além dos que já vêm incluídos "de fábrica". Essa característica tornou possível a criação de muitos scripts padronizados (tais como o DusK, Red Tide, FireFight, 7thSphere e muitos outros), mas não é conhecida de muitos usuários, que se limitam a usar scripts prontos sem se preocupar em descobrir como eles são feitos. O help do mIRC é muito completo e fácil de entender; todavia, uma questão cultural e lingüística impede grande parte dos usuários brasileiros de tentarem compreendê-lo - em parte devido à conhecida resistência dos brasileiros a lerem qualquer tipo de manual de instruções ;-) , e também pelo fato de o help ser em inglês. Neste artigo, darei uma série de dicas sobre uma parte muito importante de qualquer script : os aliases. Os aliases, juntamente com os Popups, Remote Commands, Remote Events, Remote Raw Events e DDE Extensions, formam o esqueleto de qualquer script, e constituem uma série de definições de novos comandos, que podem ser executados diretamente da linha de comando, ou então chamados por outro alias, popup ou remote. Para editar os seus aliases, use a opção Tools / Aliases. O mIRC abrirá o seu editor de scripts, e provavelmente exibirá uma série de aliases já pré-definidos (pelo próprio mIRC ou pelo script que você estiver usando). |
Identificadores básicos |
Identificadores básicos $date - data atual |
Funções
|
Saiba mais sobre os identificadores do mIRC 5.02 digitando /help identifiers |
Formato básico |
Cada alias é definido em (no mínimo) uma linha, que indica o nome do comando que você deseja criar e a ação que deve ser executada. Veja um alias simples :
/oi /echo 4 -s Oi!!!
Se você inserir este alias e pressionar o botão Ok, terá criado um comando /Oi, que nada mais faz além de mostrar a palavra "Oi!!!" em letras vermelhas na sua janela de status. Teste-o e maravilhe-se ;)
Opcionalmente, você pode remover as barras dos comandos dos aliases. Um alias assim :
oi echo 4 -s Oi!!!
Funcionaria de maneira idêntica ao anterior. Mas... esse alias está muito simples. O que aconteceria se eu precisasse utilizar mais de um comando do mIRC? É muito simples... Vamos definir um alias que diga duas palavras, "Oi" e "Tchau", cada uma em uma linha diferente da sua janela de status :
oitchau {
echo 4 -s Oi!!!
echo 4 -s Tchau!!!
}
viu que simples? A chave "{" logo após o nome do alias indica ao mIRC que todos os comandos indicados nas linhas seguintes devem ser executados, até encontrar a chave "}" correspondente.
Identificadores |
Identificadores são palavras reservadas pelo mIRC para uso em scripts, que retornam dados importantes sobre a configuração ou as condições do seu mIRC, canais, janelas e usuários.
Uma lista completa de identificadores pode ser lida digitando o comando /HELP IDENTIFIERS, e os identificadores mais importantes estão assinalados no Quadro 1. Vamos a alguns exemplos do uso de identificadores.
Digamos que você queira fazer um alias que informe a configuração atual do mIRC do seu usuário. Uma possibilidade seria assim :
/Status_all {
/echo 4 -s Status global
/echo 3 -s Seu nick é $me e seu ip é $ip
/echo 3 -s O relógio de seu micro marca $time
/echo 3 -s Você está conectado na porta $port do $server
/echo 3 -s Seu modo é $usermode
/echo 3 -s Download = $getdir - Logs = $logdir - mIRC =
$mircdir
/echo 3 -s Você está em $chan(0) canais
/echo 3 -s e tem $query(0) pvts e $chat(0) DCC Chats abertos.
/echo 3 -s A janela ativa é $active
}
Este alias nada mais faz do que mostrar na
sua janela de status uma série de informações sobre sua
configuração.
Usando parâmetros |
Vamos a um exemplo menos simples para poder demonstrar bem o poder dos identificadores. Para isto, precisaremos do conceito de parâmetros. Parâmetros são as palavras inseridas pelo usuário na linha de comando, sempre que ele vai executar o seu alias. Por exemplo, se um usuário digita : /multijoin #cIRCo #Floripa #Brasircop as palavras "#cIRCo", "#Floripa", e "#Brasircop" são os parâmetros. O seu alias sempre tem como saber os parâmetros que o usuário digitou, utilizando-se de identificadores especiais : os identificadores de parâmetros. Os identificadores de parâmetros são chamados utilizando o sinal de "$" e o número do parâmetro desejado, assim temos : $1 é o primeiro parâmetro, $2 é o segundo parâmetro, e por aí afora.
Podemos complicar um pouco, com os identificadores de múltiplos parâmetros. Por exemplo, $1-3 indica os parâmetros de 1 a 3. $2-5 indica os parâmetros de 2 a 5. $1- indica todos os parâmetros da linha. $3- indica todos os parâmetros a partir do terceiro.
Vamos a um exemplo?
/mostra_params {
/echo -s os parâmetros digitados foram $1-
/echo a terceira palavra é $3
/echo as primeiras três palavras são $1-3
}
O exemplo acima simplesmente mostra os
parâmetros digitados. Experimete
digitar:
/mostra_params Estou aprendendo a programar o mIRC
Para ter uma idéia de como ele funciona. Agora vamos ao /multijoin
/multijoin /join $1 $+ , $+ $2 $+ , $+ $3
Este alias faz com que você entre em até 3 canais com um único comando. Por exemplo, se você digitar assim :
/multijoin #cIRCo #floripa #amizade
o mIRC converterá este comando para /join #cIRCo,#floripa,#amizade
veja bem : sem espaços entre as vírgulas e os nomes dos canais. Quem suprime estes espaços é o identificador $+ , responsável por unir dois textos sem deixar espaços extras entre eles.
Um exemplo bastante prático de script é o censo de canal - aquelas mensagens que muita gente mostra, dizendo quantos usuários estão em um canal, e quantos são operadores do mesmo. Que tal colocar uma mensagem assim no seu mIRC? É simples...
censo {
/msg $$1 Existem $nick(0,$$1) usuários conectados ao canal
$$1 ,
/msg $$1 dos quais $opnick(0,$$1) são operadores do canal e
1 é genial : $me
}
Este alias usa as funções $nick e $opnick
para contar os usuários do canal passado como parâmetro. Notou
que ao invés de usar $1 eu usei $$1? Isso tem uma importância
fundamental : quando se usa o duplo-cifrão, o mIRC recusa-se a
executar o alias caso não seja passado nenhum parâmetro.
Experimente entrar no #brasil e digitar : /censo #brasil para ver como funciona...
Variáveis |
Variáveis são essenciais em qualquer linguagem de programação séria, e o mIRC script também as têm. Se você tem boas noções de programação, pode fazer scripts aproveitando todo o seu potencial. As variáveis do mIRC têm o prefixo %, e você pode defini-las através do comando /set:
/set %contakick 1
A linha acima cria uma variável ContaKick, e atribui a ela o valor inicial de 1.
Você pode executar diversas operações com variáveis numéricais, tais como :
%x = 5 + 1
%x = 5 - %y
%x = %x * 2
%x = %z / $2
%x = $1 % 3
%x = 2 ^ %w
inc %x 3
dec %x 3
Vamos fazer um alias de kick que utiliza a variável %ContaKick que nós acabamos de criar, para manter uma contagem de vítimas de kicks...
/kc {
/kick # $1 Sai fora! ( vítima %contakick )
inc %contakick 1
}
Agora, sempre que você kickar utilizando o
alias /kc, o kick vai incluir uma contagem de vítimas :-)
O mIRC aceita também variáveis alfanuméricas, mas devido à
complexidade do tema, vou deixar você se virar sozinho nessa
>;)
Redefinindo teclas de função |
Usando os aliases, você pode redefinir as teclas de função do seu mIRC, colocando qualquer função nelas. É muito simples, faça assim : /F3 /echo -s você pressionou a tecla F3 /sF3 /echo -s você pressionou shift-F3 /cF3 /echo -s você pressionou control-F3 Assim, você pode colocar suas funções mais utilizadas em teclas de função,para poder ter acesso mais rápido a elas.
Repetições e condições |
Já que entramos no terreno da programação séria, temos que abordar o tema das repetições e condições. Sim, o mIRC também apresenta a estrutura condicional (If-then-else), e é capaz de fazer repetições simples (goto).
Novamente, não vou abordar os conceitos, apenas explicar as técnicas para quem já tem noções de programação. O mIRC implementa a estrutura if-then-else completa, com uma sintaxe bastante simples, semelhante à de outras linguagens de alto nível. A sintaxe básica é :
if (v1 operador v2) { comandos }
elseif (v1 operador v2) { comandos }
else { comandos }
Os operadores disponíveis estão no quadro
abaixo.
Para repetição, o mIRC implementa apenas o comando goto. Ele é usado para transferir a execução de um alias para um determinado label, definido no formato :NomeDoLabel.
Geralmente você irá utilizar o goto para implementar loops (estruturas repetitivas). A parte mais importante de um loop é a sua variável de controle (no exemplo, eu usei %i como variável de controle). Esta variável normalmente é incrementada a cada "volta" do loop, e ao final do mesmo uma instrução IF verifica se deve continuar no loop ou encerrar.
Veja o exemplo a seguir, retirado do help do mIRC, onde :next e :done são labels :
listops {
echo 4 * Listando Ops no #
set %i 1
:next
set %nick $nick(%i,#)
if %nick == $null goto done
if %nick isop # echo 3 %nick é um Op!
inc %i
goto next
:done
echo 4 * Fim da lista de Ops
}
O alias faz um loop entre o :next e
o goto next, verificando se cada usuário do canal é um
op. Esta é uma clássica emulação de um loop repeat-until
usando goto ;-)
Operadores do IF |
==
igual a != diferente de < menor que > maior que >=<= maior ou igual-menor ou igual //\\ é múltiplo denão é múltiplo de isin string v1 está em string v2 iswm wildstring (*,?) combina com v2 isnum v1 é número e está na faixa v2 (n1-n2) (v2 é opcional) ison nick v1 está no canal v2 isop nick v1 é op no canal v2 isvo nick v1 tem voice no canal v2 ischan v1 é um canal no qual você está isauto v1 está na sua auto-op list para canal v2 (v2 é opcional) isignore v1 está na sua ignore list com o switch v2(v2 é opcional) isprotect v1 está na sua protect list para o canl v2 (v2 opcional) isnotify v1 está na sua notify list && and lógico || or lógico |
Para saber mais |
Leia o help do mIRC ;)
Outra boa pedida é observar o DusK ou
outro script, (surgiro o Dusk, porquê ele é menos complexo),
como são feitas as definições de aliases. Com certeza vai
haver algo a ser aprendido nele ;)
Você pode fechar rapidamente uma janela minimizada clicando no botão dela na barra de tarefas do mIRC e pressionando ao mesmo tempo a tecla shift.
Pressionando a tecla alt e o sinal de menos, você tem acesso ao menu de sistema de qualquer janela, onde pode decidir minimizá-la, fechá-la, ligar/desligar o logging ou beeping, trocar o tipo e o tamanho da fonte, etc
A opção pdcc não foi incluída nos helps por ser experimental, mas funciona muito bem como um acelerador de dcc send/get. Ative-a digitando /pdcc 20000 e sinta a diferença!
Criar canais fantasma é muito fácil : você só precisa de
um alias assim :
ghost { join $$1 $+ $chr(160) }
uso:
/ghost {channel}
/ghost #Brasil
Isto permite que você entre em canais com um caractere em branco
no fim do seu nome. Desta forma, quando as pessoas derem um whois
em você, aparecerá que vocês estão neste canal, e caso elas
entrem neste canal para procurá-lo, não o encontrarão. É um
dos truques para a criação de usuários invisíveis ;).
É similar ao truque anterior. Que tal fingir que você é op do #Brasil e do #BrasIRCop? Adicione este alias :
fchan { join $$1 $+ $chr(160) $+ @ $+ $$2 }
uso:
/fchan {channel1} {channel2}
/fchan #Brasil #BrasIRCop
Agora quando alguém lhe der whois, irá aparecer :
Fulano is on @#Brasil @#Brasircop
j3 { join $$1 $+ $chr(160) $+ $$2 $+ $chr(160) $+ $$3 }
uso:
/j3 #Eu me amo
Esse não precisa nem explicar né?
gchat { raw -q privmsg $$1 :DCC CHAT blah 3353362454 19 blah }
Dicas do Mirc
Principais comandos usados no mIRC
/topic:@ Usado para mudar o Tópico
de um canal. Ex.: /topic #canal Novo Topico
/amsg: Lança uma mensagem em todos canais que você estiver
presente.
Ex.: /amsg Fala pessoal!
/ban:@ Usado para banir usuários que você acha serem
incovinientes no
canal. Ex.: /ban #canal nickname tipo (o tipo de ban varia de 1 a
4 - nick, ip, host, nome completo do domínio)
/kick:@ Usado para kickar usuários que estejam bagunçando,
incomodando, etc no canal.
Ex.:/kick #canal nickname
/op:@ Usado para dar Status de Operador a alguém do canal. Ex.:
/op #canal nickname
/mode:@ Proporciona uma variedade de comandos relacionados a
usuários. Alguns exemplos: /mode #canal +o nickname (Dar Status
de Operador do Canal) | /mode #canal -o nickname (Tirar Status de
Operador do Canal) |
/mode #canal +b nickname (Banir algum usuário) |
/mode #canal -b nickname (Tirar o Ban de algum usuário) |
/mode #canal +v (Dar poder de voice para um user. Usado quando o
canal estiver MODERADO +m) | /mode #canal -v nickname (Tirar o
poder de voice)
/mode:@ Também é usado para mudar o modo do canal. ( +/- T N P
M S K L )
Ex.: /mode #canal +t | /mode #canal -t O que indica que apartir
do momento que você colocar o opção +t somente os Operadores
do Canal poderão mudar o tópico. E assim por diante onde P
(Siginifica Privado) K (Necessita da Chave para entrar no canal -
definida pelo Operador) I (Somente quem voce der Invite -
próximo comando a ser explicado - poderá entrar no canal)
M
(Moderado - Somente quem tiver +v poderá falar) S (Torna o canal
secreto) e
N (Proteção contra mensagens externas ao canal)
/invite: Usado para convidar um usuário para seu canal. Ex.:
/invite nickname #canal
/describe: Lança uma ação para um determinado canal. Ex.:
/describe #canal Fala galera !!!
/join: Usado para entrar em um canal. Ex.: /join #canal
/part: Usado para deixar um canal em que você estiver presente.
Ex.: /part #canal
/partall: Usado para deixar todos os canais em que você estiver
presente. Ex.: /partall
/play: Usado para enviar arquivos texto para o canal. Ex.: /play
c:\mirc\foto.txt
/say: Usado para lançar uma mensagem na janela que estiver
ativa. Ex.: /say Hello!!!
/time: Usado para mostrar a quanto tempo você está On-Line.
Ex.: /time
/list: Usado para listar os canais do servidor de IRC. Ex.:
/list
/names: Usado para mostrar os nomes dos usuários que estão em
determinado canal.
Ex.: /name #canal
CTRL+K: Use o comando CTRL+K a seguir um número para escrever
colorido. Ex.: CTRL+K 11 Mensagem. | Com Fundo: CTRL+K 11,1
Mensagem.
/me | /action: Lança uma ação
feita por você. Ex.: /me acabou de acordar!
/ame: Lança uma ação feita por você em todos os canais que
estiver presente. Ex.: /ame acabou de acordar!
/away: Usado para quando você for se ausentar por uns instantes
mas não quer desconectar do servidor de IRC e não poderá
responder mensagens destinadas a você. Ex.: /away Fui lanchar...
Volto já!!!
/closemsg: Usado para fechar uma janela de Chat ou Query. Ex.:
/closemsg nickname
/dcc send: Usado para enviar arquivos para outra usuário, pelo
mIRC.
Ex.: /dcc send nickname c:\mirc\mirc.exe
/dcc chat: Usado para abrir uma janela de Chat com um usuário.
Ex.: /dcc chat nickname
/finger: Usado para achar usuários. Ex.: /finger
/fsend: Liga/Desliga o sistema de Fast Send DCC. Ou seja, quando
você usar o DCC SEND, ele estará mais rápido. Ex.: /fsend
on
/fserv: Abre um mini FTP dentro do mIRC. Ex.: /fserve nickname
máximo diretório texto_de_boas_vindas -> /fserve Killer 10
c:\mirc welcome.txt
/ignore: Usado para ignorar um usuário! Excelente para escapar
do Flood! Ex.: /ignore nick | Ligar/Desligar Ex.: /ignore
on|off
/msg: Usado para enviar mensagens privadas a outro usuário. Ex.:
/msg nickname mensagem
/omsg: Usado para enviar mensagens privadas a todos os Ops do
canal.
Ex.: /omsg Se alguém fizer Flood, tem que ser Kick e Ban.
/nick: Usado para mudar seu nickname. Ex.: /nick novonick
/notice: Usado para enviar uma Notice a outro usuário ou a todo
o
canal. Ex.: /notice nickname Oi! | /notice #canal Como
v&eatilde;o todos?
/onotice:@ O mesmo do /omsg s¢ que em forma de Notice. Ex.:
/onotice Se alguém fizer Flood, tem que ser Kick e Ban.
/protect: Usado para adicionar usuários para a sua Protect List
(Lista de Proteção).
Ex.: /protect nickname | Ligar/Deligar Ex.: /protect on|off
/query: Usado para abir uma janela de chat privado com outro
usuário.
Ex.: /query nickname
/whois: Usado para obter diversas informaç&eotilde;es sobre
outro usuário On-Line em forma de mensagem. Ex.: /whois
nickname
/uwho: Abre uma tela com as informaç&eotilde;es de um
usuário On-Line.
Ex.: /uwho nickname
/whowas: Usado para saber as informações sobre um user que não
está mais conectado. Ex.: /whowas nickname
/clear: Limpa a janela ativa. Ex.: /clear
/ctcp:
Proporciona uma variedade de comandos. Ex.: /ctcp nickname ping
(Informa o tamanho do LAG de determinado user) | /ctcp nickname
finger (Informa o endereço eletronico de determinado user - nem
sempre é o verdadeiro) | /ctcp nickname version (Informa a
versão do mIRC de determinado user) | /ctcp nickname userinfo
(Informações sobre determinado user) | /ctcp clientinfo
(Informações sobre determinado user).
/server: Troca de Servidor. Ex.: /server nome.do.servidor
/remote:
Usado para Ligar/Desligar o Remote. Ex.: /remote on|off
/events: Usado para Ligar/Desligar o Events. Ex.: /events
on|off
/enable: Usado para carregar grupos. Ex.: /enable #grupo
/disable: Usado para descarregar grupos. Ex.: /disable
#grupo
/raw: Lança comandos RAW diretamente ao servidor. Ex.: /raw
comando
/echo: Mostra uma mensagem na tela ativa, vista somente por
você.
Ex.: /echo mensagem (Também usado: /echo n§ mensagem ->
/echo 4 Teste
/auser: Adiciona um user para sua lista de usuários. Ex.: /auser
nível nickname tipo -> /auser 3 Killer 3
/guser: Mesma função do /auser . Ex.: /guser nível nickname
tipo -> /guser 3 Killer 3
/rlevel: Remove todos os users da lista de usuários de
determinado nível. Ex.: /rlevel nível
/run: Executa outro programa. Ex.: /run
c:\netscape\netscape.exe
/sreq: Controla suas configurações para uma seção de DCC
SEND, que podem ser alteradas através do Menu Dcc Options do seu
mIRC. Ex.: /sreq ask
/sreq ignore | /sreq auto
/sound: Enviar um som e uma mensagem para determinado usuário.
Ex.: /sound nickname #canal arquivo.wav
/wavplay: Toca determinado arquivo WAVE. Ex.: /wavplay
c:\mirc\test.wav