diff --git a/src/tests/telegram.ts b/src/tests/telegram.ts index 55a8ff0..8870000 100644 --- a/src/tests/telegram.ts +++ b/src/tests/telegram.ts @@ -42,8 +42,23 @@ import * as telegram from '../telegram/telegram'; return; } console.log('Message response:', message); - // Wait for 5 seconds - await new Promise(resolve => setTimeout(resolve, 5000)); + let messageSent = false; + // Temporarily hook onto the client to wait until it is sent + function listener(u : any) { + if (u?._ === 'updateMessageSendSucceeded') { + console.log('Message sent:', u.message.id); + // check if the client is a client because ts is fussy + if (typeof client === 'object') { + messageSent = true; + client.off('update', listener); + } + } + } + client.on('update', listener); + // Wait until the message is sent + while (!messageSent) { + await new Promise(resolve => setTimeout(resolve, 1000)); + } // Close the client const logout = await telegram.destroy(client); if (!logout) {