
Il linguaggio di scripting di MsgPlus, è molto simile al javascript ( e linguaggi simili , come: c ,c++ ,c# ,php ecc..) ed utilizza le stesse parole chiavi.
Ma prima di cominciare facciamo una breve introduzione a questo linguaggio:
allora, non è un linguaggio object-oriented. non è un linguaggio compilato (visto che è uno script), ma viene interpretato dal MsgPlus stesso senza utilizzare software esterni. Questo linguaggio è stato creato per dare una forma di vita a quel programma che lo rende famosissimo, infatti anche Firefox è diventato famoso perché supporta i temi e le estensioni. Differentemente da altri linguaggi di scripting (come vbs) lo script di MsgPlus può essere contenuto in più file e può esporre un’interfaccia grafica utilizzando uno schema che è stato definito dai sviluppatori.
Ora voi vi chiederete, ma come faccio a scrivere dei script? La risposta è semplice, installate l’ultima versione di MsgPlus disponibile, andate sul menu Plus!->Preferenze->( a sinistra vedrete una voce chiamata script, cliccateci sopra)->(ora dovete scegliere il pulsante Crea nuovo, poi scegliete il nome.
ora si aprirà una nuova finestra dove potrete scrivere del codice, lì potete scrivere il codice eseguibile.
Pratica:
Eccoci qui, allora prima di tutto dobbiamo sapere gli elementi fondamentali del linguaggio di MsgPlus, allora partiamo subito con un esempio:
function OnEvent_Signin(Email)
{
if (Email == “xxx@msn.com”) //Sostituire l’indirizzo email con il proprio.
{
Debug.Trace(”Accesso effettuato come: ” + Email);
var Message = “Benvenuto XXX”; //Sostituire XXX con il proprio nome o Nickname o quello che volete
Message = MsgPlus.RemoveFormatCodes(Message);
MsgPlus.DisplayToast(”Messaggio di benvenuto”, Message);
}
}
già questo pezzo di codice (funzionante) ci dice molte cose sull’uso di questo linguaggio, analizziamole insieme:
la struttura if è uguale per (quasi) tutti i linguaggi e ha questa sintassi
if (condizione, continua il codice solo se restituisce true, cioè Vero)
{
//codice da eseguire se la condizione restituisce true. altrimenti va alla fine dell’ if, o passa all’ elseif o all’ else
}
else if (condizione)
{
//codice da eseguire se la condizione restituisce true, altrimenti passa all’ else if successivo o se non cene sono all’ else
}
else
{
//codice da eseguire se nessuna condizione restituisce true
}
facciamo un esempio concreto:
la nostra routine potrebbe essere così:
if (Email == “xxx@msn.com”)
{
//bla bla bla
}
elseif (Email = “email di mio fratello”)
{
//bla bla bla
}
else
{
//qualcuno di sconosciuto accede al nostro messenger, diamogli il benvenuto
Messenger.Signout(); // Disconnette l’utente
}
ecco, abbiamo analizzato la struttura if/elseif/else, ora vediamo quei segni sconosciuti nello script:
== è l’operatore che controlla se l’oggetto corrisponde a un determinato valore. (es: if (Messenger.MyStatus == “a ******” ) { //blabla bla } // questa che ho scritto è la versione compatta della struttura if/elseif/else
ogni codice eseguibile (a parte quello delle strutture) deve essere preceduto da un punto e virgola (es:Messenger.Wait.Beacuse.Vado_a_******; //questa funzione non esiste )
Le stringhe (cioè il testo) devono essere per forza racchiuse tra le doppie virgolette.
i commenti possono essere mono-riga o multi-riga, quelli monoriga sono dopo un doppio-slash (es: // Infernet ) e quelli multi riga sono tra uno slash e una stellina es:
/* Commento multiriga
riga vuota, inutile
da notare che il commento si apre con /* e si chiude con */
*/
Ora vediamo le funzioni e gli eventi:
l’oggetto Messenger espone i seguenti metodi:
OpenChat(var Contact) // apre una conversazione con l’indirizzo email specificato nel parametro Contact, restituisce un oggetto ChatWndse è stata aperta la finestra, altrimenti restituisce null.
Signout(): //non espone parametri, ma il nome dice tutto.
AutoSignin(): // questo metodo permette l’ autologin a msn, a partire da quando è stato invocato
invece le proprietà sono:
(sola lettura)Version: restituisce la versione di msn
(sola lettura)VersionBuild: restituisce il build del client MSN
(sola lettura)CurrentChats: restituisce una lista di oggetti CharWnd che sono tutte le finestre di chat aperte.
(sola lettura)ReceiveFileDir: restituisce il percorso della directory dove Msn salva i files.
(sola lettura)MyContacts: restituisce una lista di oggetti Contact che sono i contatti.
(sola lettura)MyEmail: restituisce l’email dell’utente connesso
(sola lettura)MyUserId: restituisce l’id dell’utente connesso
(lettura/scrittura)MyStatus: restituisce lo stato corrente
(lettura/scrittura)MyName: il nome dell’utente connesso
(lettura/scrittura)MyPersonalMessage: restituisce il messaggio messaggio personale
(sola lettura)MyCurrentMedia: restituisce il media corrente, che può essere il titolo di una canzone, o il nome di un gioco, è la stringa inviata da messenger per mandare ad es la canzone che stiamo ascoltando
(lettura/scrittura)MyDisplayPicture: restituisce il percorso (o imposta) dell’immagine associata all’utente connesso
(sola lettura)CustomEmoticons: restituisce una lista di oggetti Emotion che contiene ognuno uno snapshot dell’ emotion, ecco un esempio di questa proprietà:
Debug.Trace(”Custom emoticons of the current user:”);
var Emoticons = Messenger.CustomEmoticons;
var e = new Enumerator(Emoticons);
for(; !e.atEnd(); e.moveNext()) //questo for è utilizzato come un Do/While/Until/Loop (in alcuni linguaggi è diverso)
{
var Emoticon = e.item();
Debug.Trace(” ” + Emoticon.Shortcut);
}
L’oggetto Debug espone solo un metodo: Trace che scrive una stringa specificata nella console di debugging.
per maggiori informazioni aspettate la prossima guida che scriverò o andate a studiarvi la documentazione.
Ciauz, Hkproj! (Copyright 2006 (c))
Mi sono dimenticato di dire che l’evento functionOnEvent_Signin(Email) si scatena quando qualcuno fa l’accesso e restituisce l’indirizzo email di quello che l’ha effettuato con il parametro Email.
Ciao!
Fonte: P2P.forum