Autor Tema: BOT MICROSOFT  (Leído 2801 veces)

Desconectado Erik

  • PHPero Avanzado
  • ****
  • Mensajes: 271
  • Karma: 14
  • Sexo: Masculino
    • Ver Perfil
BOT MICROSOFT
« en: 15 de Enero de 2008, 14:47:54 pm »
Bueno, este codigo no lo he creado 100% yo, ya que me lo aprendi de memoria, y traduci algunas cosas al español, para poder usarlo necesitas una cuenta en: [hide]http://sp.incesoft.com/index[/hide] y seguir estos pasos:

Primero te creas una cuenta en incesoft:


Despues :
La informacion de mas (Contacto, Telefono, Compania) pueden poner cualquier cosa que no afecta al bot, para nada. Despues de registrarse les van a dar una SP (como un nombre de Usuario). Vuelven,   ponen su SP, el Password, el Codigo de Confirmacion y se loguean.
Les aparece una pantalla algo asi:



Esa es la consola, es donde modifican la informacion externa del bot (Servidor, Nick, Mensaje Personal, Imagen, etc..). Les explico mas o menos cual funcion tiene cada una:

SP Info management: Cambian la Informacion del Bot, como Mensaje, Servidor, e info de tu cuenta de Incesoft
Msn account management:Ahi es donde agregan sus cuentas de MSN para que vivan los bots, y las administran , pueden cambiar sus contraseñas, ver que usuarios lo agregaron, etcetera.
Display Pictures:Cambian las imagenes que puede tener el bot
My Emotions: Agrega emoticones personalizados

Los otros tres son archivos para Editar para hacer funcionar al Bot, en tres lenguajes Visual, C++ y Java.

Ahora, lo primero que deben hacer es crear una cuenta en Hotmail (no creo que haya problema para eso xD) y agregarla en MSN account management. Le dan a "Submit" y vuelven a la administracion de Cuentas, y le dan a Sign In (para conectarlo al bot). Esto capaz que es lo que mas tarde, parece que Incesoft tiene problemas al conectarlo o demoras, pero mas de unas horas no creo que dure, se fijan, lo agregan y voila, su bot esta conectado ya.

Bueno, ahora hicimos lo primero, conectar al bot, pero falta configurarlo para hacerlo hablar, responder, jugar etc.. Aca es donde entra el Visual en juego, yo les recomiendo ese, porque estoy mas acostumbrado pero si saben se omiten estos pasos siguientes y lo configuran ustedes. Bajan el Visual, los Archivos SDK y abren "Myrobot.cs". Ahora el codigo lo pasas a este que tengo yo aqui y donde pone user pones tu SP y donde pone pass tu contraseña.



Código: [Seleccionar]
using System;
using System.IO;
using System.Drawing;
using System.Configuration;
using System.Runtime.Serialization;
using System.Collections.Specialized;
using System.Xml;
using System.Xml.Serialization;
using System.Text;
using System.Runtime.Serialization.Formatters.Binary;
using System.Threading;

using Incesoft.BotPlatform.SDK;
using Incesoft.BotPlatform.SDK.Interface;

