[Subset between System and Script in CustomVar] as Plugins

A Simple way to extend the features and funtions from sogeBot
just like customVars script but with more powerfull access to functions and variables

DB schema for this
TABLE “plugin” (
“id” TEXT NOT NULL UNIQUE,
“script” TEXT,
“data” TEXT,
);

“script” contain JSscript
“data” contain JSON to store/read data like localStorage in Browsers works

UI is similar to CustomVar with just a script editor

this system have to have acces to

  • command registry to register/exec own commands
  • all global variables
  • user data to readonly from the table users
  • custom vars read/write
    its own data storage from DB schema above

the functions needed

  • command registry
  • execute commands + params hidden/visible
    like !points add $param etc…
  • url()
  • say() bot account and streamer account
  • discord say

what i want to acive? with that is a way making own minigames and or store and return own data
without the need of a integration/system
import Plugins in a fast easy way and share them with sogeBot users.

Example schema of Plugin Script

// This is the init section this will run when plugin is enabled
SetupPlugin(){
// this will register a command
regCmd("!test", testCommand());

// this will register a event
regEvent(“onMessage”, testEvent());

// this will create the default plugin dataStorage if not set
pluginData(’{“nope”: true}’);
}

// Init Plugin on Start
InitPlugin(){
var test = storeLoad(); // this loads the data storage
}

// After this is the Plugin Functions

function testCommand($data){

say(“broadcaster”, $data);
say(“bot”, $data);
test.nya = $data;
}

function testEvent($data){
if($data.msg = “test Event” && $data.userId == “123456”){
test[$data.userId] = $data.msg;
}
}

Sure, why not. I’ll create some plugin registry.

Not sure when though :slight_smile:

i try to describe it as much as possible to give you a good guidline for orientation :stuck_out_tongue:
and make it conveniant for “less skilled users” like me