Telegram бот не отправляет картинку

Читал документацию, но все равно не получается реализовать отправку картинки ботом.

Код:

import telebot
import random

from telebot import types

bot = telebot.TeleBot("ХХХ")

@bot.message_handler(commands=['start'])
def welcome(message):

# keybord
markup = types.ReplyKeyboardMarkup(resize_keyboard = True)
item1 = types.KeyboardButton("? Рандомное число")
item2 = types.KeyboardButton("? Как дела?")
item3 = types.KeyboardButton("Задача")

markup.add(item1, item2, item3)

bot.send_message(message.chat.id, "Добро пожаловать, {0.first_name}!\nЯ — <b>{1.first_name}</b>, бот созданный в развлекательных целях, который не несет смысловой нагрузки.".format(message.from_user, bot.get_me()),
    parse_mode = 'html', reply_markup = markup)

@bot.message_handler(content_types=['text'])
def lalala(message):
if message.chat.type == 'private':
    if message.text == '? Рандомное число':
        bot.send_message(message.chat.id, str(random.randint(0,100)))
    elif message.text == '? Как дела?':
        markup = types.InlineKeyboardMarkup(row_width=2)
        item1 = types.InlineKeyboardButton("Хорошо", callback_data='good')
        item2 = types.InlineKeyboardButton("Не хорошо", callback_data='bad')

        markup.add(item1, item2)

        bot.send_message(message.chat.id, 'Хорошо, твои как, {0.first_name}?'.format(message.from_user), reply_markup = markup)



    elif message.text == 'Задача':
        photo = open('p.png', 'rb')
        bot.send_photo(message.chat.id, photo, 'rb')

        #file_id = "img/kot1.png"
        #bot.send_photo(message.chat.id, file_id)

    else:
        bot.send_message(message.chat.id, message.text)
 bot.polling(none_stop=True)

После запуска бота и нажатии кнопки "Задача" выходит ошибка: введите сюда описание изображения

Пробовал сделать это различными вариантами, но упирается в эту ошибку.

Возможно неправильно задан путь к этой картинки, картинку я разместил здесь: введите сюда описание изображения

Накиньте, пожалуйста, вариантов, как можно это исправить.

Переместил в папку с main.py, но все осталось по-прежнему: введите сюда описание изображения введите сюда описание изображения


Ответы (2 шт):

Автор решения: Muxe1

Держи

elif message.text == 'Задача':
     photo = open('venv/Lib/site-packges/telebot/static/p.png', 'rb')
     bot.send_photo(message.chat.id, photo)

Если ответ помог, ставь галочку слева от этого ответа

→ Ссылка
Автор решения: Violet

Допустим у Вас вот такая структура проекта:

super_bot
    default.png
    script.py

в таком случае достаточно указать только имя файла:

bot.send_photo(message.chat.id, open('default.png', 'rb'))

если изображение находится в другом каталоге, например:

super_bot
    img
       default.png
    script.py

тогда укажите путь к файлу:

bot.send_photo(message.chat.id, open('img/default.png', 'rb'))
→ Ссылка