namespace BotPlatformConsoleServer
{
public class MyRobot
{
public string address;

public int port;

public string user;

public string password;

static void Main(string[] args)
{
MyRobot me = new MyRobot();
me.address = "msnbot.incesoft.com";
me.port = 6602;
                        me.user = "Tu user";
me.password = "pass";

IRobotServer server = RobotServerFactory.Instance.createRobotServer(me.address, me.port);
server.addRobotHandler(new MyHandler(server));
server.addConnectionListener(new MyListener());
try
{
server.login(me.user, me.password, 300000);
server.requestContactList("mkas@hotmail.es");
}
catch (RobotException e)
{
Console.Out.WriteLine("Fallo en la conexion :" + e.Message);
}
}
}

class MyHandler : IRobotHandler
{
public MyHandler(IRobotServer server)
{
this.server = server;
}
private IRobotServer server;
private Random rdm = new Random();

public System.String commandList = "*****************************************\r" +
"**  BOTPLATFORM SDK DEMO COMMAND LIST  **\r" +
"*****************************************\r" +
" preface --- test message preface. \r" +
" emo ------- test emoticon.\r" +
" nudge ----- test nudge.\r" +
" p4 -------- test msn activity.\r" +
" typing ---- test typing info.\r" +
" name ------ test change friendly name.\r" +
" pm -------- test change personal msg.\r" +
" dp -------- test change display picture.\r" +
" bye --------- test close session.\r" +
" help ------ print this command list.\r" +
" ? --------- print this command list.\r" +
" ent --------- print enterprise only command list.";

public System.String commandListEnt = "*****************************************\r" +
"**  BOTPLATFORM SDK ENTERPRISE ONLY COMMAND LIST  **\r" +
"**  Only use the following commands after upgraded your sp account  **\r" +
"*****************************************\r" +
" file ------ test file transfer.\r" +
" bg -------- test background sharing.\r" +
" ink ------- test send ink.\r" +
" wink ------ test send wink.\r" +
" voice ----- test send voiceclip.\r" +
" webcam ---- test send webcam\r" +
" cs <account> -------- test create session.\r" +
" pu <account> ------ test push offline message.\r" +
" iv <account> -------- test invite user.\r" +
" ent --------- print this command list.";
 
public virtual void  sessionO*****d(IRobotSession session)
{
System.Console.Out.WriteLine("Sesion abierta");
try
{
switch(session.OpenMode)
{
case SessionOpenMode.OPEN_MODE_CONV_OPEN:
session.send(commandList);
break;
case SessionOpenMode.OPEN_MODE_ROBOT:
session.send("Acabas de iniciar la session");
break;
default:
break;
}
}
catch (RobotException e)
{
util.consoleOut(e.ToString());
}
}


public virtual void  sessionClosed(IRobotSession session)
{
System.Console.Out.WriteLine("EVENT: sessionClosed");
}

public virtual void  messageReceived(IRobotSession session, IRobotMessage message)
{
System.Console.Out.WriteLine("EVENT: messageReceived");

try
{
System.String command = message.String;

IRobotMessage msg = session.createMessage();
if ("hola".ToUpper().Equals(command.ToUpper()))
{
    msg.String = "Aqui tu texto cuando te digan Hola";
session.send(msg);
}
else if ("AQUI TU PREGUNTA".ToUpper().Equals(command.ToUpper()))
                {
                    msg.String = "Aqui tu texto";
                    session.send(msg);
                }
                else if ("AQUI TU PREGUNTA".ToUpper().Equals(command.ToUpper()))
                {
                    msg.String = "Aqui tu texto cuando te digan lo que tu quieres";
                    session.send(msg);
                }
                else if ("AQUI TU PREGUNTA".ToUpper().Equals(command.ToUpper()))
                {
                    msg.String = "AQUI TU TEXTO";
                    session.send(msg);
                }
                else if ("AQUI TU PREGUNTA".ToUpper().Equals(command.ToUpper()))
                {
                    msg.String = "AQUI TU TEXTO";
                    session.send(msg);
                }
else
{
    session.sendActivity("http://tuweb.com", "Tu titulo" );
                    msg.String = "AQUI TU TEXTO SI NO DICEN ALGUNA DE LAS PREGUNTAS    SELECCIONADAS";
    session.send(msg);
                }
}
catch (RobotException e)
{
util.consoleOut(e.ToString());
}
}

public virtual void  nudgeReceived(IRobotSession session)
{
System.Console.Out.WriteLine("EVENT: nudgeReceived");
}


public virtual void  activityAccepted(IRobotSession session)
{
System.Console.Out.WriteLine("EVENTO: Actividad Acepta");
}


public virtual void  activityRejected(IRobotSession session)
{
System.Console.Out.WriteLine("EVENTO: Actividad Rejectada");
}

public virtual void userAdd(String robot, String user)
{
System.Console.Out.WriteLine("EVENTO: Usuario añadido");
}

public virtual void userRemove(String robot, String user)
{
System.Console.Out.WriteLine("EVENTO: Usuario borrado");
}

public virtual void  exceptionCaught(IRobotSession session, System.Exception cause)
{
System.Console.Out.WriteLine("SERVER ERROR: " + cause.Message);
}

public virtual void  activityClosed(IRobotSession session)
{
System.Console.Out.WriteLine("EVENTO: Actividad cancelada");
}
public virtual void  fileAccepted(IRobotSession session)
{
System.Console.Out.WriteLine("EVENTO: Archivo aceptado");
}

public virtual void  fileRejected(IRobotSession session)
{
System.Console.Out.WriteLine("EVENTO: Archivo rejectado");
}
public virtual void  webcamAccepted(IRobotSession session)
{
System.Console.Out.WriteLine("EVENTO: WebCam Aceptada");
}

public virtual void  webcamRejected(IRobotSession session)
{
System.Console.Out.WriteLine("EVENTO: WebCam rejectada");
}

public virtual void  activityLoaded(IRobotSession session)
{
System.Console.Out.WriteLine("EVENTO: Cargando actividad");
}

public virtual void  activityReceived(IRobotSession session, System.String data)
{
System.Console.Out.WriteLine("EVENTO: Actividad recibida:" + data);
}

public virtual void  userJoined(IRobotSession session, IRobotUser user)
{
System.Console.Out.WriteLine("EVENTO: Usuario unido : " + user);
}

public virtual void  userLeft(IRobotSession session, IRobotUser user)
{
System.Console.Out.WriteLine("EVENTO: Usuario desconectado :" + user);
}

public virtual void  userUpdated(IRobotUser user)
{
System.Console.Out.WriteLine("EVENTO: Usuario Subido (" + user.ID +","+user.Status+","+user.FriendlyName+ ")");
}

public virtual void  personalMessageUpdated(System.String robot, System.String user, System.String personalMessage)
{
System.Console.Out.WriteLine("EVENTO: Mensaje personal cargado... (" + robot + ", " + user + ", " + personalMessage + ")");
}
public virtual void contactListReceived(System.String robot, System.Collections.ArrayList contactList)
{
System.Console.Out.WriteLine("EVENTO: Lista de contacto recibida");
for (int i=0; i<contactList.Count; i++)
{
IRobotUser user = (IRobotUser)contactList[i];
System.Console.Out.WriteLine("Usuario "+i+": "+user.ID);
}
}

}
class MyListener : IRobotConnectionListener
{
public void serverConnected(IRobotServer server)
{
Console.Out.WriteLine("Servidor conectado");
}

public void serverReconnected(IRobotServer server)
{
Console.Out.WriteLine("Reconexion al servidor");
}

public void serverDisconnected(IRobotServer server)
{
Console.Out.WriteLine("Desconectando del servidor...");
}

public void serverLoggedIn(IRobotServer sever)
{
Console.Out.WriteLine("Servidor logeado en...");
}
}
}

