Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: timer en 16 Diciembre 2021, 17:04 pm



Título: ¿Porque no me responde al siguiente comando? Bot Telegram #Python
Publicado por: timer en 16 Diciembre 2021, 17:04 pm
Buenas tardes, estoy creando un bot de telegram y tengo un problemilla, he puesto dos comandos uno de hola y otro de start, el tema es que al poner el hola si que me lo responde, pero al poner el de start no me hace nada. Alguna idea de que he podido hacer mal?

Aqui el codigo:

Código:
import telebot
import mariadb
import sys
import time


TOKEN_BOT = "token" #he sacado el token ya que es privado.
bot = telebot.TeleBot(TOKEN_BOT)
@bot.message_handler(commands=["hola"])

def enviar (message):
    bot.reply_to(message, "¡Bienvenido soy RIOPy!, un BOT diseñado para organizar tu PYME a tu gusto. Para empezar escribe /start y nos pondremos manos a la obra.")

bot.polling()

@bot.message_handler(commands=["start"])

def enviar_start (message):
    bot.reply_to(message, "¡Muy bien comencemos! Espere un momento mientras creamos su base de datos")

#Aqui va la base de datos.

time.sleep(5)
bot.reply_to, "Base de datos creada, ya puede empezar a usar nuestra herramienta."

bot.polling()

Gracias de antemano y un saludo!


Título: Re: ¿Porque no me responde al siguiente comando? Bot Telegram #Python
Publicado por: Danielㅤ en 16 Diciembre 2021, 17:29 pm
Hola, prueba a reemplazar ésta línea:

Código
  1. @bot.message_handler(commands=["hola"])
  2.  

por ésta:

Código
  1. @bot.message_handler(commands=["hola", "start"])
  2.  

y borra ésta línea:

Código
  1. @bot.message_handler(commands=["start"])
  2.  

Nos comentas si ahora funciona.


Saludos


Título: Re: ¿Porque no me responde al siguiente comando? Bot Telegram #Python
Publicado por: timer en 16 Diciembre 2021, 17:35 pm
Buenas Daniel, Gracias por responder te comento!
Hola, prueba a reemplazar ésta línea:

Código
  1. @bot.message_handler(commands=["hola"])
  2.  

por ésta:

Código
  1. @bot.message_handler(commands=["hola", "start"])
  2.  

y borra ésta línea:

Código
  1. @bot.message_handler(commands=["start"])
  2.  

Nos comentas si ahora funciona.


Saludos


Si que me responde, pero el comando "/start" no me saca la siguiente linea de mensaje:

Código
  1. def enviar_start (message):
  2.    bot.reply_to(message, "¡Muy bien comencemos! Espere un momento mientras creamos su base de datos")
  3.  

O sea al poner hola y luego start me saca el primer mensaje siempre.


Título: Re: ¿Porque no me responde al siguiente comando? Bot Telegram #Python
Publicado por: Danielㅤ en 16 Diciembre 2021, 17:52 pm
Bien, abajo de ésta línea:

Código
  1.    bot.reply_to(message, "¡Bienvenido soy RIOPy!, un BOT diseñado para organizar tu PYME a tu gusto. Para empezar escribe /start y nos pondremos manos a la obra.")
  2.  

pega el siguiente código y prueba de nuevo:

Código
  1.    if (message == "start"):
  2.        enviar_start(message)
  3.  

Nos comentas.


Saludos


Título: Re: ¿Porque no me responde al siguiente comando? Bot Telegram #Python
Publicado por: timer en 17 Diciembre 2021, 08:27 am
Bien, abajo de ésta línea:

Código
  1.    bot.reply_to(message, "¡Bienvenido soy RIOPy!, un BOT diseñado para organizar tu PYME a tu gusto. Para empezar escribe /start y nos pondremos manos a la obra.")
  2.  

pega el siguiente código y prueba de nuevo:

Código
  1.    if (message == "start"):
  2.        enviar_start(message)
  3.  

Nos comentas.


Saludos

Disculpa la demora en cuanto a mi respuesta,

lo he probado y nada, sigue sacandome el mismo mensaje que pongo con /hola. He probado a ponerlo debajo del otro y tampoco me saca todo el rato el mismo mensaje.

Un saludo!