var panel = {// Panel title title:"Admin Information", description:"Please fill here your admin id",// order index index:0, icon:"key",// save button title - default "SAVE" button_title:"SAVE",// command called on saving// not necessary/* on_saving:{ command: "/on-saving", // if you need user user_id: user_id // Get it via Bot.sendMessage(user.id) }, */// Fields for this Panel// here 1 field only fields: [ { name:"ADMIN_ID", title:"Admin ID", description:"you can get your admin_id with BJS Bot.sendMessage(user.id)", type:"string", placeholder:"your admin id",// value: 100, // default value// hidden: true // if you need hidden field. By default - false }// another fields here// if needed// ... ]}AdminPanel.setPanel({ panel_name:"AdminInfo", data: panel// force: true // default false - save fields values});
Force
Default is false. All old values for the fields are retained.
If true - all old values for fields are reassigned.
Fields
It is array of fields. One panel can have several fields. It is also possible panel without any field.
Fields can have name, value, title, description, type, placeholder and icon
Field type
Getting field value from Panel
Use this method for getting one value from panel
var admin_id =AdminPanel.getFieldValue({ panel_name:"AdminInfo",// panel name field_name:"ADMIN_ID"// field name})Bot.sendMessage(admin_id)
Setting field value to Panel
Use this method for setting one value to panel
var result =AdminPanel.setFieldValue({ panel_name:"AdminInfo",// panel name field_name:"ADMIN_ID",// field name value:15236125})Bot.sendMessage(result) // true
Getting all fields values from Panel
Use this method for getting several/all values from panel
var values =AdminPanel.getPanelValues("AdminInfo");Bot.inspect(values);// will be like:// { ADMIN_ID: 100 }
Getting panel data
var panel =AdminPanel.getPanel("AdminInfo")Bot.inspect(panel);// can modify panel// panel.fields[0].value = 1000// panel.fields[0].tite = "my admin id"// AdminPanel.setPanel("AdminInfo", panel);
Getting panel field data
var panel_field =AdminPanel.getPanelField({ panel_name:"AdminInfo",// panel name field_name:"ADMIN_ID"// field name})Bot.inspect(panel_field);
Define Admin Panels in /config command with AdminPanel.setPanel method.
Then use AdminPanel.getPanelValue method for getting any field's value
Use admin panels to create a bot dashboard
Panel without fields can dispay any informations. Use this.
Use admin panels to create admin reactions
You can launch any bot command on panel saving. It is good for making any admin command execution. Use on_saving:
var panel = {// Panel title title:"Call secure command", description:"It is secure command",// order index index:0, icon:"key",// save button title - default "SAVE" button_title:"RUN",// command called on saving// not necessary on_saving: { command:"/secure-command",// if you need user user_id: user_id // Get it via Bot.sendMessage(user.id) }}AdminPanel.setPanel("SecureCommand", panel);