Come creare uno script per msn

9 06 2008

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

Annunci

Azioni

Information

11 responses

12 06 2008
simona

nn ci ho capito un tubo!

13 06 2008
stevenworldnow

@ Simona: Non so a me l’articolo sembra molto chiaro XD Cos’è che non hai capito comunque? Immagino che per i più appaia un pò difficile. Soprattutto se non si hanno date conoscenze informatiche 😀 Fammi sapere comunque 😉

19 06 2008
Mikey is Returns

Bello, solo ke nn ci capisco nulla

14 07 2008
Rosa

jma nn ho apito nnt

14 07 2008
Rosa

bho…..vojo fare una scrittura speciale x messanger pluss ma cm si faaaaaaaaa

14 07 2008
stevenworldnow

@ Rosa: Se non sei pratica T consiglio D andare qua: https://stvenworldnow.wordpress.com/2007/12/25/guida-agli-script-per-msn-plus-450/ e vedere lo script che direttamente T cambia la scrittura. 😉

19 07 2008
* maru *

nn ci ho capito nnt….

30 07 2008
leriana

bho…

20 08 2008
il_nick

Vorrei sapere qual è il codice esatto per creare un file di log per lo script ConvoNotifier (in pratica lo dovrei modificare), per poter registrare gli eventi del Convo su un file sull’hard disk. Qualcuno sa aiutarmi?

28 05 2009
SIMONE

ragazzi scusate io ho sempre avuto problemi con lhopper live ki mi spiega kome faccio a crearlo???grazie della risposta

22 06 2009
stevenworldnow

@ Simone: C’è scritto sia nei commenti prima del tuo sia nell’articolo! Ciaoo

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...




%d blogger hanno fatto clic su Mi Piace per questo: