Autor Tema: Ayudenme a un Bot de noticias  (Leído 6878 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Vichito

  • Visitante
Ayudenme a un Bot de noticias
« en: Septiembre 24, 2013, 01:57:22 am »
Buenas noches me ayudan a crear un bot que recoja noticias por favot deportivas ejemplo    


 Noticias "Batalla de Tucumán" - Entre el 24 y 25 de septiembre de 1812 se libraba un enfrentamiento armado en el curso de la guerra de independencia de nuestro país. El Ejército del Norte, al mando del Gral. Juan Manuel Belgrano se [...]

Desconectado Randy

  • Miembro de pleno derecho
  • ***
  • Mensajes: 128
  • Karma: +14/-21
  • Sexo: Masculino
  • MSL - Servicios de ayuda al Usuario
    • ICSVE - Internet And Computer Services
Re:Ayudenme a un Bot de noticias
« Respuesta #1 en: Octubre 25, 2013, 06:07:15 pm »
Hola Vichito.

Eso que tú pides tiende a ser bastante difícil ya que es un sock, lo intenté y lo logré pero con otro tipo de noticias y los RSS cambian de formato, es solo un sock que lea RSS, luego de que se domine se hace mas facil.

Aquí te dejoel socket que hize a ver si te sirve:

Código: [Seleccionar]
on *:sockopen:nt:{
  var %o sockwrite -tn $sockname
  %o GET /rss/temas_noticias.xml HTTP/1.0
  %o Host: www.rtve.es
  ;%o User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511
  %o Connection: Keep-Alive
  %o $crlf
}
on *:sockread:nt:{
  sockread -f %nt
  if <item> isin %nt {

    set %item si
  }
  if <title> isin %nt && %item == si {
    set %titulo $xmltag(%nt,title)
    set %title si
    halt
  }

  if <description> isin %nt && %title == si {
    set %description  $sinhtml($xmltag($remove($unicode($xmltag(%nt,description)),<em>),li))
    if %ult != %titulo {   
      amsg "Noticias": $utf8(%titulo) $+  $utf8($iif(%description,|2 %description))
      set %ult %titulo
    }
    if %ult == %titulo {
      unset %item
      unset %title 
      unset %description
      unset %titulo
      unset %nnt
      sockclose $sockname
      halt
    }
    unset %item
    unset %title 
    unset %description
    unset %titulo
    unset %nnt
    sockclose $sockname
    halt




  }

}


on *:sockclose:nt:{
  unset %item %title %titulo %descripcion %titulo %nnt
  unset %nnt
}
alias nospam {
  set -u0 %x $nospam2($1)
  return $remove(%x,http://,http,www.,.com,.org,.net,.es,.ve,&lt,&amp;,#309,:,;p,&gt,;;a,;p&gt;;a,width=130,&lt;/p&gt;&lt;br clear="all"/&gt;,item,title)
}
alias nospam2 {
  return $1
  var %a 1
  while %a <= $numtok($1,32) {
    set -u0 %o %o $gettok($1,%a,32)
    if href= !isin  $gettok($1,%a,32)  http://*.* !iswm $gettok($1,%a,32) && $count($gettok($1,%a,32),/) < 1 if &lt !isin %o && align= !isin %o && heigh !isin %o && border="0" !isin %o && width= !isin %o &&  :p& !isin %o { 
      set -u0 %ns %ns $gettok($1,%a,32)
    }
    inc %a
  }
  return %ns
}
alias xmltag { var %a = $pos($1,< $+ $2) , %b = $pos($1,</ $+ $2 $+ >) , %c = $pos($1,< $+ $2 $+ />) | if (%c) { return } | else { return $gettok($mid($1,%a,$calc(%b - %a)),2,62) } }
alias nt {
  if $sock(nt) { sockclose nt }
  sockopen nt www.rtve.es 80
}
alias utf8 { return $replace($remove($1-,Â),á,á,ó,ó,ú,ú,í,í,é,é,ñ,ñ,Ó,Ó,ç,ç,Á,Á,ü,ü,Ú,Ú,&aacute;,á,&eacute;,é,&iacute;,í,&oacute;,ó,&uacute;,ú,&quot;,",&ntilde;,ñ,&ordf;,ª,&ccedil;,ç,&ldquo;,«,&rdquo;,»,&iexcl;,¡,ñ,ñ,&ordm;,º,&uuml;,ü,ú,ú,á,á) }
alias unicode { return $replace($1,&lt;,<,&gt;,>,&amp;,&,&quot;,",&aacute;,á,&agrave;,à,&eacute;,é,&egrave;,è,&iacute;,í,&igrave;,ì,&oacute;,ó,&ograve;,ò,&uacute;,ú,&ugrave;,ù,&auml;,ä,&acirc;,â,&euml;,ë,&ecirc;,ê,&iuml;,ï,&icirc;,î,&ouml;,ö,&ocirc;,ô,&uuml;,ü,&ucirc;,û,&aring;,å,&atilde;,ã,&ccedil;,ç,&ntilde;,ñ,&Yacute;,Ý,&otilde;,õ,&yacute;,ý,&Oslash;,Ø,&yuml;,ÿ,&oslash;,ø,&THORN;,Þ,&ETH;,Ð,&thorn;,þ,&eth;,ð,&AElig;,Æ,&szlig;,ß,&aelig;,æ,&frac14;,¼,&nbsp;,$chr(32),&frac12;,½,&iexcl;,¡,&frac34;,¾,&pound;,£,&copy;,©,&yen;,¥,&reg;,®,&sect;,§,&ordf;,ª,&curren;,¤,&sup2;,²,&brvbar;,¦,&macr;,¯,&not;,¬,&laquo;,«,&acute;,´,&uml;,¨,&raquo;,»,&cedil;,¸,&iquest;,¿) }


Agradecer y aplaudir no cuesta nada, y vale mucho para nosotros.

Vichito

  • Visitante
Re:Ayudenme a un Bot de noticias
« Respuesta #2 en: Octubre 29, 2013, 03:06:38 am »
Hola buenas __randy__ no entiendo  men lo copie y lo meti en el remote del mirc pero no hace nada amigo

Desconectado Randy

  • Miembro de pleno derecho
  • ***
  • Mensajes: 128
  • Karma: +14/-21
  • Sexo: Masculino
  • MSL - Servicios de ayuda al Usuario
    • ICSVE - Internet And Computer Services
Re:Ayudenme a un Bot de noticias
« Respuesta #3 en: Octubre 29, 2013, 04:10:54 pm »
El código se utiliza con el comando /nt

Te recuerdo que las noticias que están ahí son en general, no son deportivas, intenté un par de veces y tenía un inusual error.

Puedes probar con otros RSS's, sólo tendrías que cambiar en el alias nt la dirección:
Código: [Seleccionar]
alias nt {
  if $sock(nt) { sockclose nt }
  sockopen nt acáladirecciónquequieras 80
}
Y en el on *:sockopen:nt:{

Código: [Seleccionar]
on *:sockopen:nt:{
  var %o sockwrite -tn $sockname
  %o GET aquíloquevaaextraer HTTP/1.0
  %o Host: aquíladirecciónquequieras

No estoy seguro de que funcione alterando la dirección ya que la mayoría de los formatos de los RSS cambia, espero que sea de tu ayuda.

Un saludo

Agradecer y aplaudir no cuesta nada, y vale mucho para nosotros.

Desconectado Gentleman

  • Novato
  • *
  • Mensajes: 45
  • Karma: +5/-3
  • Sexo: Masculino
  • The scientist
Re:Ayudenme a un Bot de noticias
« Respuesta #4 en: Noviembre 02, 2013, 03:29:45 pm »
Hola

Randy probando yo tambien el Remote.. sí funciona, pero solo manda las noticias al ejecutar el alias /nt ,
¿No hay otra manera de que el bot de las noticias sin poner nada?, osea solo automaticamente...
Si hay alguna manera ayudame :D
Gracias


 :D :D :D :D
Twitter: @francoislopezz
FanPage: François López

Desconectado Randy

  • Miembro de pleno derecho
  • ***
  • Mensajes: 128
  • Karma: +14/-21
  • Sexo: Masculino
  • MSL - Servicios de ayuda al Usuario
    • ICSVE - Internet And Computer Services
Re:Ayudenme a un Bot de noticias
« Respuesta #5 en: Noviembre 03, 2013, 02:38:34 am »

Pues sería con un Timer.

Podrias usar algo cómo esto:

Código: [Seleccionar]
On *:connect:{
.Timer 0 300 nt
}

Podria haberlo hecho de una manera mas útil, pero lamentablemente tengo mi pc dañada, será para la próxima :)

Agradecer y aplaudir no cuesta nada, y vale mucho para nosotros.

Desconectado Gentleman

  • Novato
  • *
  • Mensajes: 45
  • Karma: +5/-3
  • Sexo: Masculino
  • The scientist
Re:Ayudenme a un Bot de noticias
« Respuesta #6 en: Noviembre 26, 2013, 08:40:55 pm »
Bueno tambien probando Yo,
Quedaría tambien así:

Código: [Seleccionar]
On *:CONNECT:{
timernt 0 5 nt

El 5 es mejor Para que lea La Web Cada 5 Segundos!¡!.... Es mejor...!!! Yo lo utilizo así.


Espero les sirva

Salu2.!¡
Twitter: @francoislopezz
FanPage: François López

usuariosss

  • Visitante
Re:Ayudenme a un Bot de noticias
« Respuesta #7 en: Marzo 03, 2014, 07:44:41 pm »
Hola randy amigo eres un crack pero como puedo ponerle la noticias Marca al bot que devo cambiar para las noticias marca me ayudas

Desconectado Stig

  • Miembro de pleno derecho
  • ***
  • Mensajes: 238
  • Karma: +10/-24
    • IrcBots
Re:Ayudenme a un Bot de noticias
« Respuesta #8 en: Marzo 03, 2014, 09:46:14 pm »
 ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D
Twitter: @apapostiado
Proyectos: IrcBots - apapostiado

invitados

  • Visitante
Re:Ayudenme a un Bot de noticias
« Respuesta #9 en: Julio 07, 2014, 03:25:57 am »
Hola disculpen mi ignorancia y si quiero que el bot este de noticias  me lance las noticias marcas por ejemplo me pase las noticas asi ->  el jugar di maria  no jugara el mundia por lección pero que sean marcas que debo cambair por favor   


on *:sockopen:nt:{
  var %o sockwrite -tn $sockname
  %o GET /rss/temas_noticias.xml HTTP/1.0
  %o Host: www.rtve.es
  ;%o User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511
  %o Connection: Keep-Alive
  %o $crlf
}
on *:sockread:nt:{
  sockread -f %nt
  if <item> isin %nt {

    set %item si
  }
  if <title> isin %nt && %item == si {
    set %titulo $xmltag(%nt,title)
    set %title si
    halt
  }

  if <description> isin %nt && %title == si {
    set %description  $sinhtml($xmltag($remove($unicode($xmltag(%nt,description)),<em>),li))
    if %ult != %titulo {   
      amsg "Noticias": $utf8(%titulo) $+  $utf8($iif(%description,|2 %description))
      set %ult %titulo
    }
    if %ult == %titulo {
      unset %item
      unset %title 
      unset %description
      unset %titulo
      unset %nnt
      sockclose $sockname
      halt
    }
    unset %item
    unset %title 
    unset %description
    unset %titulo
    unset %nnt
    sockclose $sockname
    halt




  }

}


on *:sockclose:nt:{
  unset %item %title %titulo %descripcion %titulo %nnt
  unset %nnt
}
alias nospam {
  set -u0 %x $nospam2($1)
  return $remove(%x,http://,http,www.,.com,.org,.net,.es,.ve,&lt,&amp;,#309,:,;p,&gt,;;a,;p&gt;;a,width=130,&lt;/p&gt;&lt;br clear="all"/&gt;,item,title)
}
alias nospam2 {
  return $1
  var %a 1
  while %a <= $numtok($1,32) {
    set -u0 %o %o $gettok($1,%a,32)
    if href= !isin  $gettok($1,%a,32)  http://*.* !iswm $gettok($1,%a,32) && $count($gettok($1,%a,32),/) < 1 if &lt !isin %o && align= !isin %o && heigh !isin %o && border="0" !isin %o && width= !isin %o &&  :p& !isin %o { 
      set -u0 %ns %ns $gettok($1,%a,32)
    }
    inc %a
  }
  return %ns
}
alias xmltag { var %a = $pos($1,< $+ $2) , %b = $pos($1,</ $+ $2 $+ >) , %c = $pos($1,< $+ $2 $+ />) | if (%c) { return } | else { return $gettok($mid($1,%a,$calc(%b - %a)),2,62) } }
alias nt {
  if $sock(nt) { sockclose nt }
  sockopen nt www.rtve.es 80
}
alias utf8 { return $replace($remove($1-,Â),á,á,ó,ó,ú,ú,í,í,é,é,ñ,ñ,Ó,Ó,ç,ç,Á,Á,ü,ü,Ú,Ú,&aacute;,á,&eacute;,é,&iacute;,í,&oacute;,ó,&uacute;,ú,&quot;,",&ntilde;,ñ,&ordf;,ª,&ccedil;,ç,&ldquo;,«,&rdquo;,»,&iexcl;,¡,ñ,ñ,&ordm;,º,&uuml;,ü,ú,ú,á,á) }
alias unicode { return $replace($1,&lt;,<,&gt;,>,&amp;,&,&quot;,",&aacute;,á,&agrave;,à,&eacute;,é,&egrave;,è,&iacute;,í,&igrave;,ì,&oacute;,ó,&ograve;,ò,&uacute;,ú,&ugrave;,ù,&auml;,ä,&acirc;,â,&euml;,ë,&ecirc;,ê,&iuml;,ï,&icirc;,î,&ouml;,ö,&ocirc;,ô,&uuml;,ü,&ucirc;,û,&aring;,å,&atilde;,ã,&ccedil;,ç,&ntilde;,ñ,&Yacute;,Ý,&otilde;,õ,&yacute;,ý,&Oslash;,Ø,&yuml;,ÿ,&oslash;,ø,&THORN;,Þ,&ETH;,Ð,&thorn;,þ,&eth;,ð,&AElig;,Æ,&szlig;,ß,&aelig;,æ,&frac14;,¼,&nbsp;,$chr(32),&frac12;,½,&iexcl;,¡,&frac34;,¾,&pound;,£,&copy;,©,&yen;,¥,&reg;,®,&sect;,§,&ordf;,ª,&curren;,¤,&sup2;,²,&brvbar;,¦,&macr;,¯,&not;,¬,&laquo;,«,&acute;,´,&uml;,¨,&raquo;,»,&cedil;,¸,&iquest;,¿) }

Desconectado Gentleman

  • Novato
  • *
  • Mensajes: 45
  • Karma: +5/-3
  • Sexo: Masculino
  • The scientist
Re:Ayudenme a un Bot de noticias
« Respuesta #10 en: Septiembre 20, 2014, 04:57:16 pm »
 ;D ;D ;D ;D ;D ;D

Cambiar la url www.rtve.es por la web de MARCA y también el sitio XML de donde se sacará la Noticia  ;) ;) ;)

Sitio XML de RTVE: /rss/temas_noticias.xml (Actual)
Code:
Código: [Seleccionar]
%o GET /rss/temas_noticias.xml HTTP/1.0
Sitio XML de MARCA: /rss/portada.xml |l| Web: marca.feedsportal.com
Code:
Código: [Seleccionar]
%o GET /rss/portada.xml HTTP/1.0

:D :D :D
Espero te sirva. ..
Twitter: @francoislopezz
FanPage: François López

MiLeNiUm

  • Visitante
Re:Ayudenme a un Bot de noticias
« Respuesta #11 en: Noviembre 06, 2015, 06:00:40 pm »
buenas ya se que este post tiene mas de un año.. pero por casualidad buscando un codigo de noticias para un bot vi este, bueno a lo que iba jeje me salta un error en la linea 43 dicha linea es una llave "}"  espero que me puedan ayudar. Gracias de ante mano, Un saludo.

 

anything