aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--git_hooks_handle.go2
-rw-r--r--go.mod2
-rw-r--r--go.sum4
-rw-r--r--irc.go31
4 files changed, 25 insertions, 14 deletions
diff --git a/git_hooks_handle.go b/git_hooks_handle.go
index a58ff55..11a117a 100644
--- a/git_hooks_handle.go
+++ b/git_hooks_handle.go
@@ -237,7 +237,7 @@ func hooksHandler(conn net.Conn) {
merge_request_url := genHTTPRemoteURL(packPass.groupPath, packPass.repoName)+"/contrib/"+strconv.FormatUint(uint64(newMRID), 10)+"/"
fmt.Fprintln(sshStderr, ansiec.Blue+"Created merge request at", merge_request_url+ansiec.Reset)
select {
- case ircSendBuffered <- "PRIVMSG #chat :New merge request at " + merge_request_url + "\r\n":
+ case ircSendBuffered <- "PRIVMSG #chat :New merge request at " + merge_request_url:
default:
clog.Error("IRC SendQ exceeded")
}
diff --git a/go.mod b/go.mod
index dc0981c..44e4470 100644
--- a/go.mod
+++ b/go.mod
@@ -14,7 +14,7 @@ require (
github.com/tdewolff/minify/v2 v2.22.3
github.com/yuin/goldmark v1.7.8
go.lindenii.runxiyu.org/lindenii-common v0.0.0-20250321131425-dda3538a9cd4
- go.lindenii.runxiyu.org/lindenii-irc v0.0.0-20250322024138-aabae52169ec
+ go.lindenii.runxiyu.org/lindenii-irc v0.0.0-20250322030600-1e47f911f1fa
golang.org/x/crypto v0.36.0
)
diff --git a/go.sum b/go.sum
index a65f366..524fb98 100644
--- a/go.sum
+++ b/go.sum
@@ -110,8 +110,8 @@ github.com/yuin/goldmark v1.7.8 h1:iERMLn0/QJeHFhxSt3p6PeN9mGnvIKSpG9YYorDMnic=
github.com/yuin/goldmark v1.7.8/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
go.lindenii.runxiyu.org/lindenii-common v0.0.0-20250321131425-dda3538a9cd4 h1:xX6s8+Yo5fRHzVswlJvKQjjN6lZCG7lAh33dTXBqsYE=
go.lindenii.runxiyu.org/lindenii-common v0.0.0-20250321131425-dda3538a9cd4/go.mod h1:bOxuuGXA3UpbLb1lKohr2j2MVcGGLcqfAprGx9VCkMA=
-go.lindenii.runxiyu.org/lindenii-irc v0.0.0-20250322024138-aabae52169ec h1:u7gMhK7KswwcuvD5S+H2nQ8dJwq269467/PzvCLcxiM=
-go.lindenii.runxiyu.org/lindenii-irc v0.0.0-20250322024138-aabae52169ec/go.mod h1:fE6Ks8GK7PHZGAPkTWG593UmF7FmyugcRcqmey3Nvy0=
+go.lindenii.runxiyu.org/lindenii-irc v0.0.0-20250322030600-1e47f911f1fa h1:LU3ZN/9xVUOEHyUCa5d+lvrL2sqhy/PR2iM2DuAQDqs=
+go.lindenii.runxiyu.org/lindenii-irc v0.0.0-20250322030600-1e47f911f1fa/go.mod h1:fE6Ks8GK7PHZGAPkTWG593UmF7FmyugcRcqmey3Nvy0=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
diff --git a/irc.go b/irc.go
index be53815..e2b5037 100644
--- a/irc.go
+++ b/irc.go
@@ -32,10 +32,17 @@ func ircBotSession() error {
defer underlyingConn.Close()
conn := irc.NewConn(underlyingConn)
- _, err = conn.WriteString(
- "NICK " + config.IRC.Nick + "\r\n" +
- "USER " + config.IRC.User + " 0 * :" + config.IRC.Gecos + "\r\n",
- )
+
+ logAndWriteLn := func(s string) (n int, err error) {
+ clog.Debug("IRC tx: " + s)
+ return conn.WriteString(s + "\r\n")
+ }
+
+ _, err = logAndWriteLn("NICK " + config.IRC.Nick)
+ if err != nil {
+ return err
+ }
+ _, err = logAndWriteLn("USER " + config.IRC.User + " 0 * :" + config.IRC.Gecos)
if err != nil {
return err
}
@@ -49,20 +56,24 @@ func ircBotSession() error {
return
default:
}
- msg, err := conn.ReadMessage()
+
+ msg, line, err := conn.ReadMessage()
if err != nil {
readLoopError <- err
return
}
+
+ clog.Debug("IRC rx: " + line)
+
switch msg.Command {
case "001":
- _, err = conn.WriteString("JOIN #chat\r\n")
+ _, err = logAndWriteLn("JOIN #chat")
if err != nil {
readLoopError <- err
return
}
case "PING":
- _, err = conn.WriteString("PONG :" + msg.Args[0] + "\r\n")
+ _, err = logAndWriteLn("PONG :" + msg.Args[0])
if err != nil {
readLoopError <- err
return
@@ -75,7 +86,7 @@ func ircBotSession() error {
if c.Nick != config.IRC.Nick {
continue
}
- _, err = conn.WriteString("PRIVMSG #chat :test\r\n")
+ _, err = logAndWriteLn("PRIVMSG #chat :test")
if err != nil {
readLoopError <- err
return
@@ -90,7 +101,7 @@ func ircBotSession() error {
case err = <-readLoopError:
return err
case s := <-ircSendBuffered:
- _, err = conn.WriteString(s)
+ _, err = logAndWriteLn(s)
if err != nil {
select {
case ircSendBuffered <- s:
@@ -101,7 +112,7 @@ func ircBotSession() error {
return err
}
case se := <-ircSendDirectChan:
- _, err = conn.WriteString(se.content)
+ _, err = logAndWriteLn(se.content)
se.errorBack <- err
if err != nil {
writeLoopAbort <- struct{}{}