Stamattina ho trovato sul blog di Fabrizio, un interessante articolo per crere AddIn per Live Messenger. Mi permetto di fare alcune precisazioni che, forse per brevità, Fabrizio ha omesso.
Dopo aver creato un Project “Class Library”, è necessario includere nelle Reference l’ assembly MessengerClient che trovate nella directory C:\Programmi\Windows Live\Messenger\. A questo punto possiamo inserire nelle direttive la using Microsoft.Messenger.
Prima di compilare la nostra applicazione, è necessario che il nome dell’ assembly e il nome del combinato namespace-classe, devono coincidere:
se il mio assembli si chiama ADRweb.AutoResponderBot.dll, il namespace di primo livello si dovrà chiamare ADRweb e la classe si dovrà chiamare AutoResponderBot.
A questo punto siamo pronti per compilare ed installare con la procedura illustrata da fabrizio.
Vi posto il codice del primo primo AddIn che sicuramente non sarà l’ ultimo…
using System; using Microsoft.Messenger; namespace ADRweb { public class AutoResponderBot : IMessengerAddIn { private MessengerClient _messenger; #region IMessengerAddIn Members public void Initialize(MessengerClient messenger) { _messenger = messenger; _messenger.AddInProperties.Creator = "Zaragon"; _messenger.AddInProperties.Description = "Hello Bot AddIn"; _messenger.AddInProperties.FriendlyName = "AutoResponderBot"; _messenger.AddInProperties.Url = new Uri("http://blog.adrweb.net"); _messenger.IncomingTextMessage += new EventHandler <IncomingTextMessageEventArgs>(MsnIncomingTextMessage); } //IncomingTextMessage si verifica quando un contatto ci invia un messaggio private void MsnIncomingTextMessage(object sender, IncomingTextMessageEventArgs e) { //se il mio stato è impostato su "Occupato" if ((_messenger.LocalUser.Status == UserStatus.Busy)) { _messenger.SendTextMessage("Questo è un messaggio automatico. " + "Non posso risponderti perchè sono occupato. " + "Ti contatto appena ho finito.", e.UserFrom); } //se il mio stato è impostato su "Al telefono" if (_messenger.LocalUser.Status == UserStatus.OnThePhone) { _messenger.SendTextMessage("Questo è un messaggio automatico. " + "Non posso risponderti perchè sono al telefono. " + "Ti contatto appena ho finito.", e.UserFrom); } } #endregion } }




Agosto 23rd, 2008 at 13:45
complimenti bel post e grazie per aver citato il mio articolo!