Skip to content

Pickzelle/MrKonqi

Repository files navigation

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

  • bunjs v1.1.18+ recommended
  • package.lock dependencies
  • paralload either on $PATH or configured in config.path.paralload

Warning

sqlite3 version requires SQLite installed on the system. This dependency might become unused soon

git clone https://github.com/Pickzelle/MrKonqi.git
cd MrKonqi
bun i --frozen-lockfile

Note

You can pass --production to bun i to ignore development dependencies, these are not required for functionality, just development experience

Prisma

One last step is generating the prisma client, this can be done through bun run gen:prisma (bun run gen runs all generation scripts, including json schema generation ones, which won't work without development dependencies).

Before that, we need a URL to access the Postgres DB, provided by the environmental variable DATABASE_URL or imported by default if placed in .env file.

Note

The script must be ran after any change in the prisma scheme or to regenerate the client, there's no problem with running even if the schema is up to date.

If you decide to set up your own Postgres DB, you'll need some basic unix terminal knowledge:

  • Install the necessary packages
  • Get the service active, either enable permanently or start it before this project.
  • Then, if you don't want to set up detailed permissions and just want it to work (taking konqi as database and user name, and password as password):
[user@machine ~]$ sudo/doas su - postgres
[postgres@machine ~]$ createuser konqi
[postgres@machine ~]$ createdb konqi
[postgres@machine ~]$ psql
psql (15.4)
Type "help" for help.

postgres=# alter user konqi with encrypted password 'password';
ALTER ROLE
postgres=# grant all privileges on database konqi to konqi;
GRANT
postgres=alter user konqi createdb;
ALTER ROLE
postgres=\c konqi postgres
You are now connected to database "konqi" as user "postgres".
konqi=# grant all on schema public to konqi;
GRANT
postgres=# ^D
\q
could not save history to file "/var/lib/postgres/.psql_history": No such file or directory
[postgres@machine ~]$ ^D
[user@machine ~]$ ^D

(^D being Ctrl + D)

  • And finally just place our DB URL of format postgresql://<user>:<password>@<host>:<port>/<dbname> in .env (following example assumes previous case with standard defaults)
DATABASE_URL="postgresql://konqi:[email protected]:5432/konqi"

Configuration

In config/config.template.jsonc you'll find a JSON template file that governs the bot's behavior.

To configure the bot you have to copy that file as config/config.json and edit it accordingly, replacing the placeholders with the actual values corresponding to your project, don't forget to remove comments.

Behavior

There's also several env variables and CLI args that slightly change some aspects of the bot behavior, mainly oriented towards server-side.

Important

This section needs documentation, though CLI arg are accessible through bun start -h

Usage

Running the bot is as simple as being in its root directory and running: bun start

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.

About

MrKonqi is TuxCord's official Discord bot.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published