53 lines
747 B
Go
53 lines
747 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"fmt"
|
|
"net"
|
|
"time"
|
|
_ "github.com/mattn/go-sqlite3"
|
|
)
|
|
|
|
var dead = true
|
|
|
|
type bot struct {
|
|
name string
|
|
channel []string
|
|
port int
|
|
server string
|
|
conn net.Conn
|
|
}
|
|
|
|
func main() {
|
|
LOG_init()
|
|
|
|
boddle := bot {
|
|
name: "boddle",
|
|
channel: []string{"#faui2k16", "#fau", "#sigbike", "#sigfreibad"},
|
|
port: 6667,
|
|
server: "irc.fau.de",
|
|
}
|
|
|
|
LOG_INFO.Println("bot started!")
|
|
|
|
var botchan <-chan []byte
|
|
var line []byte
|
|
dead = true
|
|
|
|
for {
|
|
if dead {
|
|
LOG_WARN.Println("died.")
|
|
for {
|
|
botchan = connect(boddle)
|
|
if botchan != nil {
|
|
break
|
|
}
|
|
time.Sleep(10 * time.Second)
|
|
}
|
|
LOG_INFO.Println("reconnected.")
|
|
dead = false
|
|
}
|
|
line = <-botchan
|
|
fmt.Fprintf(os.Stderr, string(line))
|
|
}
|
|
}
|