kill bot after 10 minutes idling
should prevent 'ping loss' due to weird network setup
This commit is contained in:
parent
9e09e78ab8
commit
f6cf8b46ec
8 changed files with 187 additions and 230 deletions
71
boddle.go
71
boddle.go
|
|
@ -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 (?,?)")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue