Skip to content

NullDev/CSZ-Bot

Repository files navigation

CSZ-Bot

CSZ Discord


Official Coding Shitpost Central Discord Bot

ℹ️ OwO wats dis?

Please ignore this repo. This is just a management bot I made for my stupid german coding discord server...

German description of the Discord Server:

Deutscher Server für diverse programmier- und nerd Themen.
Language-Bashing, shitposting und Autismus stehen an der Tagesordnung.
Jeder ist willkommen da jede Programmiersprache gleichermaßen diskreditiert wird!

I'm sorry


I want to make this stupid bot even worse

Read: CONTRIBUTING.md

🔧 Installation

Du hast 2 Optionen: Lokale installation und GitHub Codespaces. Ersteres ist aufwändiger. Bei letzterem musst du deine Config am besten abspeichern, weil sie bei Codespaces irgendwan zusammen mit dem Codespace gelöscht wird.

Lokale Installation

bun Version: >=1.irgendwas

  1. Terminal aufmachen und dorthin navigieren, wo man es downloaden möchte
  2. Sichergehen, dass bun installiert ist. Teste mit: bun --version. Wenn es eine Versionsnummer zurückgibt, ist bun installiert. Wenn nicht, bun hier runterladen.
  3. Repository klonen und hinein navigieren. Wenn Git installiert ist:
git clone https://github.com/NullDev/CSZ-Bot.git && cd $_

Wenn nicht, hier herunterladen und die ZIP extrahieren (Gott stehe dir bei) und dann in den Ordner navigieren.

  1. Dependencies installieren:
bun i
  1. Weiter machen mit den gemeinsamen Schritten (siehe unten)

GitHub Codespaces

  1. Klicke auf den grünen "Code"-Button
  2. Wähle den Tab "Codespaces"
  3. Klicke auf das "+" für einen neuen Codespace
  4. Warte
  5. Weiter machen mit den gemeinsamen Schritten (siehe unten)

Gemeinsame Schritte

  1. Das Config-Template config.template.json kopieren und als config.json einfügen und bearbeiten:
cp config.template.json config.json
$EDITOR config.json
  1. Die frisch kopierte Config-Datei ausfüllen:
    • Um einen Bot zum Testen anzulegen, einfach den Instruktionen im Discord Developer Portal folgen.
    • Um IDs kopieren zu können, den "Developer Mode" in den Discord Einstellungen aktivieren. Mit Rechtsklick kann man dann die IDs kopieren.
    • Es müssen folgende Rollen am Server angelegt werden:
      • Moderator-Rolle - CSZ-Default: Moderader
      • Default Rolle - CSZ-Default: Nerd
      • Banned-Rolle - CSZ-Default: B&
      • Geburtstags-Rolle - CSZ-Default: Geburtstagskind
      • Gründerväter-Rolle - CSZ-Default: Gründerväter
      • Trusted-Rolle - CSZ-Default: Trusted
      • Rejoiner / Shame-Rolle - CSZ-Default: Rejoiner
      • Gründerväter-Gebannt-Rolle - CSZ-Default: B&-Gründerväter
      • Trusted-Gebannt-Rolle - CSZ-Default: B&-Trusted
      • Woisgang-Rolle - CSZ-Default: woisgang
      • ...und vielleicht noch ein paar Weitere, die du der Config entnehmen kannst.
  2. Das Script starten.

Mit Hot-Reload:

bun watch

Ohne Hot-Reload:

bun start

Housekeeping

Formatieren und Linten passiert durch lefthook automatisch beim Committen/Pushen. Manuell kannst du das machen:

  • Formatieren: bun format
  • Linten: bun lint
  • Fixbare Linter-Fehler automatisch fixen: bun lint:fix
  • CI-Checks lokal laufen lassen: bun ci
  • Unit-Tests ausführen:

❄ Nix

Entweder via nix-shell oder nix develop letzteres benötigt Nix-Flake support. Nix-Flakes nutzen ohne diese eingeschaltet zu haben geht via: nix --extra-experimental-features "flakes nix-command" develop

Wer auch immer einen Plan von Nix hat, kann das hier gerne weiter ausführen.