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