Насколько я помню, когда ты оправляшь боту голосовую, то в объекте, который приходит в обработчик, есть у голосового file id, который ты можешь сохранить и потом обратно его отправить
elif message.text.lower() == '2' or 'Топ профилей' or '/profile'
Так не пишется так как надо писать
elif message.text.lower() == '2' or message.text.lower() == 'Топ профилей' or message.text.lower() == '/profile'
или можно написать message.text.lower() in [Топ профилей' , '/profile', '2']
И опять же в telebot у декоратора есть именнованный параметр, который отвечает за ввод команд, commands вроде называется
Для этого существуют библиотеки, например, pyTelegramBotApi, а писать бота с помощью хардкода, нужно в том случае, если нужна максимальная производительность, и еще никогда не храни TOKEN бота в коде, посмотри, что такое переменные окружения
Я не знаю, что такое eel, но судя по всему, у тебя main.html находится внутри web, а ты пытаешься получить к нему доступ как будто он находится в одной папке с main.py , правильнее web/main.html