¿Porque no me responde al siguiente comando? Bot Telegram #Python

Iniciado por timer, 16 Diciembre 2021, 17:04 PM

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

timer

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:

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!

Danielㅤ

Hola, prueba a reemplazar ésta línea:

Código (python) [Seleccionar]
@bot.message_handler(commands=["hola"])


por ésta:

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


y borra ésta línea:

Código (python) [Seleccionar]
@bot.message_handler(commands=["start"])


Nos comentas si ahora funciona.


Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

timer

#2
Buenas Daniel, Gracias por responder te comento!
Cita de: Danielㅤ en 16 Diciembre 2021, 17:29 PM
Hola, prueba a reemplazar ésta línea:

Código (python) [Seleccionar]
@bot.message_handler(commands=["hola"])


por ésta:

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


y borra ésta línea:

Código (python) [Seleccionar]
@bot.message_handler(commands=["start"])


Nos comentas si ahora funciona.


Saludos


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

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


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

Danielㅤ

Bien, abajo de ésta línea:

Código (python) [Seleccionar]
    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.")


pega el siguiente código y prueba de nuevo:

Código (python) [Seleccionar]

    if (message == "start"):
        enviar_start(message)


Nos comentas.


Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

timer

Cita de: Danielㅤ en 16 Diciembre 2021, 17:52 PM
Bien, abajo de ésta línea:

Código (python) [Seleccionar]
    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.")


pega el siguiente código y prueba de nuevo:

Código (python) [Seleccionar]

    if (message == "start"):
        enviar_start(message)


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!