Как сделать кнопку restart в телеграмм бот

Делаю телеграмм бота на Python через библиотеку Aiogram. Добавил в меню бота кнопку restart, чтобы при нажатии бот перезагружался, если, например, возникает ошибка, долго отвечает итп. Но не знаю как её реализовать и сделать.


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

Автор решения: ZxNuClear

Все зависит от системы, на которой запущен ваш бот. В Unix-системах можете воспользоваться subprocess. Пример такой команды для aiogram-3.x:

@router.message(Command("restart"))
async def restart(message: types.Message):
    import subprocess
    subprocess.call(["sudo", "systemctl", "restart", "telegram-bot"])
    await message.answer("Ушел на перезагрузку")

где telegram-bot - процесс, под которым запущен ваш бот/сервис

→ Ссылка