图片和Python TelegramBot中的'if'错误。怎么修?

时间:2019-05-25 16:34:56

标签: python if-statement photo telegram-bot python-telegram-bot

我正在使用pyTelegramBotAPIPython 3.7

BOT通常可以正常工作,但是当BOT发送照片时会发生错误。当我写一个机器人消息时,回答他必须发送照片或贴纸,它会自动发送,但是当您下一次输入相同命令时,机器人将不发送任何消息。我是新手,所以请建议我如何更好地编写此代码。

elif instead of if isn't working.

...

@bot.message_handler(content_types=["text"])

def bot_messages(message):
    if message.text.lower() == "Привет".lower():
        bot.send_message(message.from_user.id, "Ку! ✋. Напиши /welcome.")

    if message.text.lower() == "/welcome".lower():
        bot.send_message(message.from_user.id, "Я бот Римуру. Напиши название животного, например, 'кот', и я отправлю его картинку.")
        bot.send_sticker(message.from_user.id, sticker1)

    if message.text.lower() == "питон".lower():
        bot.send_photo(message.from_user.id, photo1)
    if message.text.lower() == "мышь".lower():
        bot.send_photo(message.from_user.id, photo2)
    if message.text.lower() == "кот".lower():
        bot.send_photo(message.from_user.id, photo3)
    if message.text.lower() == "жираф".lower():

...

1 个答案:

答案 0 :(得分:0)

如果此代码不起作用,请编写此代码,请将该代码放在https://pastebin.com处,并告诉我们其位置。

@bot.message_handler(func=lambda message: True)
def main(message):
    chat_id = message.chat.id
    user_id = message.from_user.id
    text = str(message.text).decode("utf-8").lower()
    if text == "привет":
        bot.send_message(user_id, "Ку! ✋. Напиши /welcome.")
    if text == "/welcome":
        bot.send_message(user_id, "Я бот Римуру. Напиши название животного, например, 'кот', и я отправлю его картинку.")
    if text == "питон":
        bot.send_photo(user_id, 'https://image.shutterstock.com/image-photo/python-snake-450w-184814297.jpg')
    if text == "мышь":
        bot.send_photo(user_id, 'https://mysekret.ru/wp-content/uploads/2017/01/5-47.jpg')
    if text == "кот":
        bot.send_photo(user_id, 'https://pp.userapi.com/c845122/v845122166/10ba66/gVecT_orwwY.jpg')