diff --git a/main.go b/main.go index 07fd0735f6e2be9904f3ae2c757574869538cc8b..a574bd8747e46bb11a80dcb2708ff9a60008358a 100644 --- a/main.go +++ b/main.go @@ -94,6 +94,14 @@ func main() { issueRegex := regexp.MustCompile("#\\d+\\b") client.Handlers.Add(girc.PRIVMSG, func(client *girc.Client, event girc.Event) { issues := issueRegex.FindAllString(event.Trailing, -1) + + var target string + if len(event.Params) > 0 && girc.IsValidChannel(event.Params[0]) { + target = event.Params[0] + } else { + target = event.Source.Name + } + for _, idString := range issues { id, err := strconv.Atoi(idString[1:]) if err != nil { @@ -104,9 +112,9 @@ func main() { continue } if issue.ClosedAt != nil { - client.Cmd.Notice(event.Source.Name, fmt.Sprintf("#%d (closed): %s – %s", issue.IID, issue.Title, issue.WebURL)) + client.Cmd.Notice(target, fmt.Sprintf("#%d (closed): %s – %s", issue.IID, issue.Title, issue.WebURL)) } else { - client.Cmd.Notice(event.Source.Name, fmt.Sprintf("#%d: %s – %s", issue.IID, issue.Title, issue.WebURL)) + client.Cmd.Notice(target, fmt.Sprintf("#%d: %s – %s", issue.IID, issue.Title, issue.WebURL)) } } })