Tengo un código que se parece a lo siguiente
const opts = {username: ..., password: ..., <misc>} const client = new tmi.client(opts) client.on('message', onMessageHandler) client.on('connected', onConnectedHandler) client.connect() function onMessageHandler(props) { client.doStufF() }Básicamente, el código escucha un chat de IRC y hace cosas cuando llega un mensaje. Ahora, el código puede fallar en .connect() y en .doStuff(), si la autenticación caduca. Hay una API a la que puedo llamar con mi token de actualización guardado para generar una nueva contraseña, pero en este momento lo hago manualmente. Quiero hacer esto automáticamente.
El problema es que no estoy seguro de cómo pensar en este patrón. Básicamente, solo sé que el token ha caducado una vez que realizo la llamada con credenciales no válidas. Pero incluso si escribo un controlador de errores que detecta el problema de las credenciales no válidas, ¿cómo "retroceso" a través de todo este código nuevamente para regenerar un nuevo cliente con las nuevas credenciales y registrar los controladores nuevamente? Sé que este es un problema conceptualmente resuelto porque otros paquetes ya ofrecen esta funcionalidad. Solo quiero implementarlo yo mismo.