| 2533 | lastMessage.force_avatar = force_avatar; | 2533 | lastMessage.force_avatar = force_avatar; |
| 2534 | lastMessage.original_avatar = original_avatar; | 2534 | lastMessage.original_avatar = original_avatar; |
| 2535 | } | 2535 | } |
| 2536 | | | |
| 2537 | // Kill this callback once the event fires | | |
| 2538 | eventSource.removeListener(event_types.CHARACTER_MESSAGE_RENDERED, restoreCharacter); | | |
| 2539 | }; | 2536 | }; |
| 2540 | | 2537 | |
| 2541 | // Run generate and restore previous character on error | 2538 | // Run generate and restore previous character |
| 2542 | try { | 2539 | try { |
| 2543 | toastr.info(`Asking ${character.name} something...`); | 2540 | toastr.info(`Asking ${character.name} something...`); |
| 2544 | await Generate('ask_command'); | 2541 | await Generate('ask_command'); |
| 2545 | } catch { | 2542 | await saveChatConditional(); |
| | 2543 | } catch (error) { |
| | 2544 | console.error('Error running /ask command', error); |
| | 2545 | } finally { |
| 2546 | restoreCharacter(); | 2546 | restoreCharacter(); |
| | 2547 | |
| | 2548 | if (this_chid !== prevChId) { |
| | 2549 | toastr.error('It is strongly recommended to reload the page.', 'Something went wrong'); |
| | 2550 | } |
| 2547 | } | 2551 | } |
| 2548 | | 2552 | |
| 2549 | // Restore previous character once message renders | | |
| 2550 | // Hack for generate | | |
| 2551 | eventSource.on(event_types.CHARACTER_MESSAGE_RENDERED, restoreCharacter); | | |
| 2552 | return ''; | 2553 | return ''; |
| 2553 | } | 2554 | } |
| 2554 | | 2555 | |