/MrKonqi

MrKonqi is TuxCord's official Discord bot.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

MrKonqi

MrKonqi is a Discord bot made for the TuxCord Discord server. It provides several features for moderation and general usage for the server's needs.

Table of Contents

Description

MrKonqi is a Discord bot used for moderating the TuxCord Discord server. He has the ability to fetch the newest packages from Arch's official repositories (and AUR). His main purpose is to provide support to the people in there and to make sure things run smoothly.

Installation

Requirements

⚠ Chalk 5 is ESM and therefore version 4 must be used.
⚠ npm's sqlite3 package requires SQLite to be installed on the system for Node.js® bindings.

git clone https://github.com/Pickzelle/MrKonqi.git
cd MrKonqi
npm install

ⓘ You can pass --no-optional to npm if you don't want the optional packages.

Optional

  • nvm (Node Version Manager)
  • ESLint
  • Dotenv

ⓘ nvm is a package used to manage versions of Node.js®. (Install instructions)
ⓘ ESLint can assist you in adhering to the same development ruleset as me. (Install instructions)
ⓘ dotenv is a npm module used to load env files.

⚠ These are optional packages and not required for the bot to work.

Configuration

In the src directory of this repository, you'll find a JSON file that governs the bot's behavior. To configure the bot, you can either modify the JSON file directly or utilize environment variables for configuration. The following values can be defined using either approach:

Example Description
BOT_ID=id Denotes the Discord bot's unique identification.
DEBUG=boolean Specifies whether debugging mode is enabled or not.
DEVELOPER_ID=id The id the bot will reference to as the Developer.
ENV=path Defines the path to the .env file.
GUILD_ID=id Signifies the Guild ID on Discord where the commands will be sent.
TOKEN=token Represents the token of the Discord bot.

Here's an example structure for your config.json file:

{
    "BOT_ID": "ID",
    "DEBUG": true,
    "DEVELOPER_ID": "ID",
    "ENV": "PATH",
    "GUILD_ID": "ID",
    "TOKEN": "TOKEN"
}

Replace the placeholders with the actual values corresponding to your project. This configuration ensures that the bot operates effectively within the specified environment.

Alternatively, to use environment variables, you can name them in the same way as the JSON keys.

ⓘ ENV and DEBUG are optional values and not required for the bot to function.
ⓘ Meanwhile, DEVELOPER_ID must be specified due to some commands being developer-only.

⚠ Using environment variables will override the given values in the JSON file.

In certain files, specific sections have been redacted due to the inclusion of IDs. To enable the corresponding functionality of the bot, manual intervention is required. Detailed guidance on the required modifications can be found in the respective files listed below:

guildMemberAdd.js
guildMemberRemove.js

updateFeatureRequest.js

Usage

Running the bot is as simple as being in its root directory and running: node index.js

Once the command is run, you should see the text Ready! We're logged in as (bot) indicating that its ready event has run and it's accepting commands.

Contributing

Pull requests are welcome in case you want to contribute to the project. Any help is appreciated!

Support

For general support about the bot, you can join the TuxCord Discord server.

Maintainers

List of Maintainers

Contact

If you have any questions about the project, feel free to contact me on any of the ways in the list below.

  • Discord: pickzelle

PixeL (me) serves as the sole maintainer for MrKonqi. Overseeing all aspects of its functionality, updates, and overall maintenance. Feel free to reach out to me if you have any questions, suggestions, or contributions related to MrKonqi.

Credits

Tyson Tan

MrKonqi uses several images by Tyson Tan which includes:

  • KDE DEVELOPMENT APPLICATIONS FEATURING KONQI
  • KDE PRESENTATION APPLICATIONS
  • KDE SCIENCE APPLICATIONS
  • KDE SUPPORT : DOCUMENTATION
  • QT INSIDE
  • Konqi and Katie with smartphones (modified)

These images are licensed under different licenses, respectively:

Distributions

MrKonqi also uses artwork from several distributions which include:

  • Arch Linux
    • The Arch Linux logo is used in accordance with the Arch Linux trademark policy under the CC-BY-SA license.
  • Debian
    • The Debian logo is used under the terms of the GNU LGPL, version 3 or any later version, or the CC-BY-SA 3.0.

License

MrKonqi is licensed under the GNU General Public License version 3.0. You can find the full text of the license in the LICENSE file.