I am currently utilizing the guide found at rentry to work with custom JavaScript scripts for the AI chat: https://perchance.org/ai-character-chat.

According to the guide:

shortcutButtons - this is an array of objects structured as {autoSend:false, insertionType:"replace", message:"/ai be silly", name: "silly response", clearAfterSend:true}. When a new chat thread is initiated, a copy of these shortcutButtons is transferred to the thread. Therefore, to modify the current buttons in the thread, you should adjust oc.thread.shortcutButtons. Only modify oc.character.shortcutButtons if you intend to change the buttons available for all future chat threads associated with this character.

The script I am implementing can alter the oc.thread.shortcutButtons array; however, the changes are not appearing in the chat window, which continues to display the previous list.

oc.thread.shortcutButtons = [{autoSend:false, insertionType:"replace", message:"/ai be silly", name: "silly response", clearAfterSend:true}];

Interestingly, when I manually refresh the page, the chat window correctly reflects the updated list of shortcut button options. I would prefer the updates to occur without needing to reload, similar to how messages are updated in real-time.

Has anyone else encountered this issue? If so, were you able to resolve it?

  • perchance@lemmy.worldM
    link
    fedilink
    English
    arrow-up
    1
    ·
    17 days ago

    Hi, I might be misunderstanding, but the custom code below seems to work for me (after sending each message, the button’s number increases). Can you please send me a character link or some custom code which replicates this issue?

    let count = 0;
    oc.thread.on("MessageAdded", function() {
      count++;
      oc.thread.shortcutButtons = [{autoSend:false, insertionType:"replace", message:"/ai test", name: "test " + count, clearAfterSend:true}];
    });