Agradecimentos à Rul3z por ter feito este tutorial.

ALIASES

     Apesar de simples o aliases é algo fundamental em um script, e isso

você vai aprender lendo este tutorial. Se você quer realmente aprender e fazer um script, aconselho q imprima esse tutorial Para usar o aliases vá  em: Tools/Aliases, ou através do atalho Alt+A

     O mIRC permite que você crie aliases e scripts para melhorar a velocidade de sua sessão de IRC ou para executar funções repetitivas mais facilmente. Para criar aliases você deve conhecer alguns comandos de IRC.

     Os Aliases podem ser chamados da linha de comando, de outros aliases, e dos scripts popup e remote. Um alias não pode chamar a si mesmo principalmente porque isto parece que causa mais problemas do que resolve.

 

Exemplos:

Os exemplos a seguir mostram como criar aliases que executam funções simples.

 

/gb /join #Brasil

 

Se agora você digitar /gb isto é o mesmo que digitar /join #Brasil.

 

/j /join $1

 

     Nós agora adicionamos um parâmetro. Se nós digitarmos /j #Brasil isto é o mesmo que digitar /join #Brasil. O $1 se refere ao primeiro parâmetro na linha que você está mexendo.

 

/bju /me $2 $1

 

     Se agora você digitar /bju enfermeira! Olá a ação deste comando será /me Olá enfermeira! O número depois do $ especifica o número do parâmetro na linha que você entrou.

 

/jj /join $?

 

     O ponto de interrogação indica que você deve ser questionado para preencher este parâmetro. O parâmetro que você entrar será inserido na linha naquele ponto. Então se você digitar /jj uma tela irá aparecer perguntando o canal que você quer entrar. Se você entrar #Brasil então o comando final será /join #Brasil.

 

/jj /join #$1

 

     o símbolo # indica que o parâmetro que você especifica deve ser prefixado com um sustenido indicando que isto é um canal.

 

 /jj /join $?="Digite o canal a entrar:"

 

     Isto faz a mesma coisa mas agora a tela irá ter o texto "Digite o canal a entrar:" mostrado dentro dela.

 

/aw /away $?="Entre a mensagem de away:" | /say $!

 

     Isto é similar à linha acima exceto pela adição do parâmetro  $!. Isto se refere ao texto que você acabou de digitar na caixa de parâmetro, (a mensagem de away). Isto evita que você tenha de digitar a mesma mensagem duas vezes.

 

/dar /me dá a $$1 um $$2

 

     O duplo $$ significa que este comando só irá ser executado se um parâmetro é especificado. Se você especificar apenas um parâmetro no comando acima ele não será executado. Você pode também usar $$?1 ou $?1 que significa tentar preencher este valor com o parâmetro um se ele existir. Se o parâmetro um não existir, perguntar por ele, no primeiro caso o parâmetro é necessário para que o comando seja executado, no segundo caso ele não é.

 

/bater /me bate em $1 com $2-

 

     O $2- indica que tudo que vier depois incluindo o parâmetro 2 deve ser adicionado à linha de comando. Se você digitar /bater Tonho um travesseiro  a linha final será /me bate em Tonho com um travesseiro.

 

     Você também pode especificar $2-5 que significa usar apenas os parâmetros 2 a 5.

 

/rir /me ri da brincadeira de $1zim

 

     Qualquer coisa adicionada a um parâmetro $ é adicionada ao parâmetro final. Então se no exemplo acima nós digitarmos /rir Juca o parâmetro final seria /me ri da brincadeira de Jucazim.

 

/silly /say Ol $+ á enfer $+ meira $+ !

 

     Os parâmetros normalmente são separados por um espaço. Para fazer o mIRC combinar parâmetros você pode usar o identificador $+ . A linha acima irá dizer Olá enfermeira!.

 

/p /part #

 

     O símbolo # se refere ao canal que você está no momento. Então se você está no canal #blah, e você digita /p então o cliente substitui o símbolo com #blah, e o comando final será /part #blah.

 

/op /mode +o $1

 

    Para dar op a alguém você pode agora digitar /op usuário em vez do comando /mode inteiro.

 

/dop /mode -ooo $1 $2 $3

 

Você agora pode tirar o op de três usuários digitando /dop fulano sicrano beltrano.

 

     Para múltiplos comandos você pode usar um caractere |  (o outro caractere que geralmente faz parte da tecla \). Então para escrever um alias que kicka e bane alguém:

 

