mIRC Script – Brincando hoje a tarde

Aeee!!! Depois de muito voltei a postar só pra desejar um ano novo de muito sucesso para todos.

Este ano estarei me dedicando a projetos pessoais e também ao estudos de novas tecnologias, mas hoje a tarde estava brincando de programa em mIRC Script pra matar saudade e fiz isto aqui.

Baixar código.

Anúncios

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.

mIRC Script – Conceitos básicos e ambiente de programação

Como prometido estou começando agora o tutorial de mirc script. Já que o público alvo desse tutorial é tanto para quem está iniciando na linguagem como também para programadores experientes nela, eu começarei explicando do básico.
O mIRC Script é uma linguagem de programação interpretada que vem integrada ao cliente de IRC, mIRC. Desenvolvida por Khaled Mardam-Bey, essa linguagem de alto nível pode ser usada para criação de rotinas, addon e scripts completos. veja mais

O que é preciso?

Para programar em mirc script só é preciso o interpretador (o próprio mIRC) e um editor de textos simples e vontade de aprender.

Para fazer o download do mIRC acesse: www.mirc.com

Você pode obter conteúdo e conhecer mais programadores na linguagem no IRC na rede BrLink no canal #Script, onde atualmente dou suporte a linguagem.

Conhecendo o ambiente.

A programação em mirc script pode ser feita usando o editor do próprio mirc como também outros editores (exemplo: bloco de notas). Nessa parte do tutorial irei mostrar a interface do mirc e do seu mirc editor.

A imagem abaixo mostra a toolbar principal do mirc e o que realmente será importante para programação.

img1_tb_main.png

O que realmente vai nos importar é esse botão, ou mesmo o seu acesso através do teclado pelo atalho ALT + D. No qual através de suas abas você poderá acessar popups(ALT + P), remotes(ALT + R), users e variveis.

img2_mirc_editor.png

A imagem acima mostra o remote acessado através do ALT+R, nessa parte do editor juntamente com variables se resume toda a programação, pois como é visto na imagem temos um alias dentro do remote e assim também é possível fazer com menu popups (mais na frente o que você não entendeu desse parágrafo será claro).

O mirc script por ser uma linguagem de script pode ser facilmente executada em linha de comando, para isso usamos as janelas de status, canal, pvt ou qualquer outra que tenha editbox pode ser usada. A imagem abaixo mostra a janela de status executando o comando echo que exibe na tela o texto passado como parâmetro.(Função echo será detalhada futuramente).

img3_janela_status.png

A vantagem de poder executar comandos em linhas de comando é a praticidade pra realizar testes simples de forma rápida, uso muito esse recurso hoje em dia para testar alguns algoritmos mais simples que crio.

A parte do ambiente acho que ficou clara e como não poderia deixar de ser o tradicional “hello world”!

Abra o remote Alt+R, e digite nele:

on *:start: { echo -s Hello world! }

Feche e abra o mirc para ver o resultado. Se você for curioso aperte F1 e olhe no help o que cada palavra dessa faz. 😀

  • Para alguns, o que foi visto até aqui não é novidade, espero paciência da parte desses. Em breve novidades.
  • Qualquer correção, dica de adição ao conteúdo desse tutorial ou dúvida, deixe-me um comentário que tentarei atender de forma mais breve possível.

Tutorial de mircScript?

mirc_big.jpg Estava pensando agora sobre o que eu deveria escrever hoje, então resolvi postar que estarei mantendo um tutorial de mircscript paralelo aos demais posts aqui. Como programei durante muito tempo nessa linguagem e hoje não a uso mais com tanta freqüência e toda minha produção nela foi baseada em código e nada mais. Resolvi começar a escrever este tutorial, para além dos meus códigos, deixar também uma literatura alternativa para os futuros programadores.

Começarei bem do básico mesmo e pretendo levá-lo até o mais avançado. Não sei em quanto tempo será concluído, mas começarei ainda essa semana. =D

Espero que com esse tutorial algumas pessoas possam aprender.