Zwei Methoden, ein Modul
Bette goroku.Base ein, und Lebenszyklus, Speicher, Übersetzer und Client sind bereits verdrahtet. Deklariere Name und Commands; den Rest überschreibst du nur, wenn du ihn brauchst.
Ein Modul ist ein Struct mit einem Namen und Befehlen. Für alles andere gibt es Standardwerte.
package modules
import "goroku/goroku"
type HTML struct{ goroku.Base }
func (m *HTML) Name() string { return "HTML" }
func (m *HTML) Commands() map[string]goroku.CommandHandler {
return map[string]goroku.CommandHandler{"html": m.HTMLCmd}
}
func (m *HTML) HTMLCmd(msg *goroku.Message) error {
code := msg.ArgsOrReply()
if code == "" {
return msg.Answer(m.T("no_args", "❌ <b>Sende Text oder antworte auf eine Nachricht</b>"))
}
return msg.Answer(code)
}Das ist die komplette Datei. .html <b>hi</b> rendert fetten Text; eine Antwort auf eine Nachricht mit .html rendert stattdessen jene Nachricht.
| Du willst | Lies |
|---|---|
| In fünf Minuten etwas Lauffähiges | Erstes Modul |
| Verstehen, wofür jede Methode da ist | Aufbau eines Moduls |
| Einen Befehl auf Gruppen, Admins oder Antworten beschränken | CommandMeta |
| Daten über Neustarts hinweg behalten | Speicher |
| Nutzern Einstellungen geben | Konfiguration |
| Es an andere weitergeben | Modul installieren |