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 theseshortcutButtons
is transferred to thethread
. Therefore, to modify the current buttons in the thread, you should adjustoc.thread.shortcutButtons
. Only modifyoc.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?
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}]; });