From f6626d5c729f7ccec556c50d7801787084b863cd Mon Sep 17 00:00:00 2001 From: prokopparuzek Date: Wed, 27 Jul 2022 21:22:23 +0200 Subject: [PATCH] ftip --- go.mod | 2 ++ irc_bot.go | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/go.mod b/go.mod index 1f750a5..69646cf 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,5 @@ module irc_bot go 1.18 + +require github.com/icelain/jokeapi v0.0.0-20220428143244-f71f87248478 diff --git a/irc_bot.go b/irc_bot.go index 2a02646..72e0e1f 100644 --- a/irc_bot.go +++ b/irc_bot.go @@ -7,6 +7,8 @@ import ( "io" "os/exec" "strings" + + "github.com/icelain/jokeapi" ) const ( @@ -19,6 +21,7 @@ Příkazy: !help - Zobraz nápovědu !pozdrav - pozdraví !fortune - řekne moudrost +!ftip - poví vtip ` ) @@ -33,6 +36,7 @@ func sendMultiline(conn io.Writer, msg string, receiver string) { } func main() { + // IRC init conn, err := tls.Dial("tcp", host, &tls.Config{RootCAs: nil}) if err != nil { panic("Failed to connect") @@ -43,6 +47,10 @@ func main() { fmt.Fprintln(conn, "USER bot rpi3 rpi3 :botik obecny") fmt.Fprintln(conn, "NICK botik") fmt.Fprintln(conn, "JOIN #test") + // joke init + api := jokeapi.New() + api.SetLang("en") + // IRC for { in, _ := reader.ReadString('\n') words := strings.Fields(in) @@ -68,6 +76,11 @@ func main() { case "!fortune": msg, _ := exec.Command("fortune").Output() sendMultiline(conn, string(msg), receiver) + case "!ftip": + ftip, _ := api.Fetch() + for _, l := range ftip.Joke { + sendMultiline(conn, l, receiver) + } } } if words[0] == "PING" {