Luego, depuran y listo, lo mantienen on y perfecto, yo tengo el de una web que estamos haciendo unos colegas, geer.es.

contact@geer.es

Ya vereis que tal.
Código: [Seleccionar]
<?php
$myset 
"PHPER@ AVANZADO";
echo 
"Yo soy".$myset;
?>

Comunidad PHPeros

BOT MICROSOFT
« en: 15 de Enero de 2008, 14:47:54 pm »

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re: BOT MICROSOFT
« Respuesta #1 en: 16 de Enero de 2008, 17:08:47 pm »
No entiendo para que es esto exactamente...
¿Podrias explicar?

Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado Raken

  • PHPero Avanzado
  • ****
  • Mensajes: 297
  • Karma: 30
  • Sexo: Masculino
    • Ver Perfil
Re: BOT MICROSOFT
« Respuesta #2 en: 18 de Enero de 2008, 15:06:17 pm »
¿Es esto lo que creo que es? La verdad es que me llama mucho la atención, aunque no creo que tenga nada que no pueda hacerse desde la sección Scripts del Messenger Plus, con JavaScript.
Raken - Moderador para PHP y HTML

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re: BOT MICROSOFT
« Respuesta #3 en: 18 de Enero de 2008, 15:41:35 pm »
Yo pienso que simplemente es un bot que cuando preguntas algo responde con la respuesta que especifiques en el programa.
Pero como dice raken, la cosa se simplifica bastante con los scripts de Messenger Plus...

Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado batussay_345

  • PHPerit@
  • *
  • Mensajes: 1
  • Karma: 0
    • Ver Perfil
Re: BOT MICROSOFT
« Respuesta #4 en: 12 de Marzo de 2008, 23:29:56 pm »
Hola amigo ya instale el programa, ya me registre modifique en el progra el usuario y password, tambien cambie el server.requestContactList("robot@mydomain.com");

por mi correo electronico pero al ejecutar me sale el siguiente error :

SERVER ERROR: Not Enough Permissions!
buscando encontre algunas posibles soluciones pero lo malo que las paginas que encontre estan en japones me podrian ayudar con este problema

------------
gracias de antemano
batussay_345@hotmail.com

Desconectado Erik

  • PHPero Avanzado
  • ****
  • Mensajes: 271
  • Karma: 14
  • Sexo: Masculino
    • Ver Perfil
Re: BOT MICROSOFT
« Respuesta #5 en: 20 de Marzo de 2008, 15:26:30 pm »
Tienes el bot en la pagina de microsoft activado, con el msn elejido?
Código: [Seleccionar]
<?php
$myset 
"PHPER@ AVANZADO";
echo 
"Yo soy".$myset;
?>