Jade/chatCommands.go
2024-05-05 14:20:58 +02:00

38 lines
701 B
Go

package main
import (
"github.com/gofiber/fiber/v2"
)
type Command struct {
Name string
Trigger string
Handler func(c *fiber.Ctx) string
}
var Commands []Command
func init() {
Commands = []Command{
{
Name: "Clear",
Trigger: "clear",
Handler: ClearCommandHandler,
},
}
}
func ClearCommandHandler(c *fiber.Ctx) string {
// DOTO clear the chat
return "<hx hx-get='/loadChat' hx-trigger='load' hx-swap='outerHTML' hx-target='#chat-container'></hx>"
}
func DetectCommand(message string, c *fiber.Ctx) (string, bool) {
for _, command := range Commands {
if command.Trigger == message {
return command.Handler(c), true
}
}
return "", false // No command detected
}