diff --git a/irc_bot.go b/irc_bot.go index f891e33..3bed70a 100644 --- a/irc_bot.go +++ b/irc_bot.go @@ -4,13 +4,32 @@ import ( "bufio" "crypto/tls" "fmt" + "io" "strings" ) const ( host string = "pph21.duckdns.org:6697" + help string = ` +botík obecný +Je v kanálu #test i v DM +Zdraví nově příchozí. +Příkazy: +!help - Zobraz nápovědu +!pozdrav - pozdraví +` ) +func sendMsg(conn io.Writer, msg string, receiver string) { + fmt.Fprintln(conn, "PRIVMSG "+receiver+" :"+msg) +} + +func sendHelp(conn io.Writer, receiver string) { + for _, l := range strings.Split(strings.Trim(help, "\n"), "\n") { + sendMsg(conn, l, receiver) + } +} + func main() { conn, err := tls.Dial("tcp", host, &tls.Config{RootCAs: nil}) if err != nil { @@ -31,14 +50,19 @@ func main() { } switch words[1] { case "JOIN": - fmt.Fprintln(conn, "PRIVMSG "+words[2]+" :Vítej "+who) + sendMsg(conn, "Vítej "+who, words[2]) case "PRIVMSG": - if words[3] == ":!pozdrav" { - if []rune(words[2])[0] == '#' { - fmt.Fprintln(conn, "PRIVMSG "+words[2]+" :Ahoj "+who) - } else { - fmt.Fprintln(conn, "PRIVMSG "+who+" :Ahoj "+who) - } + var receiver string + if []rune(words[2])[0] == '#' { + receiver = words[2] + } else { + receiver = who + } + switch words[3][1:] { + case "!pozdrav": + sendMsg(conn, "Ahoj "+who, receiver) + case "!help": + sendHelp(conn, receiver) } } if words[0] == "PING" {