~xenrox/twitch-bot

e444225b2cd2a37569b5a3f68ef302bbd8a2a55c — Thorben Günther 1 year, 6 months ago 7b52156 v0.2.0
static_commands: Protect built-in commands
2 files changed, 23 insertions(+), 0 deletions(-)

A functions.go
M static_commands.go
A functions.go => functions.go +11 -0
@@ 0,0 1,11 @@
package main

func sliceContains(s []string, e string) bool {
	for _, v := range s {
		if e == v {
			return true
		}
	}

	return false
}

M static_commands.go => static_commands.go +12 -0
@@ 66,6 66,12 @@ func (b *bot) handleCommands(parsed []string, msg *twitch.PrivateMessage) error 
			name := strings.TrimLeft(parsed[2], "!")
			resp := strings.Join(parsed[3:], " ")

			// check if built-in commands use this name
			if sliceContains(faceitCommands(), name) {
				b.say(msg, "Cannot override built-in command.")
				return nil
			}

			query := `
				INSERT INTO static_commands (channel, name, response)
				VALUES ($1, $2, $3)


@@ 83,6 89,12 @@ func (b *bot) handleCommands(parsed []string, msg *twitch.PrivateMessage) error 
	if parsed[1] == "delete" {
		name := strings.TrimLeft(parsed[2], "!")

		// check if built-in commands use this name
		if sliceContains(faceitCommands(), name) {
			b.say(msg, "Cannot delete built-in command.")
			return nil
		}

		query := `
			DELETE FROM static_commands
			WHERE channel = $1 AND name = $2`