kill bot after 10 minutes idling

should prevent 'ping loss' due to weird network setup
This commit is contained in:
Eva Dengler 2022-03-05 21:39:54 +01:00
commit f6cf8b46ec
8 changed files with 187 additions and 230 deletions

View file

@ -1,70 +1,17 @@
package main
import "strings"
import "fmt"
import "regexp"
import "database/sql"
import _ "github.com/mattn/go-sqlite3"
type irc_msg struct {
channel string
msg string
author string
retmsg string
}
type cmd struct {
valid bool
add bool
cmd string
groups []string
suffix string
error string
}
import (
"strings"
"fmt"
"regexp"
"database/sql"
_ "github.com/mattn/go-sqlite3"
)
var begin_char = []byte{'-', '<'}
var db *sql.DB
var err error
func checkErr(err error) {
if err != nil {
fmt.Printf("::::ERROR:::: %s\n", err)
panic(err)
}
}
func in (a byte, arr []byte) bool {
for _, x := range arr {
if x == a {
return true
}
}
return false
}
func unique_str(stringSlice []string) []string {
keys := make(map[string]bool)
list := []string{}
for _, entry := range stringSlice {
if _, value := keys[entry]; !value {
keys[entry] = true
list = append(list, entry)
}
}
return list
}
func unique_int(intSlice []int) []int {
keys := make(map[int]bool)
list := []int{}
for _, entry := range intSlice {
if _, value := keys[entry]; !value {
keys[entry] = true
list = append(list, entry)
}
}
return list
}
// function to split advise message correctly
func filter(msg string, foo bot) cmd {
@ -232,7 +179,7 @@ func checkSorter(msg *irc_msg, c *cmd) bool {
sorter_groups_row.Close()
if (*c).add {
var tag_name string
tag_name_row, err := db.Query(fmt.Sprintf("select name from tag where id = %d", tag_id))
tag_name_row, err := db.Query(fmt.Sprintf("select name from tag where id = %s", tag_id))
checkErr(err)
if tag_name_row.Next() {
tag_name_row.Scan(&tag_name)
@ -281,7 +228,7 @@ func addLine(msg *irc_msg, line string, groups []string, cmd string) string {
line_id, err := res.LastInsertId();
checkErr(err)
LOG_WARN.Printf("line_id: %d, tag_id: %d, groups: %s\n", line_id, cmd, strings.Join(groups, "-"))
LOG_WARN.Printf("line_id: %d, tag_id: %s, groups: %s\n", line_id, cmd, strings.Join(groups, "-"))
// for tag and all groups
if len(groups) == 0 {
stat, err := db.Prepare("insert into brain(line_id, tag_id) values (?,?)")