def exit():
bot.send_message(user_id, 'Программа завершила работу')
atexit.register(exit)
try except не предлагать
Модуль atexit определяет функции для регистрации и отмены функций очистки. Функции, таким образом автоматически выполняется при нормальном прекращении интерпретатора. atexit выполняет эти функции в обратном порядке, в котором они были зарегистрированы; если вы зарегистрируете A, B и C, во время окончания интерпретации они будут выполняться в порядке C, B, A.
Примечание: функции, зарегистрированные через этот модуль не вызывается, когда программа завершается по сигналу, не обработывающему Python’ом, при обнаружении фатальной внутренней ошибки Python или когда вызывается os._exit().