Moin,
nachdem vor kurzer Zeit der offizielle Breadfish Discord Bot seinen Geist aufgegeben hat, und maddin diesen nichtmehr reparieren kann, hat root den Bot in C# neu geschrieben, da ich ihm aber meine krassen Programmierskillz beweisen muss, schreibe ich nun den Discord Bot neu. Dann muss er sich auch nicht um den Bot kümmern.
Informationen über den Bot:
Der Bot ist vollständig in NodeJS geschrieben und verwendet die folgenden Packages:
axios (GitHub) - Für die Abfrage der Donatorliste
discord.js (Website) - Für die Kommunikation mit der Discord API
require-dir (NPM) - Um alle Befehle rekursiv zu laden
select-random-file (NPM) - Um ein random Bild für den !bpm Befehl auszuwählen
adm-zip (NPM) - Um den BPM Cache zu aktualisieren (Um genau zu sein um die GitHub Zip Datei zu entpacken)
Der Bot wurde komplett von mir von Grundauf gecodet, dieser Bot hat nichts mit meinem verworfenen Discord Bot zu tun. ([DEV-BLOG] Selfmade Discordbot)
Da dieser Bot eine Kopie des alten Discord Bots ist, wird dieser auch zu Anfang nur die gleichen Features wie der alte Discord Bot haben. Vorschläge für neue Features können gerne als neues Issue beim vorhandenen GitLab Repository gestellt werden. (Weitere Informationen dazu sind weiter unten zu finden)
Features:
Commandhandler
Der Bot hat einen von mir selbst geschriebenen Commandhandler der das erstellen von neuen Befehlen kinderleicht macht. Dieser arbeitet mit einer Klasse für Befehle.
Befehle können einfach mit dem Aufruf einer einzelnen Funktion erstellt werden, und nach Angabe des Namen des Befehls, der Beschreibung, des benötigten Rechtelevels und der Funktion die ausgeführt werden soll wenn der Befehl ausgeführt wird, ist der Befehl auch schon fertig nutzbar und in der !help Liste automatisch zu finden.
Logger
Es ist ein kleines Loggingsystem implementiert, womit Informationen, Warnungen und Fehler in die Konsole ausgegeben werden aber auch in einer .log Datei im logs/ Verzeichnis mit Timestamp gespeichert werden können.
Donator Synchronisation
Wie auch der originale Discord Bot, hat dieser Bot auch die Funktion die Donator Rolle im Forum und Discord zu synchronisieren. Alle x Sekunden (einstellbar in der Config, standardmäßig auf alle 10 Minuten) werden diese Donator automatisch synchronisiert. Eine manuelle Synchronisation vom eigenen Discord Rang ist mit dem Befehl !discord möglich. Admins ist es möglich mit !donator-sync alle Donator zu synchronisieren.
Random Bilder
Der !bpm Befehl ist auch wieder vertreten und zeigt einem ein ausgewähltes oder zufälliges lustiges Bild aus der Geschichte von Breadfish an. Mit !bpm-cache kann der BPM Cache von den Admins neu geladen werden.
Moderative Befehle
Die bekannten !kick und !ban Befehle sind natürlich auch vorhanden. Wie in eigentlich jedem Discord Bot.
Weitere Features wie z.B. der !uptime Befehl sind auch bereits vorhanden, diese Liste wird sich aber wahrscheinlich über die Zeit füllen.
(P.S: Die genannten Features sind zum JETZIGEN ZEITPUNKT noch nicht alle im Bot integriert, sind aber geplant)
Source Code:
Der alte Breadfish Bot war Closed Source, aber dieser Bot ist komplett Open Source.
Der Source Code ist zu finden auf dem offiziellen Breadfish GitLab: https://git.breadfish.de/LeonM…ejs-breadfish-discord-bot
Ihr müsst angemeldet sein um den Source Code sehen zu können, der Zugang dazu ist nur für Breadfish Mitglieder gedacht.
Falls ihr die offenen Features sehen wollt oder selber ein neues Feature vorschlagen wollt könnt ihr die Issues des Repositories dafür verwenden: https://git.breadfish.de/LeonM…adfish-discord-bot/issues
Fehler können dort natürlich auch gemeldet werden.
Credits:
Bot made by Me
Original bot made by maddin
Special thanks to root and seegras
Wenn ihr Fragen zum Bot habt oder mir einfach nur sagen wollt was für ein geiler Typ ich bin, könnte ihr gerne unter diesem Thread schreiben.