Получить аргумент для декоратора функциии

Я пишу телеграм юзер-бота, у меня есть обработчик ошибок handle_exception:

def handle_exception(func):
    global debug

    async def wrapper(*args, **kwargs):
        try:
            return await func(*args, **kwargs)
        except FloodWait as e:
            await slp(e.value)
        except Exception as e:
            match debug:
                case 1:
                    print(Fore.RED + 'Something was wrong...')
                case 2:
                    print(Fore.RED + f'Debug: {e}')
                case 3:
                    print(Fore.RED + f'Debug: {e}')
                    with open("debug.txt", "a") as f:
                        time = datetime.now()
                        f.write(f'{time.hour}:{time.minute}:{time.second} error: {e}\n')
                case 4:
                    print(Fore.RED + f"Debug: {e}")
                    notification.notify(
                        title="DEBUG",
                        message=f"{e}",
                        timeout=5
                    )

допустим есть функция:

@app.on_message(filters.command('calc', prefixes='.') & filters.me)
@handle_exception
async def calc(_, msg):
    ex = " ".join(msg.text.split()[1:])
    await msg.edit(f"Подсчитал: {str(ex)} = {str(eval(ex))}")

если пользователь не ввел математическое выражение, то получается ошибка IndexError, которая улавливается декоратором handle_exception. Я хочу из декоратора handle_exception изменить сообщение, при обработке кода которого, произошла ошибка, объясню немного понятнее: мне нужно получить аргумент, который передан в функцию calc(_, вот он:msg) в декоратор handle_exception для дальнейшего применения (await msg.edit("Вы не ввели мат. выражение"))


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