2 Commits
Author SHA1 Message Date
gisle c2d029f918 fix posts not being logged after logbot reconnect.
continuous-integration/drone/push Build is passing
2020-08-09 13:01:06 +02:00
gisle 293102c1c6 add more logging and update irc code.
continuous-integration/drone/push Build is passing
2020-07-20 21:14:49 +02:00
5 changed files with 22 additions and 4 deletions
+1 -1
View File
@@ -4,5 +4,5 @@ go 1.13
require (
github.com/dgrijalva/jwt-go v3.2.0+incompatible
github.com/gissleh/irc v0.0.0-20200720173331-512ba5aa6fca
github.com/gissleh/irc v0.0.0-20200720191144-af5dc31ff33d
)
+2
View File
@@ -2,3 +2,5 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumC
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/gissleh/irc v0.0.0-20200720173331-512ba5aa6fca h1:vTL3kM7PkVnTy77i2/ewaC0VDmSEF7sAOMDTNIs6rKY=
github.com/gissleh/irc v0.0.0-20200720173331-512ba5aa6fca/go.mod h1:h2/fPlbnb11gFpitk0HGxYLgK+bCKGh55QSYNo36X8M=
github.com/gissleh/irc v0.0.0-20200720191144-af5dc31ff33d h1:PbjXoijU290Y6qTD/LM9yyFTWgX8iJtPMQ4Adwsn954=
github.com/gissleh/irc v0.0.0-20200720191144-af5dc31ff33d/go.mod h1:h2/fPlbnb11gFpitk0HGxYLgK+bCKGh55QSYNo36X8M=
+2
View File
@@ -53,6 +53,8 @@ func (bot *Bot) Connect(server string, ssl bool, maxRetries int) (err error) {
}
bot.ctx, bot.ctxCancel = context.WithCancel(bot.client.Context())
bot.channels = make(map[string]*Channel)
retries := 0
for maxRetries == 0 || retries < maxRetries {
err = bot.client.Connect(server, ssl)
+2 -2
View File
@@ -29,7 +29,7 @@ type Channel struct {
}
func newChannel(parent *Bot, name string, client *irc.Client) *Channel {
ctx, cancel := context.WithCancel(context.Background())
ctx, cancel := context.WithCancel(parent.ctx)
return &Channel{
name: name,
@@ -266,7 +266,7 @@ func (channel *Channel) loop() {
channel.lastPostSessionID = ""
}
case <-channel.parentCtx.Done():
case <-channel.ctx.Done():
{
// Time to pack up shop.
return
+15 -1
View File
@@ -31,7 +31,17 @@ func handler(event *irc.Event, client *irc.Client) {
bot.stopLoop()
conf := config.Get().Server
go bot.Connect(conf.Address, conf.SSL, 0)
go bot.Connect(conf.Address, conf.SSL, 100)
}
// Log Connections
case "client.connecting":
{
log.Println("Client is connecting...")
}
case "client.connect":
{
log.Println("Client connected!")
}
// Log joins and leaves
@@ -133,6 +143,10 @@ func handler(event *irc.Event, client *irc.Client) {
}
}
if event.Kind() == "error" {
log.Printf("Client Error (%s) %s\n", event.Verb(), event.Text)
}
// Always log error numerics.
if len(event.Verb()) == 3 && event.Verb()[0] == '4' || event.Verb()[0] == '9' {
log.Printf("(%s) %s %s\n", event.Verb(), strings.Join(event.Args, " "), event.Text)