Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///////////////input modifier
- if(!worldEntries){
- worldEntries = [
- {keys:"this,test",entry:"is bananas",isNotHidden:true}
- ]
- }
- const modifier = (text) => {
- let modifiedText = text
- const lowered = text.toLowerCase()
- state.message = "";
- state.prompt = "";
- if(lowered.includes("/removewi")){
- state.blockNextOutput = true;
- var re = /\[(.*)\]/;
- var find = modifiedText.match(re)[1];
- for(var i=0;i<worldEntries.length;i++){
- var keys = worldEntries[i].keys.split(",");
- if(find.toLowerCase() == keys[0].toLowerCase()){
- removeWorldEntry(i);
- state.message = keys[0]+" removed successfully."
- return {text: ""}
- }
- }
- state.message = find+" not found"
- return {text: ""}
- }
- if(lowered.includes("/editwi")){
- state.blockNextOutput = true;
- var re = /\[((.|\n)*?)\]/;
- var args = modifiedText.match(re)[1].split('|');
- if(args.length >=2){
- var firsttag = args[0];
- var newEntry = args[1];
- for(var a = 0; a< worldEntries.length;a++){
- if(worldEntries[a].keys.split(',')[0].toLowerCase() == firsttag.toLowerCase()){
- addWorldEntry(worldEntries[a].keys,newEntry.substring(0,500));
- state.message = firsttag+" updated successfully.\n"+newEntry.substring(0,500)
- removeWorldEntry(a)
- return {text: ""}
- }
- }
- state.message = "World entry not found :("
- return {text: ""}
- }
- state.message = "Improperly formatted command."
- return {text: ""}
- }
- if(lowered.includes("/wi")){
- var re = /\[(.*)\]/;
- modifiedText = modifiedText.replace(/\|/g,',')
- state.promptArgs = modifiedText.match(re)[1].split(',');
- state.prompt = state.promptArgs[0];
- state.memory.context = memory+"\n";
- state.memory.frontMemory = "\n\n------\nDescription of Example (Tags: descriptive,tags):\nThis is an example entry. It can be up to 500 characters long."
- for(var a = 0; a< state.promptArgs.length;a++){
- for(var b = 0; b< worldEntries.length;b++){
- if(worldEntries[b].keys.toLowerCase().includes(state.promptArgs[a].toLowerCase())){
- state.memory.context+=worldEntries[b].entry+"\n";
- }
- }
- }
- if(state.promptArgs.length > 1){
- var tags = "";
- for(var i =1; i < state.promptArgs.length; i++){
- if(i > 1){tags+=","};
- tags+= state.promptArgs[i]
- }
- state.memory.frontMemory += "\n\n------\nDescription of "+state.prompt+" (Tags: "+tags+"):\n";
- }
- else{
- state.memory.frontMemory += "\n\n------\nDescription of "+state.prompt+":\n";
- }
- modifiedText = "";
- }
- if(lowered.includes ("/printwi")){
- state.blockNextOutput = true;
- var string = "";
- for(var i=0;i<worldEntries.length;i++){
- string+= i+") ";
- var keys = worldEntries[i].keys.split(',');
- string+= keys[0];
- if(keys.length > 1){
- keys.shift();
- string+= " ["+keys.join(',')+"]"
- }
- string+=": "+worldEntries[i].entry+"\n";
- }
- state.message = string;
- modifiedText = "";
- }
- // You must return an object with the text property defined.
- return {text: modifiedText}
- }
- // Don't modify this part
- modifier(text)
- ///////////////output modifier
- // Checkout the repo examples to get an idea of other ways you can use scripting
- // https://github.com/AIDungeon/Scripting/blob/master/examples
- if(!state.blockNextOutput){state.blockNextOutput = false;}
- if(!state.prompt){state.prompt=""}
- if(!worldEntries){
- worldEntries = [
- {keys:"",entry:"",isNotHidden:false}
- ]
- }
- const modifier = (text) => {
- if(state.blockNextOutput){state.blockNextOutput = false;return {text:""}}
- let modifiedText = text
- const lowered = text.toLowerCase()
- if(state.prompt!=""){
- modifiedText = modifiedText.split("\n\n")[0]
- for(var i = 0; i < worldEntries.length;i++){
- if(worldEntries[i].keys.split(',')[0].toLowerCase() == state.prompt.toLowerCase()){
- removeWorldEntry(i);
- i--;
- }
- }
- state.message = "New World Entry created for "+state.prompt+" (Tags: "+state.promptArgs+")\n"+state.prompt+": "+modifiedText;
- addWorldEntry(state.promptArgs.join(',').replace(/\s/g,',') , (state.prompt+": "+modifiedText).substring(0,500))
- for(var i =0; i < worldEntries.length;i++){
- worldEntries[i].isNotHidden=true;
- }
- modifiedText = "";
- state.prompt = "";
- state.memory.frontMemory = "";
- }
- // You must return an object with the text property defined.
- return {text: modifiedText}
- }
- // Don't modify this part
- modifier(text)
Add Comment
Please, Sign In to add comment