pass in a command to the insert method instead of name, text

This commit is contained in:
lyx0 2022-08-17 14:45:35 +02:00
parent 0099236bc8
commit 650e7f450f
3 changed files with 11 additions and 6 deletions

View file

@ -5,6 +5,7 @@ import (
"strconv"
"github.com/gempir/go-twitch-irc/v3"
"github.com/lyx0/nourybot/internal/data"
"github.com/lyx0/nourybot/pkg/common"
)
@ -22,7 +23,13 @@ func (app *Application) AddCommand(name string, message twitch.PrivateMessage) {
// e.g. ()addcommand dank FeelsDankMan
// | part1 snip ^ part2 |
text := message.Message[prefixLength+len(name) : len(message.Message)]
err := app.Models.Commands.Insert(name, text)
command := &data.Command{
Name: name,
Text: text,
Category: "uncategorized",
Level: 0,
}
err := app.Models.Commands.Insert(command)
// app.Logger.Infow("Message splits",
// "Command Name:", name,

View file

@ -97,9 +97,7 @@ func (c CommandModel) SetLevel(name string, level int) error {
}
// Insert adds a command into the database.
func (c CommandModel) Insert(name, text string) error {
perms := 0
category := "uncategorized"
func (c CommandModel) Insert(command *Command) error {
query := `
INSERT into commands(name, text, category, level)
VALUES ($1, $2, $3, $4)
@ -108,7 +106,7 @@ func (c CommandModel) Insert(name, text string) error {
RETURNING id;
`
args := []interface{}{name, text, category, perms}
args := []interface{}{command.Name, command.Text, command.Category, command.Level}
result, err := c.DB.Exec(query, args...)
if err != nil {

View file

@ -30,7 +30,7 @@ type Models struct {
}
Commands interface {
Get(name string) (*Command, error)
Insert(name, text string) error
Insert(command *Command) error
SetLevel(name string, level int) error
SetCategory(name, category string) error
Delete(name string) error