def send_photo(bot: TeleBot,
               bot_state: BotState,
               message: Message,
               database: DataBase,
               ydisk: YandexDisk,
               is_canceled: bool = False):
    state_additional = bot_state.get_state(message.from_user.id)["additional"]
    keyboard = None
    if is_canceled:
        keyboard = state_additional["keyboard"]["with_cancel"]
    else:
        keyboard = state_additional["keyboard"]["normal"]
    photo = database.get_random_photos(1)
    if len(photo) > 0:
        photo = photo[0]
        photo_url = ydisk.disk.get_download_link(photo["filepath"])
        bot.send_photo(message.chat.id,
                       photo_url,
                       reply_markup=keyboard,
                       caption="https://www.instagram.com/{}".format(
                           photo["source"]))
    else:
        bot.send_message(
            message.chat.id,
            "Фотографии закончились :(\nВведите /help, остановите эту хреновину."
        )
        bot_state.add_state(message.chat.id, "help")

    return photo