Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Things to remember
Make sure ALL plugins are updated to Bit 2025.1
Bit 2025.1 has changed quite a LOT compared to Bit 2024.2
Delete every single file and folder from Bit excluding the plugins folder (though remove the bit-core plugin). It's HIGHLY recommended to remake your config for this release.
Updating config.json
Bit 2025.1 splits up the config file. Please ONLY edit the config file located in the main bot files.
Update ALL plugins to their latest versions
All plugins must be updated for use in Bit 2025.1
Update your node modules and deploy commands
Open the bot in the terminal of your choice and run the npm i
command.
Once that is done run node deploy.js
to deploy the bots commands.
And you're done
Aside from plugin-specific updates, you should now be fine to run Bit. Simply use the node bit.js
command and you're all set!
We have a whole discord server for support which you can find here
Nope, unless you found the "source" code on a shady site that has inserted a virus.
You're always welcome to suggest features on our Discord Server. Or you can make a pull request on our GitHub repo
An example plugin for Bit
An example plugin for Bit
Developer: Lockyz Media
User Installable: No
Guild Installable: Yes
GitHub Repo: https://github.com/Bit-Plugins/example-plugin
Bit Plugins follow the following folder structure
Folder-Name
commands
command.js
events
event.js
plugin.json
Please see the plugin.json file for a list of support values in the current Bit: Core version.
This repo was created to allow users to view all code exclusively within Bit Core. This also allows us to make changes to Bit Core without updating the main Bit repository.
Developer: Lockyz Media
User Installable: Yes
Guild Installable: Yes
GitHub Repo: https://github.com/Bit-Plugins/bit-core
An install guide has not been created for this plugin as it is automatically added as part of Bit.
Simply send us an email at admin@lockyzmedia.com with a link to your plugins code on github, a basic description of your plugin and we'll review it and maybe add it here
A moderation plugin for bit
Jupiter is in Beta. You can only download this plugin using it's source code!
This plugin has NOT been updated for this Bit version.
A moderation plugin for bit
Developer: Lockyz Media
User Installable: No
Guild Installable: Yes
Bit 5.2.x
1 – Download and setup Bit
2 – Download this plugin and unzip into the bit/plugins folder
3 – Update ALL values within the config.json
4 – This plugin should now work 🙂
Source Code: https://github.com/Bit-Plugins/Jupiter
A logging plugin created for Bit 2024.1.1
This plugin has NOT been updated for this Bit version.
A logging plugin created for Bit 2024.1.1
Developer: Lockyz Media
User Installable: No
Guild Installable: Yes
Source Code: https://github.com/Bit-Plugins/logging-plugin/
Download (Free): https://www.lockyzmedia.com/shop/logging-plugin-bit/
Follow the documentation listed on the plugins documentation page. Or follow the basic example below (some plugins will require installing specific node.js modules and will not work if these modules are not installed prior)
Simply unzip the plugins folder into the bit/plugins folder.
If a plugin adds a config, please follow the plugin authors instructions on using it. Some plugins do not use the configs folder yet.
You should then run the deploy script deploy.js
As part of the Bit Core plugin, Bit (without any other plugins) only has the following commands
Command | Usage | Description |
---|---|---|
Do you intend to install or create plugins?
A plugin for accessing a vast database of Pokemon information
This plugin has NOT been updated for this Bit version.
A plugin for accessing a vast database of Pokemon information
Developer: Lockyz Media
User Installable: Yes
Guild Installable: Yes
This plugin requires:
(Specific versions are currently not listed and are assumed to be latest)
Source Code:
Download (Free):
Info
/info
Get advanced information about the bot
Plugins
/plugins
List all plugins available within the bot
Plugin
/plugin {pluginName}
Lists information on a specific plugin
plugins_count - Returns the number of plugins installed
plugins_list - Returns an array with all of the plugins currently installed
This guide is unfinished! We recommend following discord.js's guide for that in the meantime
Logs - Sends a log in the correct format for Bit
Find Emoji - Returns an emoji in a format Discord can read.
Bit employs a custom logging system. To use bits new logging system you simply have to import bit/core and then follow the function structure.
You can also force the log to appear in the bots console regardless of the users settings
This guide is unfinished!
Bit 2024.2 changes very little, however we HIGHLY recommend following this guide to update.
Discord.JS officially released the ability to create user-installable apps as of discord.js 14.16.0, as such we've deprecated our old method for this and have switched to the official method.
Code to remove from commands
Copy
Code to add to commands
(Should be in the line JUST before async execute(interaction) and include the comma)
Copy
Bits main config file has been moved to /configs/bit/ please be sure to update your imports if you use the values in Bits default config file.
Bit 2025.1 has NOT yet been released. This page WILL change as time goes on.
All the plugin.json options for a Bit Core Plugin and what they're used for
All the plugin.json options for a Bit Core Plugin and what they're used for
Option | Description | Accepted Values | Default Value |
---|---|---|---|
Example
Bit 2025.1 now allows for both message and application commands.
The commands array in the plugin.json file looks like this
Plugins use an ID system to make it easier for developers wanting to use your code, to do their code. Plugin IDs will be used for plugin requirements, querying plugins (ex. loading the plugin list), and other bot functions. All plugins must use unique ID's when loaded into the bot, otherwise the bot will disable the plugin loaded second (We will only enforce plugin ID's in our certified plugins program. Plugins with the ID of bit-core will cause the bot to crash).
Plugin ID requirements are:
MUST be in Kebab Case (ex. kebab-case)!
CANNOT include numbers!
CANNOT include symbols bar the dash (-) that replaces the space!
CANNOT include a space - this WILL break the bot, use a dash (-) instead!
CANNOT use the name bit-core
CANNOT use offensive language.
Plugins Requirements are being saved for another update. Please keep the only requirement as Bit.
The bot will cross reference the plugin requirements array within the plugin.json file with the bots plugin list (Currently not available). Each requirement will be listed as plugin-id:version within the Plugin List.
Plugins are required to have bit as a level 1 requirement as the requirements system has replaced the old bitVersion setting.
For Example
The above code will
Check if the current bit version is 2025.1.0
Fail to start if bit is not installed or the version is not 2025.1.0
Check if the Jupiter plugin is installed
Fail to start if the plugin isn't loaded, but will output to the console of the version is not the same.
Check if the bot has the Dismon Plugin 2.0.0
If Dismon is not found, the bot will instead output to the console and parts of this plugin will be disabled. If the version does not match, the bot will only output to the console.
Check if the logging plugin is installed
Fail to start if it is.
There are 3 requirement levels
Level 1, requires the external plugin at that specific version be loaded for your plugin to work.
Level 2, requires the external plugin to be loaded regardless of said external plugins version
Level 3, is basically a soft requirement, the external plugin is not "required" but part of the your plugin will not work without it. (You should include a check for this in your code)
Level 4, the plugin will NOT start if a plugin of this level is also loaded. This can be used for plugins that are incompatible with yours.
An XP Plugin for Bit
This plugin has NOT been updated for this Bit version.
An XP Plugin for Bit
Developer: Lockyz Media
User Installable: No
Guild Installable: Yes
Make sure to install better-sqlite3 (Check out this guide for any issues https://github.com/WiseLibs/better-sqlite3/blob/HEAD/docs/troubleshooting.md)
Unzip and place the "xp-plugin" folder in the plugins folder of Bit: Core
Source Code:
Download (Free):
The file required for Bit: Cores plugin update system to work
The bot will check the update json for the latest version of the plugin, where to download it from and what version of Bit: Core it's for.
Option | Description | Accepted Values | Required |
---|
Update JSON Example
Bit 2024.1 changes a LOT of things, please follow this guide to get your plugins updated!
As Bit 2024.1 is a major release, previous versions of the bot cannot be supported!
All settings now use snake-case for their names!
The events and commands values have been changed to use booleans instead of strings (this is to prevent issues) and plugin versions are now required to use semantic versioning (major.minor.patch)
The bitVersion field is being removed as it will now be part of the requirements settings
Option | Value Type | Default Value | Status |
---|
Example plugin.json
Plugins Requirements are being saved for another update. Please keep the only requirement as Bit.
The bot will cross reference the plugin requirements array within the plugin.json file with the bots plugin list (Currently not available). Each requirement will be listed as plugin-id:version within the Plugin List.
Plugins are required to have bit as a level 1 requirement as the requirements system is replacing the old bitVersion setting.
For Example
The above code will
Check if the current bit version is 2024.1.0
Fail to start if bit is not installed or the version is not 2024.1.0
Check if the Jupiter plugin is installed
Fail to start if the plugin isn't loaded, but will output to the console of the version is not the same.
Check if the bot has the Dismon Plugin 2.0.0
If Dismon is not found, the bot will instead output to the console and parts of this plugin will be disabled. If the version does not match, the bot will only output to the console.
Check if the logging plugin is installed
Fail to start if it is.
There are 3 requirement levels
Level 1, requires the external plugin at that specific version be loaded for your plugin to work.
Level 2, requires the external plugin to be loaded regardless of said external plugins version
Level 3, is basically a soft requirement, the external plugin is not "required" but part of the your plugin will not work without it. (You should include a check for this in your code)
Level 4, the plugin will NOT start if a plugin of this level is also loaded. This can be used for plugins that are incompatible with yours.
Plugins now use an ID system to make it easier for developers wanting to use your code, to do their code. Plugin IDs will be used for plugin requirements, querying plugins (ex. loading the plugin list), and other bot functions. All plugins must use unique ID's when loaded into the bot, otherwise the bot will disable the plugin loaded second (We will only enforce plugin ID's in our certified plugins program. Plugins with the ID of bit-core will cause the bot to crash).
Plugin ID requirements are:
MUST be in Kebab Case (ex. kebab-case)!
CANNOT include numbers!
CANNOT include symbols bar the dash (-) that replaces the space!
CANNOT include a space - this WILL break the bot, use a dash (-) instead!
CANNOT use the name bit-core
CANNOT use offensive language.
All options are now in snake case, however plugins that are made for older versions of Bit should use the legacy values. The "latest" field has been removed and all the various bit versions are under an array, if your plugin is available for legacy versions of Bit, please use the legacy values as well (We're aware this may be annoying for some, as Bit matures and we start to create a consistent code style, various things will change)
Update JSON Example
Update JSON Example with Legacy Options - As the "developer" option was never actually used, it should NOT be used when legacy versions are available.
Commands have been updated to include some new custom values. These new custom values allow for creating user-installable apps!
Cooldown - The cooldown setting sets an optional cooldown (defaults to 3 seconds) on bot commands. This setting is in seconds.
integration_types - This array allows for setting when different commands CAN show up in the client, for example setting integration_types.user to true allows the command to be seen/used when the bot is used as a user-installed app, and integration_types.guild allows the command to be seen/used when the bot is used as a guild-installed app (the way bots have always been installed). Both options can be true.
context_types - This array allows for setting where a command can show up in the client. For example, context_types.guild_channel allows the command to be seen in guild channels, context_types.bot_dm allows the command to be seen in the bots DM's and context_types.private_channel allows the command to be used in the users private DM's (with other people) and group DMs. However context_types.private_channel only works if the integration_types.user is on.
Format
Bit now allows plugins to run code on startup!
This means that within your plugin.json file you can tell the bot to run the code within the mainFile file!
The starting function MUST be called startFunction
the casing of the function name MAY change in the future to increase consistency within Bit.
Example - index.js from Bit: Core
Option | Value Type | Default Value |
---|
name
The plugins name
string
Bit Core
id
The plugins ID
string (requirements below)
bit-core
developer
The plugins developer
string
Lockyz Media
version
What version the plugin is
string
2024.1.0
support
A place to go to get support
string
update_url
A url pointing to a json file used for the update notification system
string/url
events
Whether the plugin has events or not
boolean (true/false)
true
commands
whether the plugin has slash commands or not
array
see below
has_index
Whether the plugin can start on bot startup or not
boolean (true/false)
true
main_file
The file the bot should use to find the startup function
string
index.js
list_in_plugins_command
Whether to display the plugin in the plugins command
boolean (true/false)
true
requirements
The various requirements for the plugin
array
See Below
cooldown | integer | 5 |
integration_types.user | boolean | true |
integration_types.guild | boolean | true |
context_types.guild_channel | boolean | true |
context_types.bot_dm | boolean | true |
context_types.private_channel | boolean | true |
download_link | A link to the plugins latest version, is sent to the bots console when outdated | string/url |
bit_version | Each bit version can have it's own "latest" version. If a specified version is not found the bot will tell the user to update their Bit version. | array |
Bit is a completely customisable Discord Bot
Source Code: https://github.com/Lockyz-Media/bit
Created by Lockyz Media https://lockyzmedia.com/
For the Bot Updating
For Plugin Developers Updating to Bit 2025.1
Simply follow our guide Create Plugins
name | string | Bit Core |
id | string | bit-core | NEW |
developer | string | Lockyz Media |
version | string | 2024.1.0 | CHANGED - Now requires semantic versioning |
support | string |
update_url | string | https://cdn.lockyzmedia.com/discord/bots/bit/plugins/core/update.json | CHANGED - Option ID is now in snake case |
events | boolean | false | CHANGED - Now a boolean |
commands | boolean | true | CHANGED - Now a boolean |
hasIndex | boolean | true | NEW |
mainFile | string | index.js | NEW |
list_in_plugins_command | boolean | true | NEW |
requirements | array | See Below | NEW Requitements are not yet used bar the Bit requirement |