qbot
qbot copied to clipboard
a general purpose utility Discord bot, originally created for the Arch Linux community
_/ _/
_/_/_/ _/_/_/ _/_/ _/_/_/_/
_/ _/ _/ _/ _/ _/ _/
_/ _/ _/ _/ _/ _/ _/
_/_/_/ _/_/_/ _/_/ _/_/
_/
_/
qbot is the bot used by the unofficial Arch Linux community on Discord. Originally its only function was to manage support channels, but it has evolved to do much more.
Modules:
adminlets server owners administer and configure the bot.archcontains commands for searching the Arch wiki, repositories, and AUR.colorsgenerates, manages, and assigns color roles.figletconverts text to ASCII art.helpprovides a help command that displays information about commands.querieshelps manage support channels using a database of support questions.snippetslets users invoke configurable text snippets.utilprovides simple utility commands.xkcdallows searching and posting XKCD comics.
Invite qbot to your own server
Click this link to invite our hosted instance of qbot to your own server.
Running your own instance of qbot
Preferred method
This repository is a Nix flake.
On NixOS, you can run your own instance of the bot by importing
github:arch-community/qbot, adding the nixosModule output and the overlay
to your configuration, and configuring the option services.qbot as defined
in module.nix.
Setting up your own environment
With Nix
Clone this Git repository and enter its directory.
Run nix-build ./default.nix. The resulting executable is at result/bin/qbot.
Otherwise
Install Ruby, at least version 3.1 (higher versions untested). Install bundler.
Clone this Git repository. Enter the directory. Run bundle install to set up
the environment.
To start the bot, run bundle exec qbot.
Run the bot
qbot is configured in a YAML file at config/global.yml. Copy the example
config to config/global.yml and add the correct settings for your instance.
Start the bot.
qbot uses an SQLite database to store per-server configuration and user data.
To initialize the database, let qbot fully start up, then enter irb into the
bot CLI to enter the irb console. In this mode, run Database.define_schema.
Press Ctrl+D to exit and type rs to restart the bot.
Administration
Bot CLI:
rsorrestartrestarts the bot.rcorreload-configreloads the config.lmorload-moduleloads or reloads a module.irbopens a REPL in the context of the bot.quitorstopstops the bot.
Contributing
See CONTRIBUTING.md.