Aprende a Hacer Un Bot Para Telegram. Fácil y Gratis

Share Embed Donate


Short Description

Download Aprende a Hacer Un Bot Para Telegram. Fácil y Gratis...

Description

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches Utilizamos cookies propias y de terceros para prestar nuestros servicios y mostrar publicidad relacionada con sus preferencias. Si continua navegando, consideramos que acepta su uso. Puede obtener más información, o bien conocer cómo cambiar la configuración, en nuestra Política de cookies.

INICIO

NOTICIAS

FORO

 Buscar  +  ForoCoches > Zona General > General  [TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis.

Usuario

Usuario

Contraseña

¿Recordarme? Acceder

Registro

2 CAMISETAS DE FOROCOCHES (SOLO POR POSTEAR)

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis.

 

Pág 1 de 11

1 2 3 4 5 6 7 8 9 10

 Ver Primero Sin Leer  

Cuota: Pagada.  

> Último »

Herramientas 

 25­ago­2015, 03:46

Edurolp

 

  #1  [TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis.

Buenas shurs, bienvenidos a este tutorial donde explicaré paso a paso cómo hacer un bot para Telegram de manera fácil y 100% gratis 

Paso 1: Crear el bot   Jun 2015 | 440 Mens. Lugar: Córdoba

1.  El primer paso, es dirigirnos a @BotFather, que es un Bot creado por Telegram que sirve para crear y administrar nuestros bots.

Kodo

2.  Le damos a Iniciar y nos mandará un mensaje con los comandos que hay: Código:

http://www.forocoches.com/foro/showthread.php?t=4491359

1/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches /newbot ‐ create a new bot  /token ‐ generate authorization token  /revoke ‐ revoke bot access token  /setname ‐ change a bot's name  /setdescription ‐ change bot description  /setabouttext ‐ change bot about info  /setuserpic ‐ change bot profile photo  /setcommands ‐ change bot commands list  /setjoingroups ‐ can your bot be added to groups?  /setprivacy ‐ what messages does your bot see in groups?  /deletebot ‐ delete a bot  /cancel ‐ cancel the current operation

3.  Escribimos /newbot y comenzará la creación del bot. Nos preguntará su nombre, por ejemplo yo le pondré: Tutorial FC. Después nos preguntará su nombre de usuario (es decir, su alias), y nos avisa que debe acabar en bot, así que yo le pondré Tutorial_FC_bot. Tras enviarle este mensaje, nos enviará un mensaje avisándonos de que ya se ha creado nuestro bot, y nos mandará un tokken para acceder a la API de los bots de Telegram.

4.  Ahora haciendo uso de los comandos ofrecidos por @BotFather, vamos a personalizarlo un poco. Primero le cambiaremos la imagen con /setuserpic. Este comando hará que se nos abra un teclado especial donde saldrán todos nuestros bots creados. Seleccionamos nuestro bot y nos pedirá que le enviemos una imagen.

http://www.forocoches.com/foro/showthread.php?t=4491359

2/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches

5.  Con los demás comandos, podemos cambiar cierta información del bot. Código:

/setabouttext ­ Para cambiar el 'Acerca de' de nuestro bot. /setjoingroups ­ Para permitir o denegar el acceso de nuestro bot a grupos. /setprivacy ­ Para permitir que nuestro bot pueda leer los mensajes que se envían en  grupos o no. (Por defecto no puede)

6.  Pero Edu, no has mencionado aún /setcommands... Cierto, a ello voy   Con ese comando, es con el cual le añadiremos nuestros propios comandos al bot. El formato de los comandos a introducir es el que dejo a continuación. Código:

comando1 ‐ Descripción de comando1  comando2 ‐ Descripción de comando2  etc...

Por ejemplo yo pondré /roto2 y /miramacho.

http://www.forocoches.com/foro/showthread.php?t=4491359

3/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches

Vale, hasta ahora todo perfecto. Hemos creado el bot... pero por ahora no hace nada, ¿verdad?.

Paso 2: Preparar zona de creación del bot. Para programar el bot, haremos uso de una API en python que encontré en internet y es muy cómoda y sencilla. La API es pyTelegramBotAPI. No os pongáis nerviosos todavía, que yo os lo explico todo. 1.  Nos dirigimos a https://c9.io/ y nos registramos y vamos a nuestro correo para activar la cuenta.

2.  Después de registrarnos y verificar, deberemos tener esto en nuestra pantalla:

http://www.forocoches.com/foro/showthread.php?t=4491359

4/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches

3.  Cuando entremos, veremos algo así:

4.  Ahora le damos a Create a new workspace y con rellenar los siguientes campos tenemos suficiente: Código:

Workspace name ‐ Aquí va el nombre de nuestro espacio de trabajo.  Private ‐ Con esto nos aseguramos de que nuestro espacio de trabajo es privado.

Todo lo demás lo dejamos tal cuál y le damos abajo donde pone Create workspace.

5.  Tras crear nuestro nuevo espacio de trabajo, este cargará y veremos la siguiente pestaña. Spoiler: [ pulsa para ver ]

http://www.forocoches.com/foro/showthread.php?t=4491359

5/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches Nota, en las dos pestañas que se nos abren dentro de nuestro espacio de trabajo, en la de la izquierda que pone "Welcome", yo iré a donde pone "Editor (Ace) Theme" y seleccionaré "Monokai" pues estoy acostumbrado y me gusta más.

AVISO AVISO AVISO AVISO 

Si no entiendes algo de lo que viene a continuación, avísame ya que son algunas cosas de Linux, que si no has trabajado con ese Sistema Operativo nunca, es normal que te pierdas un poco.

AVISO AVISO AVISO AVISO 

6.  Ahora, en la terminal (La pestaña de más abajo que pone bash) escribiremos lo siguiente: sudo pip install pyTelegramBotAPI Y deberá salir lo siguiente: Código:

Downloading/unpacking pyTelegramBotAPI    Downloading pyTelegramBotAPI‐0.3.3.tar.gz    Running setup.py (path:/tmp/pip_build_root/pyTelegramBotAPI/setup.py) egg_info for  package pyTelegramBotAPI        Downloading/unpacking pytest (from pyTelegramBotAPI)    Downloading pytest‐2.7.2‐py2.py3‐none‐any.whl (127kB): 127kB downloaded  Requirement already satisfied (use ‐‐upgrade to upgrade): requests in /usr/lib/python 2.7/dist‐packages (from pyTelegramBotAPI)  Requirement already satisfied (use ‐‐upgrade to upgrade): six in /usr/lib/python2.7/d ist‐packages (from pyTelegramBotAPI)  Downloading/unpacking py>=1.4.29 (from pytest‐>pyTelegramBotAPI)    Downloading py‐1.4.30‐py2.py3‐none‐any.whl (81kB): 81kB downloaded  Installing collected packages: pyTelegramBotAPI, pytest, py    Running setup.py install for pyTelegramBotAPI        Successfully installed pyTelegramBotAPI pytest py  Cleaning up...

Eso quiere decir que ya tenemos instalada la API pyTelegramBotAPI que usaremos para programar nuestro bot. Muy bien, ya llevamos bastante hecho, pero aún nos queda todo lo referido al bot.

Paso 3: Programar el bot Para ello, haremos uso del lenguaje python, como ya dije antes. Si no sabes python no te preocupes, yo no sabía tampoco antes de empezar con los bots. Nótese que si tenía conocimientos de programación en C y C++, por lo cual, lo básico en python lo asimilé medianamente fácil. 1.  Crear el archivo de nuestro bot. Para ello, en la terminal (Eso que tenemos abajo con fondo azulado que pone bash en la pestaña.) escribiremos lo siguiente: touch bot.py Y veremos a la izquierda, en la raiz de archivos, que nos ha aparecido un archivo nuevo llamado bot.py. Hacemos doble click en él y se nos abrirá una nueva pestaña en nuestra zona de trabajo para editar el archivo.

http://www.forocoches.com/foro/showthread.php?t=4491359

6/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches

2.  Ahora pasamos a programar nuestro bot, comienza lo menos fácil de este tutorial... Para empezar, vamos a escribir el siguiente código http://pastebin.com/HCjJh9BF (Viene todo explicado. RECUERDA CAMBIAR EL TOKKEN POR EL DE TU BOT, O TE FALLARÁ) y le daremos al botón verde de arriba que pone Run, y veremos algo parecido a esto.

3.  Vale, por ahora todo perfecto. Ahora volvemos a Telegram, y hablaremos con nuestro bot. (Para ello, id a la conversación con @BotFather y buscad cuando tuvísteis que nombrar a vuestro bot mientras lo configurábais). Nos saldrá una conversación vacía y un botón que pondrá Iniciar. Le pulsamos y pasará lo siguiente: En Telegram:

http://www.forocoches.com/foro/showthread.php?t=4491359

7/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches

En nuestro centro de trabajo:

Como veis, ¡vuestro bot funciona! Parece cosa de magia eh   Bueno, recordad que cuando estábamos poniéndole comandos al bot, pusimos dos, ¿no?. Pues vamos a ello, vamos a programar nuestros dos comandos   (Bueno, mientras, paremos nuestro bot dándole al botón rojo que pone Stop 4.  Una vez añadido el código necesario para nuestros dos comandos (http://pastebin.com/DsCcEfhE), volveremos a darle a Run, iremos a nuestro bot, y probaremos qué tal funciona: En Telegram:

http://www.forocoches.com/foro/showthread.php?t=4491359

8/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches

En nuestro centro de trabajo:

Bueno, esto es todo para la primera parte, en los comentarios de abajo seguiré la guía dentro de uno o dos días cuando ya la haya visto algo de gente si veo que gusta la idea. Si no gusta lo que llevo de tutorial o no queréis que profundice más en cómo programar tu bot, en vez de continuar la explicación, explicaré por privado dudas, ya que esto lleva bastante tiempo hacer y no es cuestión de tirar el tiempo  Dicho esto, dejo enlaces de interés: https://www.python.org/ ­ Página oficial de python donde hay muchísima documentación. https://github.com/eternnoir/pyTelegramBotAPI ­ Página de la API que utilizamos. 100% recomendada su visita, ya que tiene una guía en Inglés muy pero que muy útil (más que la mía  ) @League_of_Legends_bot ­ Es mi bot   Échale un vistazo y dime qué te parece. Puedes votarlo con el comando /votar y ayudarme a hacer crecer el proyecto. https://core.telegram.org/bots/api ­ API de Telegram. @lolnewsbot ­ Bot que manda noticias del lol automáticamente. http://paquebot.io/ ­ Una manera de crear bots si no quieres programar nada. (Eso sí, serán infinitamente menos personalizables) @Edurolp ­ Escríbeme si te quieres unir al grupo de desarrolladores de Bots para Telegram.

Para cualquier duda, consultarme al Telegram @Edurolp, escribidme un MP o citarme en el hilo con vuestra

http://www.forocoches.com/foro/showthread.php?t=4491359

9/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches duda. Última edición por Edurolp fecha: 10­sep­2015 a las 04:02.

  

 25­ago­2015, 03:47

Edurolp Cuota: Pagada.  

  #2

Vale, ya tenemos nuestro bot creado. Ahora vamos a profundizar más en cómo programarlo. Aviso, yo no soy ningún experto en python ni nada por el estilo, a si que si tú entiendes de python y ves que algo que hago se puede hacer mejor o algo parecido, te agradecería enormemente tu colaboración  Antes de poneros a intentar continuar, por favor, mirad el repositorio de la API y la API de Telegram.

AVISO AVISO AVISO AVISO    Jun 2015 | 440 Mens. Lugar: Córdoba Kodo

Cuando salga una mención a BOT, en realidad es un @ seguido de la palabra bot, pero el sistema lo detecta como una mención y lo autocorrige 

AVISO AVISO AVISO AVISO 

Un log más claro.

Para controlar el log, es cómodo que aparte de ID de la conversación se muestre también el nombre del usuario que escribe. Para ello, en nuestra función listener vamos a hacer alguna modificación. Vamos a comprobar si el cid es positivo o negativo y dependiendo de ello imprimiremos un mensaje u otro: Código:

def listener(messages):      for m in messages:          cid = m.chat.id          if cid > 0:              print str(m.chat.first_name) + " [" + str(cid) + "]: " + m.text # Si 'cid ' es positivo, usaremos 'm.chat.first_name' para el nombre          else:              print str(m.from_user.first_name) + "[" + str(cid) + "]: " + m.text # Si  'cid' es negativo, usaremos 'm.from_user.first_name' para el nombre También podemos guardar el log en un archivo. Primero crearemos un archivo llamado log.txt (al igual que creamos el bot.py) y después modificaremos un poco nuestra función listener: Código:

def listener(messages):      for m in messages:          cid = m.chat.id          if cid > 0:              mensaje = str(m.chat.first_name) + " [" + str(cid) + "]: " + m.text # Si  'cid' es positivo, usaremos 'm.chat.first_name' para el nombre.          else:              mensaje = str(m.from_user.first_name) + "[" + str(cid) + "]: " + m.text #  Si 'cid' es negativo, usaremos 'm.from_user.first_name' para el nombre.          f = open( 'log.txt', 'a') # Abrimos nuestro fichero log en modo 'Añadir'.          f.write(mensaje + "\n") # Escribimos la linea de log en el fichero.          f.close() # Cerramos el fichero para que se guarde.          print mensaje # Imprimimos el mensaje en la terminal, que nunca viene mal :) Con esto de almacenar el nombre, puede resultar que un usuario tiene un nombre con emoticono en él, o que se llama 'José' y al tener un carácter "extraño" como sería la tilde, nos dará un fallo el bot parecido a este: Código:

Exception in thread WorkerThread1:  Traceback (most recent call last):    File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner      self.run()    File "/usr/local/lib/python2.7/dist‐packages/telebot/__init__.py", line 42, in run      task(*args, **kwargs)    File "/home/ubuntu/workspace/bot.py", line 33, in listener      f.write(mensaje + "\n") # Escribimos la linea de log en el fichero.  UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 16: ordina l not in range(128)

Para que esto no pase (a mi me pasaba al principio, por lo que tras mucho buscar, encontré una solución realmente sencilla.), debemos irnos a la parte de arriba de nuestro bot, donde tenemos esas líneas que ponen import ... y añadiremos las siguientes líneas: Código:

http://www.forocoches.com/foro/showthread.php?t=4491359

10/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches import sys  reload(sys)   sys.setdefaultencoding("utf‐8")

De esta manera no tendremos ningún problema tenga iconos, tildes, carácteres en chino, ruso o lo que sea :P

Control de usuarios En ciertas ocasiones, nos puede interesar tener un control de los usuarios que tenemos, ya sea para ver cuántos usuarios tenemos, o mandar un mensaje difundido a todos los usuarios que usen nuestro bot para informarles de una noticia importante relevante con el uso del bot. Para esto, seguro que la gente que entienda un poco sabrá alguna forma mejor de hacerlo, pero yo os voy a contar la mía. 1.  Crearemos un fichero llamado usuarios.txt de la misma manera que creamos los otros archivos. 2.  Debajo de donde pusimos nuestro TOKEN pondremos la siguiente línea: Código:

usuarios = [line.rstrip('\n') for line in open('usuarios.txt')] # Cargamos la lista de  usuarios. 3.  Después creamos un comando /start para que cuando un nuevo usuario empiece a usar el bot (por defecto en los chats normales, para empezar a hablar al bot siempre se escribe de manera automática /start. En este comando comprobaremos que cid no está en la lista de usuarios, y si no está, lo introduciremos en nuestra variable usuarios y lo añadiremos al fichero usuarios.txt: Código:

   @BOT.message_handler(commands=['start'])  def command_start(m):      cid = m.chat.id      if not str(cid) in usuarios: # Con esta sentencia, hacemos que solo se ejecute lo  de abajo cuando un usuario hace uso del bot por primera vez.          usuarios.append(str(cid)) # En caso de no estar en la lista de usuarios, lo a ñadimos.          aux = open( 'usuarios.txt', 'a') # Y lo insertamos en el fichero 'usuarios.tx t'          aux.write( str(cid) + "\n")          aux.close()          bot.send_message( cid, "Bienvenido al bot!!!!") Perfecto, ya tenemos un control de usuarios básico 

Mensajes difundidos Vale, ahora que tenemos un control de los usuarios, estaría genial poder enviarles noticias relevantes con respecto al bot. Para ello vamos a crear un comando al que yo por ejemplo lo llamaré /all, el cuál, recibirá un mensaje que se enviará a todos los usuarios registrados. Teniendo en cuenta por supuesto que, como administradores del bot, se supone que sólo nosotros podremos hacer uso del comando, a sí que este comando es mejor no añadirlo a la lista de comandos que le enviamos a @BotFather. Bueno, ¡dejemos de hablar y pongámonos a programar! 1.  Primero declararemos una variable llamada administrador que su valor será nuestro cid. La declararemos por los alrededores del TOKEN para que se pueda usar desde cualquier parte del programa. Código:

administrador = 52033876 # Este es mi ID, vosotros poned el vuestro

­Edu... ¿Cómo sé cuál es mi cid? +Enciende tu bot, salúdale, ve a tu centro de trabajo y donde se imprime el log te saldrá tu cid envuelto entre corchetes seguido de dos puntos y tu saludo  2.  Y segundo, creamos la función para hacer difundidos: Código:

   @BOT.message_handler(commands=['all'])  def command_all(m):      cid = m.chat.id      if cid != administrador: # Comprobamos que seamos nosotros quienes ejecutamos el  comando          bot.send_message( administrador, "El usuario con ID: " + str(cid) + " ha inte ntado utilizar el comando para enviar difundidos") # Si lo ejecuta otro, el bot nos a visará      else: # Si somos nosotros...          for ID in usuarios: # Por cada ID alamacenado en usuarios              try: # Intentamos enviar el mensaje.                  bot.send_message( int(ID), m.text[4:])              except: # Hacemos control de excepciones porque, si han borrado la conver sación del bot o le han expulsado del grupo en el que estaba, se generará una excepci ón al intentar enviar el mensaje.                  bot.send_message( administrador, "Error enviando mensaje a: " + ID) 

Uso del bot en grupos Si has probado a usar el bot en grupos, seguramente habrás visto en la consola de log de tu bot el siguiente

http://www.forocoches.com/foro/showthread.php?t=4491359

11/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches mensaje: Código:

Exception in thread WorkerThread4:  Traceback (most recent call last):  File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner  self.run()  File "/usr/local/lib/python3.4/dist‐packages/telebot/__init__.py", line 42, in run  task(*args, **kwargs)  File "/home/ubuntu/workspace/bot.py", line 28, in listener  print("[" + str(cid) + "]: " + m.text) # Y haremos que imprima algo parecido a esto ‐>  [52033876]: /start  AttributeError: 'Message' object has no attribute 'text'

Esto se debe a que en el listener, nos recoge todos los mensajes, y al añadir el bot a un grupo, este recibe un mensaje de haber sido admitido. Para evitar este error, modificaremos un poco nuestro listener dejándolo así: Código:

def listener(messages):      for m in messages:          cid = m.chat.id          if m.content_type == 'text': # Sólo saldrá en el log los mensajes tipo texto              if cid > 0:                  mensaje = str(m.chat.first_name) + " [" + str(cid) + "]: " + m.text              else:                  mensaje = str(m.from_user.first_name) + "[" + str(cid) + "]: " + m.text                f = open('log.txt', 'a')              f.write(mensaje + "\n")              f.close()              print mensaje

De esta manera evitaremos ese pequeño error 

Por hoy lo dejaré, más adelante continuaré añadiendo cosas 

 Espero haberos animado a hacer vuestro propio

bot y recordad votar el post para que más gente se anime a hacer su propio bot también  Última edición por Edurolp fecha: 27­ago­2015 a las 17:54.

    25­ago­2015, 03:47

Edurolp Cuota: Pagada.  

  Jun 2015 | 440 Mens. Lugar: Córdoba Kodo

  #3

Aportaciones de la comunidad: Si te da fallo en algún momento cuando uses la función random.randrange() es porque me equivoqué y va desde 0 hasta el número que le hayas metido a la función (sin incluirlo). Para solucionarlo, podemos añadir antes desde donde empieza el rango tal que así para que vaya de 1 a 10: random.randrange(1,11).Espero que os sirva  Top aportador: @ineedblood Cita:

Originalmente Escrito por black.wolf  aquí tenéis el que hice yo con php para la plataforma heroku: https://github.com/ZiTAL/php­telebot­heroku

Cita:

http://www.forocoches.com/foro/showthread.php?t=4491359

12/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches Originalmente Escrito por ineedblood  Shur en vez de tanto elif haz frases = {1:"asdasd... es más limpio EDIT: http://pastebin.com/6HM9HZEc Código:

@bot.message_handler(commands=['miramacho'])   def command_miramacho(m):       cid = m.chat.id # Guardamos el ID de la conversación para poder responder.      numero = random.randrange(10)       frases ={1:"Vas to burlao",      2:"Zumo para prestar",      3:"Pole",      4:"me an robado el coche melon destrozado",      5:"Mira macho vete a la mierda de verdad",      6:"Contacto gym apuntate al 0",      7:"Mi novia no es puta me lo ha dicho ella",      8:"Hilitri paga el wifi primer aviso",      9:"Ni con tu wifi"      }      mensaje = frases[numero]      bot.send_message( cid, mensaje)

Cita:

Originalmente Escrito por ineedblood  es que ahora no pero si te da por hacerlo más grande luego se va notando  habria que ir haciendo mas cositas Código:

@bot.message_handler(commands=['fecha'])  def command_fecha(m):      cid = m.chat.id      x = datetime.datetime.now()      switcher = {          1: "enero",          2: "febrero",          3: "marzo",          4: "abril",          5: "mayo",          6: "junio",          7: "julio",          8: "agosto",          9: "septiembre",          10: "octubre",          11: "noviembre",          12: "diciembre"      }      mes = switcher[x.month]      fecha = "Estamos a %s de %s" % (x.day, mes)      bot.send_message(cid, fecha)

Cita:

Originalmente Escrito por ineedblood  toma acabo de hacer este basico http://pastebin.com/tAyUXkH7 Código:

@bot.message_handler(commands=['getid']) # sirve para averiguar tu id de forma basica   def command_getid(m):      cid = m.chat.id      bot.send_message(cid, cid)  # luego en el chat haces /getid  @bot.message_handler(commands=['creador'])  def command_iscreador(m):      autorizado = TU_ID_AQUI      cid = m.chat.id            if(cid == autorizado):          bot.send_message(cid, 'oh gran ineedblood mi creador')      else:          bot.send_message(cid, 'no eres mi craedor vete a la mierda')

ahi lo adaptas como quieras shur

Cita:

http://www.forocoches.com/foro/showthread.php?t=4491359

13/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches Originalmente Escrito por pmareke  No gracias lo voy a hacer en Node: https://github.com/yagop/node­telegram­bot­api Un saludo!

Cita:

Originalmente Escrito por ineedblood  por si quereis hacer un bot que de por culo repitiendo un mensaje  Código:

@bot.message_handler(commands=['repetir'])  def command_repetir(m):      cid = m.chat.id      for i in range(10): # 10 se puede cambiar por el numero de mensajes          bot.send_message(cid, m.text[8:])

Cita:

Originalmente Escrito por pmareke  Acabo de hacer en un ratin @barcos_y_putas Tiene de comandos /tits y /big_tits por si os aburris! Código:

var TelegramBot = require('node‐telegram‐bot‐api');  var fs = require('fs'),      readline = require('readline');  var token = '';  var exec = require('child_process').exec;  // Setup polling way  var bot = new TelegramBot(token, {polling: true});  bot.on('textunction (msg) {        if( msg.text == "/tits")        {             exec("curl ‐Ls  \"http://www.hugeboobsbigtits.com/teen‐big‐tits\" | grep ‐o \'htt p[^\"]*.jpg\' > tits.txt");            var rd = readline.createInterface({  Cita:

Originalmente Escrito por ineedblood  @Edurolp dejo por aqui otra pieza de codigo para sacar articulos de la wikipedia (breves)

Código:

import wikipedia   @bot.message_handler(commands=['wiki'])  def command_wiki(m):      cid = m.chat.id       msg = m.text[6:]          bot.send_message(cid,wikipedia.summary(msg, sentences=2))

sentences coge el numero de lineas del articulo, puse 2 para que no sea tocho. Para probarlo: /wiki Team Fortress /wiki Barack Obama

Cita:

http://www.forocoches.com/foro/showthread.php?t=4491359

14/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches Originalmente Escrito por ineedblood  @Edurolp dame un toque luego y recuerdame que tengo que hacerle un par de mejoras  Aqui otro para buscar palabras en la RAE: Código:

@bot.message_handler(commands=['rae'])  def command_rae(m):               cid = m.chat.id        msg = m.text[5:]        link = urllib.urlopen("http://dulcinea.herokuapp.com/api/?query=" + msg)        data = json.loads(link.read())        for r in data['response']:              if 'meanings' in r:                  bot.send_message(cid, data["response"][0]["meanings"][0]["meaning"])                  bot.send_message(cid, data["response"][1]["meanings"][0]["meaning"])                  break;              else:                  bot.send_message(cid, "Error en la busqueda")

intentaré hacer una versión mejor, pero por ahora funciona. ejemplo: /rae cortar /rae buscar Cita:

Originalmente Escrito por Inquiristor  Un buen sitio para hacerse a la idea es este (no es para los bot pero sirve igual para python): https://geekytheory.com/tutorial­ras...ter­en­python/ Y aquí su API http://docs.tweepy.org/en/v3.2.0/

Cita:

Originalmente Escrito por ineedblood  por si quiere alguien un buscador de tweets Código:

import tweepy   CONSUMER_KEY = ''  CONSUMER_SECRET = ''  ACCESS_KEY = ''   ACCESS_SECRET = ''   auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)  auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)   @bot.message_handler(commands=['find'])  def command_find(m):      cid = m.chat.id       x = tweepy.API(auth)      msg = m.text[6:]      for tweets in x.search(q=msg, count=3, result_type='recent'):          bot.send_message(cid, "$" + tweets.user.screen_name + " $ " + tweets.text)

Cita:

Originalmente Escrito por ineedblood  https://github.com/ineedblood/telegr...aster/4chan.py edit los colgue separados en modulos y que cada uno que use el que quiera: https://github.com/ineedblood/telegram­bot

Cita:

http://www.forocoches.com/foro/showthread.php?t=4491359

15/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches Originalmente Escrito por Inquiristor  Al final hacemos plataforma y todo  Por cierto, para lo que he hecho he tenido que pasar a python3 en cloud9 (estaba en 2.7), lo dejo por aquí por si a alguien le interesa: Poner estos dos comandos en consola (el primero cambia el nombre de la carpeta python actual a python2 y el segundo cambia el nombre de la carpeta python3 a python):

Y confirmar que los cambios han sido correctos con:

Debería salir ya python 3.x Y para instalar con el comando pip (OJO! Que si no se mantiene lo de python 2.7 y no funciona), hay que instalar easy_install3 con:

Y volver a hacer todos los pip Creo que han sido esos los comandos. Tu código entonces por ejemplo nos daría un error en: print "[" + str(cid) + "]: " + m.text

Última edición por Edurolp fecha: 27­ago­2015 a las 12:39.

    25­ago­2015, 03:47

Rix

  #4

botpole y sitio

Sexador de pollos  

  Jun 2014 | 823 Mens. Lugar: Valencia Mini ONE

  

 

   25­ago­2015, 03:49

  #5

Ajám, asi que

Hostia, pillo sitio y mañana le echo un ojo que ahora no son horas.

:coco:  

Mis dies shur 

  Ene 2014 | 4.503 Mens. Lugar: Almería (Reyno de Granada)

Plataforma Almeriense ­ Miembro Nº 20. Un gran hombre es aquel que no se arrepiente de sus FAILS. Faileo para tener alguna cita.

http://www.forocoches.com/foro/showthread.php?t=4491359

16/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches

    25­ago­2015, 03:52

Dastan

  #6

Yo uso uno del tiempo que es brutal

Peaky Blinders  

  Oct 2010 | 12.317 Mens. Lugar: Birmingham

FC Solidario: Consigue una invitación a cambio de una donación a una ONG.

    25­ago­2015, 09:31

Edurolp

  #7

Up 

Cuota: Pagada.  

  Jun 2015 | 440 Mens. Lugar: Córdoba Kodo

    25­ago­2015, 09:35

rocoso1512

  #8

Muy bueno shur siempre he tenido interes en esto mis dieses 

Go pump super pump  

  Jun 2014 | 1.712 Mens.

    25­ago­2015, 09:39

asboxi

  #9

up

ForoCoches: Miembro  

  Sep 2012 | 4.042 Mens.

┏(­_­)┛┗(­_­​  )┓┗(­_­)┛┏(­_­)┓​

    25­ago­2015, 09:44

mc888

  #10

Pillo simio que interesa

ForoCoches: Miembro  

  Mar 2014 | 5.541 Mens. Lugar: La puerta de Tannhäuser

PROMOCIÓN 9€ Gratis registrándote en BITGOLD ­ Comprar, vender y almacenar Oro de forma segura con BitGold : http://bitgoldspain.blogspot.com.es/

    25­ago­2015, 09:51

http://www.forocoches.com/foro/showthread.php?t=4491359

  #11

17/22

18/12/2015

Giuseppe Luigi ForoCoches: Miembro  

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches Muy buena guía. Te falta explicar que una vez hecho el bot, tienes que tenerlo en una máquina ejecutando si no quieres tener siempre abierta la pestaña de c9.

  Jun 2014 | 1.123 Mens. Lugar: Murcia

    25­ago­2015, 09:59

Edurolp Cuota: Pagada.  

  #12 Cita:

Originalmente Escrito por Giuseppe Luigi  Muy buena guía. Te falta explicar que una vez hecho el bot, tienes que tenerlo en una máquina ejecutando si no quieres tener siempre abierta la pestaña de c9.

Gracias por tu comentario!   Jun 2015 | 440 Mens. Lugar: Córdoba

No   Con c9, tu puedes cerrar tu pestaña (La de c9, no la del bot ejecutándose en el centro de trabajo) y el bot sigue funcionando ^^ Luego cuando vuelvas a cargar tu centro de trabajo, está todo como lo dejastes.

Kodo

    25­ago­2015, 10:02

Giuseppe Luigi ForoCoches: Miembro  

  #13 Cita:

Originalmente Escrito por Edurolp  Gracias por tu comentario! No   Con c9, tu puedes cerrar tu pestaña (La de c9, no la del bot ejecutándose en el centro de trabajo) y el bot sigue funcionando ^^ Luego cuando vuelvas a cargar tu centro de trabajo, está todo como lo dejastes.

  Jun 2014 | 1.123 Mens. Lugar: Murcia

Hostias, no lo sabía. Hace mucho que no me paso por c9 entonces. Thanks for the info.

    25­ago­2015, 10:03

EdenAlvaro

  #14

Pillo sitio en hilo 5stars

Stake 10  

  Feb 2014 | 1.450 Mens.

    25­ago­2015, 10:04

DonChampiñon

  #15

Pillo sitio

k pasa ko  

  May 2015 | 4.182 Mens. Lugar: Zaragoza

Plataforma: ** El rincón del BOXEO ** Socio Nº149 // Plataforma Geralt de Rivia Nº78 // PEÑA VIKINGA FOROCOCHES Núm 68

    25­ago­2015, 10:05

claudioyyo

  #16

Para que servían los bots en telegram?

ForoCoches: Miembro  

http://www.forocoches.com/foro/showthread.php?t=4491359

18/22

18/12/2015

  Feb 2015 | 3.866 Mens. Lugar: Pyroland

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches

"Si existe el infierno en la tierra, cabe encontrarlo en el corazón del hombre melancólico"

    25­ago­2015, 10:05

Fred&Hg

  #17

Pillo sitio. Gracias shur

ForoCoches: Miembro  

  Dic 2014 | 179 Mens. Lugar: Barcelona Citroën Flamah Dame eso que está ahí al lado de lo otro

    25­ago­2015, 10:05

mikexo

  #18

mis dies

Forocochia13  

  Feb 2014 | 1.115 Mens. Lugar: Madrid Golf IV 1.9 TDI 110cv

    25­ago­2015, 10:09

Intes

  #19

Para que sirve todo esto?

The special one  

  Ago 2006 | 3.843 Mens. Lugar: Tarragona

Cristiano Ronaldo REY DE REYES

    25­ago­2015, 10:22

Edurolp Cuota: Pagada.  

  #20 Cita:

Originalmente Escrito por claudioyyo  Para que servían los bots en telegram?

Cita:

  Jun 2015 | 440 Mens. Lugar: Córdoba Kodo

Originalmente Escrito por Intes  Para que sirve todo esto?

Pues tu imaginación pone el límite, para mi uno de los mejores es @GetMusicBot, que te permite desde el mismo bot, buscar vídeos de youtube o canciones de soundcloud y descargarlos en mp3. También está @Todobbot, con el que puedes tener una lista de cosas para hacer, está interesante también. De todas formas, pásate si quieres por http://storebot.me/ y verás muchísimos bots 

  

http://www.forocoches.com/foro/showthread.php?t=4491359

19/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches

 25­ago­2015, 10:24

Intes

  #21 Cita:

The special one  

  Ago 2006 | 3.843 Mens. Lugar: Tarragona

Originalmente Escrito por Edurolp  Pues tu imaginación pone el límite, para mi uno de los mejores es @GetMusicBot, que te permite desde el mismo bot, buscar vídeos de youtube o canciones de soundcloud y descargarlos en mp3. También está @Todobbot, con el que puedes tener una lista de cosas para hacer, está interesante también. De todas formas, pásate si quieres por http://storebot.me/ y verás muchísimos bots 

Vamos, para trastear y vaguear un rato para que te haga cosas sencillas Cristiano Ronaldo REY DE REYES

    25­ago­2015, 10:31

  #22

ineedblood

te falta poner que es mejor hacerlo asincrono por si se usa mucho 

Perge sed caute.  

tengo que ver como hacer que busque en google ciertamente

  Oct 2011 | 2.311 Mens. Lugar: Lok'tar

    25­ago­2015, 10:33

  #23

black.wolf

aquí tenéis el que hice yo con php para la plataforma heroku:

ForoCoches: Miembro  

https://github.com/ZiTAL/php­telebot­heroku

  Ene 2010 | 11.749 Mens. Lugar: Kostan ta Mendidxen ostia Renault Megane Expression SHURPERRO USA SHURDEBIAN http://www.forocoches.com/foro/showthread.php?p=52283095#post52283095

    25­ago­2015, 11:03

  #24

Shurgatete

Pillo sitio, mis dies

Miau  

5 STARS

  Ene 2014 | 294 Mens.

    25­ago­2015, 11:03

Cassegrain

  #25

Sitio

ForoCoches: Miembro  

  Dic 2014 | 1.326 Mens. Lugar: Por la costa...

  

http://www.forocoches.com/foro/showthread.php?t=4491359

20/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches

 25­ago­2015, 11:10

Hyphen

  #26

Pillo hueco en futuro hilazo.

WILLE  

  Feb 2015 | 451 Mens. Lugar: 48°52.6'S 123°23.6'W PAPA20

    25­ago­2015, 11:42

ZID ForoCoches: Miembro  

  #27 Cita:

Originalmente Escrito por Edurolp  Pues tu imaginación pone el límite, para mi uno de los mejores es @GetMusicBot, que te permite desde el mismo bot, buscar vídeos de youtube o canciones de soundcloud y descargarlos en mp3. También está @Todobbot, con el que puedes tener una lista de cosas para hacer, está interesante también. De todas formas, pásate si quieres por http://storebot.me/ y verás muchísimos bots 

  Nov 2007 | 6.818 Mens.

5 estrellas

Tengo una duda, yo quiero que al escribir /mira macho devuelva una frase aleatoria de un listado de frases previamente creado. Cambia mucho a como tu lo haces? que tendria que cambiar?     25­ago­2015, 12:03

ineedblood Perge sed caute.  

  #28 Cita:

Originalmente Escrito por ZID  5 estrellas

Tengo una duda, yo quiero que al escribir /mira macho devuelva una frase aleatoria de un listado de frases previamente creado. Cambia mucho a como tu lo haces? que tendria que cambiar?   Oct 2011 | 2.311 Mens. Lugar: Lok'tar

Importa random y luego haz algo como Frases={0:"mira macho vete a la mierda", 1:"polee", 2:"subpolee* } Y luego haces Frases[número aleatorio] y te saldrá una Estoy desde el móvil sino me elaboraría mas, mira como usar random que no es complicado

    25­ago­2015, 12:06

Gil Bates ForoCoches: Miembro  

  #29

Muy interesante shur. Vaya currada. PD: Sabes si existe algun bot que haga las funciones de moderador en un grupo, por ejemplo, silenciar, bloquear....?

  Ene 2015 | 399 Mens. El de San Fernando

Última edición por Gil Bates fecha: 25­ago­2015 a las 12:09.

http://www.forocoches.com/foro/showthread.php?t=4491359

21/22

18/12/2015

[TUTORIAL] Aprende a hacer un Bot para Telegram. Fácil y gratis. ­ ForoCoches

    25­ago­2015, 12:10

  #30

Edurolp

Cita:

Cuota: Pagada.  

Originalmente Escrito por ZID  5 estrellas

Tengo una duda, yo quiero que al escribir /mira macho devuelva una frase aleatoria de un listado de frases previamente creado. Cambia mucho a como tu lo haces? que tendria que cambiar?   Jun 2015 | 440 Mens. Lugar: Córdoba

Mírate la la línea 6, y de la 26 a la 50 ­> http://pastebin.com/NiZhsC7c

Kodo Última edición por Edurolp fecha: 25­ago­2015 a las 12:14.

  

Pág 1 de 11

1 2 3 4 5 6 7 8 9 10

 Inicio | ForoCoches > Zona General > General

IR ARRIBA  ▲

 [ VERSIÓN MÓVIL ]

    General

INICIO » INDICE DE FOROS | GENERAL | FOROCOCHES ForoCoches.com LWNET © 1999 ­ 2015| Powered by © vBulletin Solutions, Inc Info Legal | Privacidad | Cookies | Normas de uso | Publicidad | Updates | Stats | Ayuda | Invitaciones | Contacto

http://www.forocoches.com/foro/showthread.php?t=4491359

> Último »

 Ir 

IR ARRIBA  ▲

 Buscar 

22/22

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF