mIRC Script – Sintaxe e Outros Conceitos

Ae!!! Estou voltando a postar depois de uma semana parado e volto com mais um post sobre mIRC Script. O primeiro post recebi elogios e algumas críticas do tipo: “No seu blog é onde ensina a dar echo?”. O material que pretendo desenvolver aqui é algo para ser acumulado com o tempo e não vou ter pressa pra ensinar assuntos mais avançados (devagar e sempre hehe). Vamos ao que interessa.

No post passado sobre mIRC Script falei um pouco do que é e onde ele pode ser aplicado, o mIRC Script é uma linguagem estruturada, imperativa e também orientada a eventos, ou seja, no mIRC você pode criar funções que atuem de forma ordenada pelo algoritmo como também criar comandos que esperem uma ação externa como de um usuário e/ou servidor.

Funções, os aliases

No mIRC Script as funções recebem o nome de aliases, representados por:

alias nome {
comandos
}

Eventos

Os eventos são disparados em diversas situações, como alguma msg do protocolo IRC vinda do servidor (RAW) ou outros tipos como: ctcp, eventos de mouse, on events.

Eventos RAW

São para comunicação com o servidor através do protocolo IRC apenas por um número e a msg enviada e tem a seguinte sintaxe:

raw N:W: {
comandos
}

    Onde:

  • N = Número do evento;
  • W = WildText correspondente.

Eventos CTCP

Outro tipo de evento é o CTCP(Client-To-Client-Protocol) que como o próprio significado da sigla diz, é uma forma de comunicação no IRC de cliente para cliente. Sua sintaxe é:

ctcp N:W:L: {
comandos
}

    Onde:

  • N = Nível do usuário;
  • W = WildText correspondente;
  • L = Limitante do local do evento: # para canal, ? para PVT e * para todos.

Até agora os dois eventos citados são basicamente de comunicação ou entre cliente e cliente ou entre servidor e cliente (Ainda tem mais nos eventos do tipo on event) , no entanto existem eventos locais que são disparados quando o usuário executa alguma ação, seja ela com o mouse ou teclado.

Eventos de mouse

Os eventos de mouse em @janela, são usados com a seguinte sintaxe:

menu @janela {
event: {
comandos
}
}

Onde event é o tipo do evento de mouse que você quer, seja ele de um clique simples (sclick) ou de arrastar o mouse sobre a @janela (mouse).

Popups

Essa estrutura usando menu … { } pode ser usado também para construção de popups, que são menus para interface com o usuário, seja em @janelas específicas como também nas janela padrões do mIRC.

on events

O tipo de evento mais comum são os “on event”, atualmente não sei quantos eventos o mIRC tem, mas são muitos e você ainda pode criar os seus. Há eventos que trabalham com ações simples, como o fato do usuário recebe um OP, mas existem alguns pra ações mais complexas, como receber informações de um site na internet através de Sockets.

A sintaxe geral dos eventos desse tipo é:

on *:event:…: {
comandos
}

Eu usei … acima, pois a quantidade de parâmetros usados varia de evento pra evento. Para ver a lista de eventos consulte o help usando o comando /help events

Delimitador de escopo.

É notável que no mIRC Script sempre aparece nos aliases, popups ou eventos as chaves { } já que mIRC Script tem sua sintaxe baseada em C. Elas não estão ali pra deixar fofinho não, elas representam o escopo de cada comando e são necessárias em construções com mais de uma linha de comando. O escopo pode ser percebido também pelas indentações feitas pelo programador ou pelo próprio mirc editor, mas essas não são obrigatórias na linguagem, apenas ajudam a organizar o código. Em futuras estruturas também serão usados ( ) e [ ]. Para todo parêntese (no seu conceito mais amplo) aberto existe sempre um para fechar do mesmo tipo.

Khaled lançou a nova versão do mIRC (6.31) no último dia primeiro. Baixe em www.mirc.com. A nova versão veio com visual novo e o site também recebeu uma nova cara. 😀

Post pode ser alterado a qualquer momento, visando correções e melhorias.

Anúncios

3 thoughts on “mIRC Script – Sintaxe e Outros Conceitos

  1. Foi_Mal

    Boa velho, acabei de chegar de viagem e decidi passar aqui, e para minha surpresa finalmente você atualizou o blog, muito bom, e vou baixar o 6.31, tava por fora do lançamento, espero que tenha arrumado as localizações dos arquivos e tal, depois que eu dar uma olhada eu comento contigo no irc como sempre ;D

  2. fabiocerqueira

    MoshMage,
    Obrigado pelo comentário. Estou com pouco tempo agora, mas em breve estarei com novos post sobre o assunto.Agradeço pelo apoio.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s