The PDCL Bot is the primary discord bot for the Podcrash Competitive League community and encompasses roster and player commands, global discord moderation and other miscellaneous features.
You may add the PDCL Bot to your discord here . When adding the PDCL bot to your guild, use the !setleague
command to set individual guild configurations.
You can view the changelog for the PDCL Bot here.
Status: Ongoing active maintenance.
The PDCL Bot was initially created by Qata and is now maintained by the current PDCL development team including fred, Snowful and RainDance.
The application uses discord.js to interact with the Discord API and produce a fully functional bot application. If you are further interested on how the bot works, read here . If you wish to contribute to the project, you may use this repository or even apply for developer.
This project is registered under the GNU General Public License v3.
If you encounter any issues whilst using the PDCL Bot, please alert them to the development team. The easiest way to do this is to message me - fred#5775 - through discord, though you may wish to use another contact method. Likewise, if you require assistance, I'll always respond to any queries you have.
Runs in a nodejs environment using: discord.js, mysql and fs.
The entry point for the bot is located in ./process.js
which creates a new Client instance found in ./index.js
. It extends the standard Client class in discord.js and listens to the process for unhandled exceptions & rejections.
All commands can be found in ./commands/
and should be nested inside a run
function. All commands are supplied with the client, message, args
arguments. Read more about how they are constructed in listeners/message.js
. The name of the file corresponds to the command name.
All listeners can be found in ./listeners/
and like commands, the name of the file corresponds to the event name. The bot currently only covers select events but a full list of events can be found here. The listener is always supplied with client
as the first argument, but the next depend on the event.
All timers can be found in ./timers/
and can be called anything. They should be nested inside a run
function and are only supplied with the client
argument. Timers should also have a time
value which represents how often they are run in milliseconds.
60000
milliseconds represents 1 minute.