Python TelegramBot 中的图片和"if"错误。如何解决?



我正在使用 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():

...

如果此代码不起作用,请编写此代码,请在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')

最新更新