From d785388d882f63a5481087e5841c97a40bf67154 Mon Sep 17 00:00:00 2001 From: mappu Date: Mon, 4 Jun 2018 16:43:49 +1200 Subject: [PATCH] graceful failure when failing to send telegram->dc messages --- NTFServer.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/NTFServer.go b/NTFServer.go index dff7f79..b74d128 100644 --- a/NTFServer.go +++ b/NTFServer.go @@ -451,7 +451,11 @@ func (this *NTFServer) HandleGroupMessage(update telegram.Update) error { this.Coalesce(hubNick, update.Message.Text) // Submit to NMDC - conn.SayPublic(update.Message.Text) + err := conn.SayPublic(update.Message.Text) + if err != nil { + log.Printf("Failed to deliver message '%s': %s", update.Message.Text, err.Error()) + this.GroupChatSayHTML(fmt.Sprintf("Couldn't sync message '%s' because: %s", html.EscapeString(update.Message.Text), html.EscapeString(err.Error()))) + } } // TODO probably a file/image upload??? @@ -532,7 +536,11 @@ func (this *NTFServer) HandleDirectMessage(update telegram.Update) error { return respond(fmt.Sprintf("Can't PM offline user '%s'", parts[1])) } - conn.SayPrivate(parts[1], parts[2]) + err := conn.SayPrivate(parts[1], parts[2]) + if err != nil { + log.Printf("Sending PM %s -> %s failed because: %s", hubNick, parts[1], err.Error()) + return respond(fmt.Sprintf("Sending PM failed because: %s", err.Error())) + } } else if strings.HasPrefix(msg, "/join ") { requestedHubNick := msg[6:]