/dkb /kick # $1 | /mode +b $1

 

Varias linhas (vários comandos):

 

   /info {

    echo nick: $me

    echo hora: $time

    echo ip: $ip

   }

     

     Quando o comando tiver + de 1 linha, todos os comandos q pertencem a aquele devem ficar

dentro de {}

 

Uma linha (vários comandos):

 

  /info echo nick: $me | echo hora: $time | echo ip: $ip

 

     Este comando faz o mesmo q o comando anterior mas foi feito em uma só linha. Para

executar vários comandos na mesma linha, eles devem ser separados por | )

obs: no 'mIRC editor' vc não precisa usar as barras-> /

 

 

teste {

echo Hora Atual: $time

echo Data: $date

}

 

     Aperte OK, e digite /teste no mirc, você pode notar que não é obrigatório o uso da "/" na hora de criar um alias. E você pode acrescentar cor, negrito e sublinhado normalmente, tipo: "/echo


10Hora Atual:


$time". Agora você vai ver como funciona pequenas variações do comando "echo", tais como:

 

echo -a = o echo aparece na janela onde se passa a situação, por exemplo: você esta no canal #Brasil, e no #RiOmaFRa, e você colocou para que seu script dê um "echo -a" quando alguém fala "oi", e o "FuLanO" fala oi com você no #Brasil o "echo -a" irá aparecer no #Brasil, eu acho que deu pra entender.

echo -s = o echo aparece na janela atual, usando o exemplo anterior: se você estiver no #Brasil e no #RiOmAfRA e se o duduh falar com você no #Brasil e você estiver lendo algo no #RiOmAfrA a resposta em "echo -s" irá aparecer no #RiOmAfrA.

 

     Quando eu expliquei como se fazia o alias "/teste" você viu algo do tipo: $time, é isso que eu vou explicar agora:

 

     Os identifiers são usados para guardar informações, como por exemplo: $me -- este identifier representa o seu nickname atual, e perceba que os identifiers tem o $ sempre na frente dele, e também pode ser usado dois $ pois assim, o comando só será executado se o identifier existir. Perceba também que pode ser usado assim: $len(aaa), ou seja, com o parâmetro aaa, mas nem todas identifiers aceitam os ( ) !!

Aqui vai uma lista da maioria dos identifiers do mirc, veja:

 

Identifiers Simples:

 

$me = retorna seu Nickname atual

$email = E-mail especificado nas configurações do mIRC.

$date = retorna a data atual, no formato: dia/mês/ano

$time = retorna a hora atual, ex: 17:40:58

$server = Servidor que você está conectado atualmente.

$ip = Seu IP atual.

$host = Sua host atual.

$idle = retorna o tempo que você está inativo (sem digitar nada).

$day = Dia da semana.

$fulldate = Retorna a data completa, ex: Sat Jan 17 18:00:55 1998

$port = Porta do servidor em que você está conectado.

$usermode = Seus modos atuais, ex: +iw

$chan = Canal aberto atualmente, ex: #RiOmaFRA. Também usado para eventos, como por exemplo: quando alguém dizer algo no canal, ele retorna o canal que foi dito.

$version = Retorna a versão do mIRC usada, exemplo: 5.11.

$network = Retorna a rede em que você esta conectado, exemplo: BrasIRC.

$os = Retorna seu Sistema Operacional, exemplo: win98.

$online = Retorna o tempo que você esta conectado, funcionando apenas quando estiver ativada a Função On-line Timer do mIRC.

 

Identifiers Muito Usadas:

 

$away = retorna $true se você estiver away, ou $false se você não estiver.

$duration(número) = retorna o tempo do número especificado, exemplo1: $duration(60) irá retornar: 1min. Exemplo2: $duration(100) irá retornar: 1min 40secs.

$len(palavras) = O $len é para contar o tanto de caracteres (letras) foram usadas entre parêntese. Exemplo1: $len(oi) irá retornar: 2. Exemplo2: $len(script) irá retornar: 6.

