Esta vez vengo con un problema mayusculo (al menos para mi)... Tal vez el titulo es bastante confuso... Tengo un correo [email protected] (p.ej.) debidamente registrado en passport.net para usarlo con el MSNmessenger. El fin de este email es que el usuario pueda contactarse conmigo cuando tenga dudas... algo asi como un soporte tecnico :-p ... bueno, lo que quiero hacer es q el usuario agregue este correo a su lista de contactos, y que inmediatamente sea aceptado automaticamente, asunq yo noneste en linea, y asi mismo establecer ciertos mensajes de autorespuesta, para que asi si elk usuario tiene alguna duda ya conocida, el mensaje le sea enviado automaticamente...
No se si me explique bien... La razon por la que posteo en este foro es que me dijeron que existe un modulo en php que permite hacer lo que quiero, osea q te permite permanecer conectado en el messenger y enviar ciertos mensajes... Busq horas este modulo, pero no encontre mas que este codigo:
Código PHP:
<?php
use lib "./lib";
use MSN;
use Net::IRC;
use Data::Dumper;
## MODIFY THESE FOR YOUR BOT ##
my $handle = shift || '[email protected]';
my $password = shift || '****';
$irc = new Net::IRC;
$conn = $irc->newconn(
Nick => 'msn2irc',
Server => 'irc.slashnet.org',
Port => '6667',
Ircname => 'msn2irc');
my $msn = new MSN( 'Handle' => $handle, 'Password' => $password );
$conn->add_global_handler('376', &on_connect);
$conn->add_global_handler('disconnect', &on_disconnect);
$conn->add_handler('msg', &on_msg);
$conn->add_handler('public', &on_public);
$conn->add_handler('disconnect', &on_public);
$msn->setHandler( 'Connected' => &Connected );
$msn->setHandler( 'Disonnected' => &Disconnected );
$msn->setHandler( 'Message' => &Message );
$msn->setHandler( 'Answer' => &Answer);
$msn->connect();
my $run = 1;
while( $run )
{
$irc->do_one_loop();
$msn->do_one_loop();
}
sub Connected
{
my $self = shift;
print( "Connected\n" );
$msn->setStatus( "NLN" );
$msn->setName( "MSN2IRC" );
$msn->setDisplayPicture( "" );
}
sub Disconnected
{
my $self = shift;
my $reason = shift || 'unknown reason';
print( "Disconnected : $reason\n" );
}
sub Message
{
my( $self, $username, $name, $message ) = @_;
if($message =~ m/!nick (.*?)$/){
$convert->{$username} = $1;
$connection1->privmsg("#bot-depot", "\x01ACTION $username is now $1") if $connected;
}
elsif($message =~ m/!socks$/){
$out = "";
foreach my $convo (values %{$msn->getConvoList()}){
$id = $convo->getID();
$users = join(", ",keys %{$convo->getMembers()});
$out .= "$id: $users\n";
}
$self->sendmsg($out);
}
elsif($message =~ m/!join (d+)$/){
$soc = $msn->getConvo($1);
$soc->invite('[email protected]');
}
else{
if(exists $convert->{$username}){
$ircname = $convert->{$username};
}
else{
($ircname) = $username =~ m/^(.*?)@/;
}
$connection1->privmsg("#bot-depot", "\x0312$ircname: \x031$message") if $connected;
foreach my $convo (values %{$msn->getConvoList()})
{
$convo->sendmsg($message, Name => "MSN: <$username>") unless grep { $_ eq $username } keys %{$convo->getMembers()};
}
}
}
sub Answer {
my ($self, $username) = @_;
$username = join("",keys %{$self->getMembers()});
$connection1->privmsg("#bot-depot", "\x01ACTION $username has joined") if $connected;
$self->sendmsg("Welcome to <msn2irc>\n\n!nick <your nick name> - To change your nick name\n\nOr just start chatting!");
}
sub on_connect {
my $self = shift;
print "Joining #bot-depot\n";
$self->join("#bot-depot");
$self->privmsg("#bot-depot", "\x0312 MSN2IRC Running. By Matt Austin");
$self->privmsg("NickServ", "IDENTIFY fishballs");
$connection1 = $self;
print "IRC connected\n";
$connected = 1;
}
sub on_msg {
my ($self, $event) = @_;
my ($nick) = $event->nick; # sender of message
$self->privmsg($nick,"\x0312 MSN2IRC\x031 By Matt Austin Add\x034 msn2irc\@gmail.com");
print "*$nick* ", ($event->args), "\n";
}
sub on_public {
my ($self, $event) = @_;
my ($nick) = $event->nick; # sender of message
foreach my $convo (values %{$msn->getConvoList()})
{
$convo->sendmsg($event->args, Name => "IRC: <$nick>");
}
}
sub on_disconnect {
my ($self, $event) = @_;
return if $::Departing;
exit 0;
}
?>
Espero me puedan ayudar... plzzz
Salu2