dbd.js-utils
What does it do?
- Formatting Dates
- Progress Bars for Music and Others
- ms-parser and parse-ms in one
- Timeago Possibility
- Convert to Music Duration Format
- DBD.JS Command Handling && Reloading
- Extended JavaScript Map options (Collection)
Methods
- parseToMS(string) - Convert Duration in String to MS (Same as ms-parser)
Example
.parseToMS("3d10m3M")
- parseMS(ms) - Convert MS to Durations (seconds, minutes, hours, days, months, years) (More possibilities than parse-ms)
Example
.parseMS(345840000)
Output
{
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
.progressBar(102, 315, 10, "📀", "―", "―")
Output
――――📀―――――
- formatDate(datestamp / date in ms, format, timezone) - Convert datestamp to Date and Format it
Example
.formatDate(1613374163494, "day, dd mmm yyyy", "UTC")
Output
Monday, 15 Feb 2021
List of Formats
| 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
.toMusicDuration(288000)
Output
4:48
- (class) Collection(Iterable) - Creates an extended Map API with extra methods/functions
Example
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)
new dbdUtil.Collection([["User", "Kino"], ["myId", 123]])
new dbdUtil.Collection({User:"Kino", myId:123})
- (class) CommandHandler() - Creates a class that handles commands
Example
const bot = new dbd.Bot({
})
const CommandHandler = new dbdUtil.CommandHandler(bot)
CommandHandler.handle("./commands")
Can't see a possibility to reload commands? Wrong, you can!
We added an extra property for you to use the CommandHandler
$djsEval[
client.CommandHandler
client.CommandHandler.handle()
client.CommandHandler.handle("./commands")
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.
client.CommandHandler.changeDBDLoadCommandsPath("./myOtherCommands")
- resolvePath(absolutePath/Path) - Returns a Full version of given Path
Example
dbdUtil.resolvePath("./myCommands")
ChangeLog
- Fixed Collection
toObject method
- Fixed Commands Doubling when reloading
Something went wrong? Errors? Bugs? Suggestions?
You can join the dbd.js Support Server or Direct Message me in Discord, ID 502968724207304714.
License
See MIT License for License