From 2ef26379bbd5d3f5ca197b3e23fa46aebfa61294 Mon Sep 17 00:00:00 2001 From: minicx Date: Mon, 12 Dec 2022 14:27:42 +0300 Subject: [PATCH] clearing bot chat on exceptions --- automatization.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/automatization.ts b/automatization.ts index 8c93140..bd8e082 100644 --- a/automatization.ts +++ b/automatization.ts @@ -467,6 +467,7 @@ export const doBotTasks=async function(client: telegram.TelegramClient,worker: A } catch( err){ if (err instanceof NoNewMessages){ logger.warn(`Target bot doesnt work | ${worker.phoneNumber}`); + logger.debug(err.message); await skipButton.click({sharePhone: false}); await waitNewMessages(client,worker,botEntity,prevTask.lastMessage.id); const cancelMessage=(await client.sendMessage(botEntity,{message:'/cancel'})); @@ -487,7 +488,18 @@ export const doBotTasks=async function(client: telegram.TelegramClient,worker: A }))[0].forwardTo(botEntity))![0]; } catch (err){ if (err instanceof telegram.errors.RPCError){ + + client.invoke(new telegram.Api.messages.DeleteHistory({ + justClear:true, + peer:botLink + })); + client.invoke( + new telegram.Api.contacts.Block({ + id: botLink, + })); + logger.warn(`Error when forwarding a message. Skipping task... | ${worker.phoneNumber}`); + logger.debug(err.message); await skipButton.click({sharePhone: false}); await waitNewMessages(client,worker,botEntity,prevTask.lastMessage.id); const cancelMessage=(await client.sendMessage(botEntity,{message:'/cancel'})); @@ -530,6 +542,16 @@ export const doBotTasks=async function(client: telegram.TelegramClient,worker: A logger.warn(`Forwarded message was old | ${worker.phoneNumber}`); } } else { + + client.invoke(new telegram.Api.messages.DeleteHistory({ + justClear:true, + peer:botLink + })); + client.invoke( + new telegram.Api.contacts.Block({ + id: botLink, + })); + logger.warn(`Message that i found is unknown | ${worker.phoneNumber}`); await skipButton.click({sharePhone: false}); await waitNewMessages(client,worker,botEntity,prevTask.lastMessage.id);