dbmmods
Version:
A free open source modification collection for Discord Bot Maker.
243 lines (197 loc) • 7.68 kB
JavaScript
module.exports = {
//---------------------------------------------------------------------
// Action Name
//
// This is the name of the action displayed in the editor.
//---------------------------------------------------------------------
name: "Welcome",
//---------------------------------------------------------------------
// Action Section
//
// This is the section the action will fall into.
//---------------------------------------------------------------------
section: "#Mod Information",
//---------------------------------------------------------------------
// Action Subtitle
//
// This function generates the subtitle displayed next to the name.
//---------------------------------------------------------------------
subtitle: function(data) {
return `Does nothing - Click "Edit" for more information`;
},
//---------------------------------------------------------------------
// DBM Mods Manager Variables (Optional but nice to have!)
//
// These are variables that DBM Mods Manager uses to show information
// about the mods for people to see in the list.
//---------------------------------------------------------------------
// Who made the mod (If not set, defaults to "DBM Mods")
author: "DBM Mods",
// The version of the mod (Defaults to 1.0.0)
version: "1.8.6 ~ beta",
// A short description to show on the mod line for this mod.
short_description: "Information about the Mod Collection.",
// If it depends on any other mods by name, ex: WrexMODS if the mod uses something from WrexMods
//---------------------------------------------------------------------
//---------------------------------------------------------------------
// Action Storage Function
//
// Stores the relevant variable info for the editor.
//---------------------------------------------------------------------
variableStorage: function(data, varType) {},
//---------------------------------------------------------------------
// Action Fields
//
// These are the fields for the action. These fields are customized
// by creating elements with corresponding IDs in the HTML. These
// are also the names of the fields stored in the action's JSON data.
//---------------------------------------------------------------------
fields: ["mods"],
//---------------------------------------------------------------------
// Command HTML
//
// This function returns a string containing the HTML used for
// editting actions.
//
// The "isEvent" parameter will be true if this action is being used
// for an event. Due to their nature, events lack certain information,
// so edit the HTML to reflect this.
//
// The "data" parameter stores constants for select elements to use.
// Each is an array: index 0 for commands, index 1 for events.
// The names are: sendTargets, members, roles, channels,
// messages, servers, variables
//---------------------------------------------------------------------
html: function(isEvent, data) {
return `
<style>
table.scroll {
width: 525px; /* 140px * 5 column + 16px scrollbar width */
border-spacing: 0;
border: 2px solid white;
}
table.scroll tbody,
table.scroll thead tr { display: block; }
table.scroll tbody {
height: 100px;
overflow-y: auto;
overflow-x: hidden;
}
table.scroll tbody td,
table.scroll thead th {
width: 176px;
}
table.scroll thead th:last-child {
width: 180px; /* 140px + 16px scrollbar width */
}
thead tr th {
height: 30px;
line-height: 30px;
/*text-align: left;*/
}
tbody { border-top: 2px solid white; }
</style>
<div id ="wrexdiv" style="width: 550px; height: 350px; overflow-y: scroll;">
<p>
<h1>Welcome!</h1>
Thank you for using the DBM Mod Collection!<br>
If you want to tell us something, join the Discord Guild below.
And if something doesn't work feel free to create an issue on GitHub
or open #support and describe your problem.
<h3>Discord:</h3>
Join the Discord Guild to stay updated and be able to suggest things.<br>
https://discord.gg/Y4fPBnZ
<h3>Your version:</h3>
${this.version}
<h3>GitHub:</h3>
Visit us on GitHub! The whole mod collection is on GitHub
and everyone is invited to join us developing new mods!<br>
Copy and paste the link to view the site in your browser.<br>
https://github.com/Discord-Bot-Maker-Mods/DBM-Mods/
<h3>Patreon:</h3>
You can support us on Patreon!
Patreon is a website where you can support creators with a small donation
per month. And you will get also some things like a Discord Patron role and a mention here:<br>
<u>Patrons:</u><br>
- MitchDaGamer (5$)<br>
- cryptomoon (3$)<br>
- General Wrex (1$)<br>
- EGGSY (1$)<br>
- Proximity (1$)<br><br>
Become a patron today!<br>
https://www.patreon.com/dbmmods
</p>
<h3>Current List of Mods</h3>
<table class="scroll">
<thead >
<tr>
<th scope="col">Name</th>
<th scope="col">Section</th>
<th scope="col">Author</th>
</tr>
</thead>
<tbody id="mods">
</tbody>
</table><br><br>
</div>`
},
//---------------------------------------------------------------------
// Action Editor Init Code
//
// When the HTML is first applied to the action editor, this code
// is also run. This helps add modifications or setup reactionary
// functions for the DOM elements.
//---------------------------------------------------------------------
init: function() {
const {glob, document} = this;
var path = require("path")
try {
var mods = document.getElementById("mods");
require("fs").readdirSync(__dirname).forEach(function(file) {
if(file.match(/MOD.js/i)) {
var action = require(path.join(__dirname, file));
if(action.name && action.action !== null) {
const tr = document.createElement('tr')
tr.setAttribute('class', 'table-dark')
const name = document.createElement('td')
const headerText = document.createElement("b")
headerText.innerHTML = action.name
name.appendChild(headerText)
name.setAttribute('scope', 'row')
tr.appendChild(name)
const section = document.createElement('td')
section.appendChild(document.createTextNode(action.section))
tr.appendChild(section)
const author = document.createElement('td')
author.appendChild(document.createTextNode(action.author ? action.author : "DBM"))
tr.appendChild(author)
mods.appendChild(tr);
}
}
});
} catch (error) {
// write any init errors to errors.txt in dbm's main directory
require("fs").appendFile("errors.txt", error.stack ? error.stack : error + "\r\n");
}
},
//---------------------------------------------------------------------
// Action Bot Function
//
// This is the function for the action within the Bot's Action class.
// Keep in mind event calls won't have access to the "msg" parameter,
// so be sure to provide checks for variable existance.
//---------------------------------------------------------------------
action: function(cache) {
this.callNextAction(cache);
},
//---------------------------------------------------------------------
// Action Bot Mod
//
// Upon initialization of the bot, this code is run. Using the bot's
// DBM namespace, one can add/modify existing functions if necessary.
// In order to reduce conflictions between mods, be sure to alias
// functions you wish to overwrite.
//---------------------------------------------------------------------
mod: function(DBM) {
}
}; // End of module