A simple Utility that will help dbd.js users develop their bot
npm install dbd.js-utilsjs
.parseToMS("3d10m3M") // can be declared as 3 Months, 3 days, 10 Minutes
`
- parseMS(ms) - Convert MS to Durations (seconds, minutes, hours, days, months, years) (More possibilities than parse-ms)
Example
`js
.parseMS(345840000) // 3 and 1 Days, 4 minutes
`
Output
`js
{
second:0,
minute:4,
hour:0,
day:4,
month:0,
year:0
}
`
- progressBar(SubstractSeconds, maxSeconds, AmountOfBars, addMarker, FilledSymbol, UnfilledSymbol) - Creates a Progress bar based on given data
#### Logic of command
maxSeconds will be divided by AmountOfBars to create the divider, then SubstractSeconds will subtract maxSeconds and will be divided by divider, the results will create a Filled Bar marked with FilledSymbol, if addMarker is given, it will add it to the end of Filled Bar, then the amount of Filled Bar will substract AmountOfBars to get the Unfilled bars that will be filled with UnfilledSymbol.
Example
`js
.progressBar(102, 315, 10, "š", "ā", "ā")
`
Output
`js
āāāāšāāāāā
`
- formatDate(datestamp / date in ms, format, timezone) - Convert datestamp to Date and Format it
Example
`js
.formatDate(1613374163494, "day, dd mmm yyyy", "UTC")
`
Output
`js
Monday, 15 Feb 2021
`
List of Formats
| Format | Description | Output |
| ------------- |:-------------:| -----|
| YYYY | Gets the Full Year of date | 2021 |
| YY | Gets the last 2 digits of Full Year | 21 |
| DDD | Gets the Abbreviation of Day of the Week | Mon |
| DAY | Gets the Name of Day of the Week | Monday |
| DD | Gets the Day Date in Month of date | 15 |
| D | Gets the Number Day of the Week | 2|
| MMM | Gets the Month Abbreviation | Feb |
| MONTH | Gets the Month Name of date | February |
| MM | Gets the Month of date | 2 |
| HOUR | Gets the Amount of Hour of date | 7 |
| MIN | Gets the Amount of Minutes of date | 37 |
| SEC | Gets the Amount of Seconds of date | 37 |
- toMusicDuration(ms) - Convert Milliseconds to Music Duration Format (hour:min:sec)
Example
`js
.toMusicDuration(288000)
`
Output
`js
4:48
`
- (class) Collection(Iterable) - Creates an extended Map API with extra methods/functions
Example
`js
const dbdUtil = require("dbd.js-utils")
const Collection = new dbdUtil.Collection()
`
You can use Object or Array to create a Starting Data (Keys and Values)
`js
new dbdUtil.Collection([["User", "Kino"], ["myId", 123]]) // Array
new dbdUtil.Collection({User:"Kino", myId:123}) // Object
`
- (class) CommandHandler() - Creates a class that handles commands
Example
`js
const bot = new dbd.Bot({
//DBD.JS Options
})
const CommandHandler = new dbdUtil.CommandHandler(bot)
CommandHandler.handle("./commands") // ./commands is a path
`
Can't see a possibility to reload commands? Wrong, you can!
We added an extra property for you to use the CommandHandler
`js
client.CommandHandler
`
Reloading commands
`js
$djsEval[
//Reloading the Commands (path will be automatic if you have used it (Not recommended!))
client.CommandHandler.handle()
//with Path
client.CommandHandler.handle("./commands")
//or if something went wrong
client.CommandHandler.handle(${process.cwd()}/commands)
]
`
This can also change bot.loadCommands("./commands") path, which is not needed but for People that don't afford to change all its commands.
`js
//Lets say, you used bot.loadCommands("./commands")
./myOtherCommands
- resolvePath(absolutePath/Path) - Returns a Full version of given Path
Example
`js
//As example if we run the file in /home/runner/myBotProject
dbdUtil.resolvePath("./myCommands") // will Return /home/runner/myBotProject/myCommands
``