$nick = retorna o nick que executou a ação, ou evento. Também usado para saber o número de pessoas no Canal, assim: $nick(#Brasil,0) = retorna o total de pessoas do canal #Brasil. E se você usar 1,2,3,4,5... no ,0), irá retornar a pessoa X que está na lista de nomes do canal. Exemplo: $nick(#canal,3) = retorna a 3 pessoa na lista de nicks do canal #canal.

$opnick = última pessoa que ganhou ou perdeu OP. Usado também como o $nick(#canal,x) ou seja, $opnick(#canal,0) - total de pessoas com OP no canal.

$nopnick = Pessoas sem OP no canal. Mesmas propriedades que o $nick e $opnick = $nopnick(#canal,0) = total de pessoas sem OP,  etc.

$vnick = Última pessoa que ganhou voice. Também Pessoas com voice no canal, mesma propriedade que o $nick(#canal,0).

$nvnick = Última pessoa que perdeu voice no canal. Também Pessoas sem voice no canal, mesma propriedade que o $nick(#canal,0).

$active = Janela ativa atualmente, exemplo: $active, irá retornar o canal atual, o se você estiver na Janela de status, irá retornar: Status Window.

$strip(palavras) = retorna as palavras usadas, ignorando cor, negrito, sublinhado e reverse.

$count(palavra,caracter) = retorna o número de vezes que o caractere foi escrito em palavra.

$rand(v1,v2) = retorna um valor randômico, que vai do valor1 até valor2.

Exemplo1: $rand(1,10) = irá retornar um número que esteja entre 1 até 10.

Exemplo2: $rand(a,j) = retorna uma letra que esteja entre a até j.

$banmask  = Mascara que foi banida.

$bnick = Nick que foi banido.

 

 

Colchetes de avaliação [ ]

 

     Se você quer maior controle sobre a ordem de avaliação dos identifiers, você pode usar colchetes [ ]. Os identifiers dentro destes colchetes serão avaliados primeiro, da esquerda para a direita. Você pode acumular colchetes.

 

/say % [ $+ [ $1 ] ]

 

     Você também pode forçar um identifier previamente avaliado a ser reavaliado usando colchetes [ ] extras.

 

/set %x %y

/set %y Oie!

/echo [ [ %x ] ]

 

Chaves { }  

     Você pode criar scripts de multi-linhas usando chaves { }. Isto permite que você crie um alias que executa vários comandos.

 

/poema

  /msg Aliases Desde que vi ela

  /msg Aliases Meu coração por tigela

 

A declaração Se-então-senão (If-then-else)

     Você pode usar as declarações se-então-senão para decidir que partes de seu script deve-se executar baseado na avaliação de uma comparação.

 

/número {

  if ($1 == 1) echo O número UM

  elseif ($1 == 2) echo O número DOIS

  else echo Número desconhecido!

}

 

Isto cria um alias que testa se o parâmetro que você pôs é o número 1 ou o número 2.

 

Declarações If-then-else (Se-Então-Senão)

 

     A declaração If-then-else (se-então-senão) permite que você compare valores e execute diferentes partes de um script baseado naquela comparação.

 

Formato básico

 

if (v1 operador v2) comandos

elseif (v1 operador v2) comandos

else comandos

 

     Os parênteses ( ) isolam comparações, enquanto que as chaves {  } isolam os comandos que você quer que sejam executados se uma comparação é verdade. Você deve ter certeza de que o número de ( ) e { } correspondem para ter certeza de que as comparações corretas sejam executadas.

 

     Usar chaves e parênteses acelera o processamento. Se um alias usa muito poucos parênteses e chaves então a declaração pode ser ambígua e o alias irá demorar mais para comparar, pode comparar incorretamente, ou pode não ser comparado totalmente.

 

Você pode aninhar tantas declarações se-então-senão quantas você quiser dentro de cada outra.

 

Os Operadores do if

 

 

      ==         igual a

      ===       igual a (sensível a caps lock)

      !=          não é igual a

      <           menor que

      >           maior que

      >=         maior ou igual a

      <=         menor ou igual a

      //           é um múltiplo de

      \\           não é um múltiplo de

      &           é uma comparação na forma bit

 

      isin         texto v1 está no texto v2

      isincs      texto v1 está no texto v2 (sensível a caps lock)

      iswm       texto com caracteres-chave v1 corresponde ao texto v2

      isnum      número v1 é um número no período v2 que está na forma n1-n2 (v2 opcional)

 

      isletter      letra v1 é uma letra na lista de letras em v2 (v2 opcional)

      isalnum     texto contém somente letras e números.

      isalpha      texto contém somente letras

 

      ison          nick v1 está no canal v2

      isop          nick v1 é um op no canal v2

      isvo          nick v1 tem voz no canal v2

      ishelp        nick v1 é um ajudante no canal v2

      isreg         nick v1 é um nick normal no canal v2

      ischan       nick v1 é um canal em que você está

 

      isauto       se v1 é um usuário na sua lista de auto-op para o canal v2 (v2 opcional)

 

      isignore    se v1 é um usuário na sua lista de ignore com a opção v2 (v2 opcional)

      isprotect   se v1 é um usuário na sua lista protect para o canal v2 (v2 opcional)

      isnotify     se v1 é um usuário na sua lista notify

 

Para negar um operador você pode prefixá-lo com um ponto de exclamação !.

 

 

$ifmatch

Retorna o primeiro parâmetro da comparação se-então-senão correspondente. Então no caso desta comparação:

 

if (texto isin algumtexto) ...

 

$ifmatch irá retornar "texto"

 

Combinando comparações

 

Você pode combinar comparações usando os caracteres && para E e || para OU.

 

número {

  if (($1 > 0) && ($1 < 10)) {

    if ($1 < 5) echo Número é menor que cinco

    else echo Número é maior que cinco

  }

  else echo Número está fora de alcance

}

 

     Este alias checa se o número que você especificou, quando você digita /número <valor>, está dentro do alcance necessário.

 

Exemplos

 

listops {

  echo 4 * Listando ops no #

 

  set %i 1

  :próximo

  set %nick $nick(%i,#)

  if %nick == $null goto feito

  if %nick isop # echo 3 %nick é um op!

  inc %i

  goto próximo

  :feito

  echo 4 * Fim da lista de ops

}

 

     Este alias lista os ops no canal atual. Ele faz isto da forma mais difícil já que podia-se em vez disso simplesmente usar $opnick(), mas usar $nick() serve como um exemplo de como isop pode ser usado e como $null retorna uma vez que chegou ao fim da lista.

 

Darop {

 

  %i = 0

  %nicks = **

  :próximo

  inc %i

  if ($snick(%i,#) == $null) { if ($len(%nicks) > 0) mode # +oooo %nicks | halt }

  %nicks = %nicks $nicks(%i,#)

  if (4 // %i) { mode # +oooo %nicks | %nicks = ** }

  goto próximo

}

 

     Esta é uma definição de popup que dá op aos nicks que estão selecionados na lista de nicks do canal corrente.

 

on 1:ctcpreply:PING*:{

  if ($2 == $null) halt

  else {

    %pt = $ctime - $2

    if (%pt < 0) set %pt 0

    if (%pt < 5) echo 4 [PING reply] $nick está perto demais

 

    elseif (%pt < 20) echo 4 [PING reply] $nick está na distância certa

    else echo 4 [PING reply] Terra para $nick, terra para $nick

  }

  halt

}

 

Isto intercepta um ping reply e mostra uma mensagem baseada na distância em que a pessoa está.

 

 

O comando Goto

 

O comando goto permite que você pule de um ponto em um script a outro ponto.

 

/número {

  if ($1 == 1) goto um

  elseif ($1 == 2) goto dois

  else goto desconhecido

  :um

echo O número UM

  halt

  :dois

  echo O número DOIS

  halt

  :desconhecido

  echo Número desconhecido!

  halt

}

 

     Usar um goto incorretamente pode levar a um loop infinito. Você pode sair de um script que está sendo executado pressionando Control-Break.

 

Nota: Os comandos acima não estão prefixados com o prefixo de comando /. Isto porque o prefixo de comando na verdade só é necessário quando entrar um comando na linha de comando. Em scripts, todas as linhas são assumidas a começar com um comando, então você não precisa usar o prefixo de comando /.

 

 

Suporte a Teclas de Função  

     Você pode redefinir as teclas de função para executar certos comandos, assim como aliases. Por exemplo:

 

/F1 /say Olá!

/sF2 /query $1

/cF3 /ctcp $1 versão

 

Os prefixos s e c são para a tecla Shift e Control respectivamente.

 

Nota: Uma tecla de função irá comportar-se diferentemente dependendo da janela no qual é usada. Por exemplo, quando usá-la numa janela de pvt o parâmetro $1 se refere aos nicks dos usuários selecionados. Se você está em um canal e a lista de nicks está ativa então a tecla de função irá funcionar nos nicks selecionados. Se a caixa de lista não está ativa, a tecla de função só irá funcionar no canal.

 

 

 

Está página é parte integrante da www.riomafra.com.br - canal #RioMafra / Rede BrasIRC

Direitos autorais do texto: Rul3z

Introdução

Aliases

Popups

Remote

Users

Variables

Dialogs