def get_admin_ids(bot, chat_id):
    """
    Returns a list of admin IDs for a given chat. Results are cached for 1 hour.
    Private chats and groups with all_members_are_administrator flag are handled as empty admin list
    """
    chat = bot.getChat(chat_id)
    if chat.type == "private" or chat.all_members_are_administrators:
        return []
    return [admin.user.id for admin in bot.get_chat_administrators(chat_id)]