clearing bot chat on exceptions

This commit is contained in:
minicx 2022-12-12 14:27:42 +03:00
parent d74e493a42
commit 2ef26379bb
1 changed files with 22 additions and 0 deletions

View File

@ -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);