Aprende a Hacer Un Bot Para Telegram. Fácil y Gratis
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
25ago2015, 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: 10sep2015 a las 04:02.
25ago2015, 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: 27ago2015 a las 17:54.
25ago2015, 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/phptelebotheroku
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/nodetelegrambotapi 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/tutorialras...terenpython/ 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/telegrambot
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: 27ago2015 a las 12:39.
25ago2015, 03:47
Rix
#4
botpole y sitio
Sexador de pollos
Jun 2014 | 823 Mens. Lugar: Valencia Mini ONE
25ago2015, 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
25ago2015, 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.
25ago2015, 09:31
Edurolp
#7
Up
Cuota: Pagada.
Jun 2015 | 440 Mens. Lugar: Córdoba Kodo
25ago2015, 09:35
rocoso1512
#8
Muy bueno shur siempre he tenido interes en esto mis dieses
Go pump super pump
Jun 2014 | 1.712 Mens.
25ago2015, 09:39
asboxi
#9
up
ForoCoches: Miembro
Sep 2012 | 4.042 Mens.
┏(_)┛┗(_ )┓┗(_)┛┏(_)┓
25ago2015, 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/
25ago2015, 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
25ago2015, 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
25ago2015, 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.
25ago2015, 10:03
EdenAlvaro
#14
Pillo sitio en hilo 5stars
Stake 10
Feb 2014 | 1.450 Mens.
25ago2015, 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
25ago2015, 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"
25ago2015, 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
25ago2015, 10:05
mikexo
#18
mis dies
Forocochia13
Feb 2014 | 1.115 Mens. Lugar: Madrid Golf IV 1.9 TDI 110cv
25ago2015, 10:09
Intes
#19
Para que sirve todo esto?
The special one
Ago 2006 | 3.843 Mens. Lugar: Tarragona
Cristiano Ronaldo REY DE REYES
25ago2015, 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
25ago2015, 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
25ago2015, 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
25ago2015, 10:33
#23
black.wolf
aquí tenéis el que hice yo con php para la plataforma heroku:
ForoCoches: Miembro
https://github.com/ZiTAL/phptelebotheroku
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
25ago2015, 11:03
#24
Shurgatete
Pillo sitio, mis dies
Miau
5 STARS
Ene 2014 | 294 Mens.
25ago2015, 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
25ago2015, 11:10
Hyphen
#26
Pillo hueco en futuro hilazo.
WILLE
Feb 2015 | 451 Mens. Lugar: 48°52.6'S 123°23.6'W PAPA20
25ago2015, 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? 25ago2015, 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
25ago2015, 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: 25ago2015 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
25ago2015, 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: 25ago2015 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