mirror of
https://github.com/Luzifer/twitch-bot.git
synced 2024-12-20 20:01:17 +00:00
Fix: Allow templating to read user input
Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
parent
6a218030a0
commit
cc8160ec67
3 changed files with 16 additions and 3 deletions
|
@ -1,6 +1,8 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strconv"
|
||||||
|
|
||||||
"github.com/go-irc/irc"
|
"github.com/go-irc/irc"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
)
|
)
|
||||||
|
@ -17,8 +19,18 @@ func init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if r.CounterSet != nil {
|
if r.CounterSet != nil {
|
||||||
|
parseValue, err := formatMessage(*r.CounterSet, m, ruleDef, nil)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "execute counter value template")
|
||||||
|
}
|
||||||
|
|
||||||
|
counterValue, err := strconv.ParseInt(parseValue, 10, 64)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "parse counter value")
|
||||||
|
}
|
||||||
|
|
||||||
return errors.Wrap(
|
return errors.Wrap(
|
||||||
store.UpdateCounter(counterName, *r.CounterSet, true),
|
store.UpdateCounter(counterName, counterValue, true),
|
||||||
"set counter",
|
"set counter",
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -179,7 +179,7 @@ func (r *rule) Matches(m *irc.Message, event *string) bool {
|
||||||
type ruleAction struct {
|
type ruleAction struct {
|
||||||
Ban *string `json:"ban" yaml:"ban"`
|
Ban *string `json:"ban" yaml:"ban"`
|
||||||
Command []string `json:"command" yaml:"command"`
|
Command []string `json:"command" yaml:"command"`
|
||||||
CounterSet *int64 `json:"counter_set" yaml:"counter_set"`
|
CounterSet *string `json:"counter_set" yaml:"counter_set"`
|
||||||
CounterStep *int64 `json:"counter_step" yaml:"counter_step"`
|
CounterStep *int64 `json:"counter_step" yaml:"counter_step"`
|
||||||
Counter *string `json:"counter" yaml:"counter"`
|
Counter *string `json:"counter" yaml:"counter"`
|
||||||
DeleteMessage *bool `json:"delete_message" yaml:"delete_message"`
|
DeleteMessage *bool `json:"delete_message" yaml:"delete_message"`
|
||||||
|
|
|
@ -24,7 +24,8 @@ rules: # See below for examples
|
||||||
|
|
||||||
# Modify an internal counter value (does NOT send a chat line)
|
# Modify an internal counter value (does NOT send a chat line)
|
||||||
- counter: "counterid" # String to identify the counter, applies templating
|
- counter: "counterid" # String to identify the counter, applies templating
|
||||||
counter_set: 25 # Integer, set counter to value (counter_step is ignored if set)
|
counter_set: 25 # String, set counter to value (counter_step is ignored if set),
|
||||||
|
# applies templating but MUST result in a parseable integer
|
||||||
counter_step: 1 # Integer, can be negative or positive, default: +1
|
counter_step: 1 # Integer, can be negative or positive, default: +1
|
||||||
|
|
||||||
# Issue a delete on the message caught
|
# Issue a delete on the message caught
|
||||||
|
|
Loading…
Reference in a new issue