npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@shadowskd/shadowhandler

v1.0.1

Published

Demo package

Downloads

1

Readme

ShadowHandler: An andvanced command handler which make it easier for you to code. This handler have automated functions with bulks of features for you.

SKDCommands ::: It reads the given Directory and check for commands in each folder in it.

SKDCommands(Discord_Client(), DataBase, Directory, Global_Parameters)
Note:"Global_Parameters is not necessary"

Discord_Client(): Takes the Discord.Client() from your your main file.
DataBase: Uses "quick.db" for storing data regarding guild prefixes offline. When the bot restarts it fecthes GuildInfo from DB with the prefix.
Directory: Directory of commands.

Command Documentation: commandfile: It's module exports of the command. Module exports should have these properties. **commands, **Name, **execute, **Description, syntax, minArgs, maxArgs, permissions, permissionsError, requiredRoles, isDMCommand, parameters, isNAC, group, cooldown Note: ** These are are compulsion commands. Without these if the bot is started, it can cause errors. Properties Description: commands: Array or string of aliases. If message starts with any of the element in array of it, it will execute the command. Name: Name of the Command. execute: executable code for the command. It is the funtion which takes arguments of message, message_arguments, message_text and bot. "OR" execute(message,arguments,message_text,bot) Description: Description of the command. syntax: Usage of the command (without command Name) ex: syntax = '<argument_property>...' minArgs: Minimum number of arguments should be present for the command maxArgs: Maximum number of arguments that the command can take in. permissions: Array or string of permissions that the message user must have. Note: Don't use this property if isDMCommand is true or you don't know about permissions of members of discord. permissionsError: Gives this error to the message member when he don't have the permissions present in permissions. requiredRoles: Array or string of roles required for message member. isDMCommand: Boolean constant. If true then the command will execute even in Direct Messages. parameters: Object parameters --> { blacklist: [], whitelist: [], isMOC: false, AccessMembers: [], isOwnerOnly } blacklist: Array of channelIDs in which this command won't execute. whitelist: Array of channelIDs in which this command can only be executed. Note: If blacklist and whitelist are declared together then error will occur. isMOC: isMemberOnlyCommand , Boolean. When true , membersIDs present in AccessMembers can only access the command. Note: If no AccessMembers while isMOC is true, then error will occur. isOwnerOnly: If You are testing the command and don't want others to test command then use this command. isNAC: if your file ends with '.js' and The file is not an command file then just add property isNAC = true to the module exports of '.js' file. The file will not be readed. group: Name of the group in which the command is present. cooldown: Timeof cooldown for command. It should be number. The Number represents amount of time in seconds.

Group Documentation: groupFile: It's ".json" file have properties of the group folder. **GroupName: Name of group. , **GroupDescription: Description of the group. , isNAG: Boolean constant, if true, the file wont be considered as Group.

[email protected]: Global_Parameters: { avoidedChannels: []} - the bot won't execute on those channels.

[email protected]: Global_Parameters: { runConsole: Boolean <false_by_default>} - console logs the command when executed and when the execution is finished. Global_Parameters: { globalPrefix: String } - changes the default prefix of bot. Added welcome to GuildInfo: {Number} Different number represents Different method of welcome in Different Guilds. - Modify your Welcome Function to react Differently for Different numbers and set it from set command. new Function GuildData: Returns GuildData in form of Map. -Map details: Map(<guild.id>,GuildInfo) Default Key for DMs: 'DM' , GuildInfo = { prefix: '!' or globalPrefix } Default Key for guilds : guild.id , GuildInfo = { prefix: guildPrefix or '!' or globalPrefix Mods: [], welcome: Number guild: { name: guild.name id: guild.id } }

Debugs: Fixed DB issues due to wrong implementation in Presence Call.