aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-12-02 18:12:36 +0100
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-12-02 18:12:36 +0100
commit4d8c5420cdc71c27558b3ce863933f07f69bfa50 (patch)
tree613d072268aaeddf71c233cfb15e763ddf7c5c7e
parent07ba985946dee9ca89a760e94a08ae5ec3861508 (diff)
refactor send and server command error reports / logging
-rw-r--r--chatcommands.go43
1 files changed, 36 insertions, 7 deletions
diff --git a/chatcommands.go b/chatcommands.go
index 1911132..ed6de79 100644
--- a/chatcommands.go
+++ b/chatcommands.go
@@ -5,6 +5,7 @@ for mt-multiserver-proxy.
package main
import (
+ "errors"
"fmt"
"io"
"os"
@@ -124,7 +125,15 @@ func init() {
}
if err := clt.Hop(args[1]); err != nil {
- clt.SendChatMsg("Could not switch servers. Reconnect if you encounter any problems. Error:", err.Error())
+ cc.Log("<-", err)
+
+ if errors.Is(err, proxy.ErrNoSuchServer) {
+ return "Server does not exist."
+ } else if errors.Is(err, proxy.ErrNewMediaPool) {
+ return "The new server belongs to a media pool that is not present on this client. Please reconnect to access it."
+ }
+
+ return "Could not switch servers. Reconnect if you encounter any problems. Error: " + err.Error()
}
case "current":
if cc == nil {
@@ -142,7 +151,15 @@ func init() {
for clt := range proxy.Clts() {
if clt.ServerName() == cc.ServerName() && clt.ServerName() != args[1] {
if err := clt.Hop(args[1]); err != nil {
- clt.SendChatMsg("Could not switch servers. Reconnect if you encounter any problems. Error:", err.Error())
+ cc.Log("<-", err)
+
+ if errors.Is(err, proxy.ErrNoSuchServer) {
+ return "Server does not exist."
+ } else if errors.Is(err, proxy.ErrNewMediaPool) {
+ return "The new server belongs to a media pool that is not present on this client. Please reconnect to access it."
+ }
+
+ return "Could not switch servers. Reconnect if you encounter any problems. Error: " + err.Error()
}
}
}
@@ -154,7 +171,15 @@ func init() {
for clt := range proxy.Clts() {
if clt.ServerName() != args[1] {
if err := clt.Hop(args[1]); err != nil {
- clt.SendChatMsg("Could not switch servers. Reconnect if you encounter any problems. Error:", err.Error())
+ cc.Log("<-", err)
+
+ if errors.Is(err, proxy.ErrNoSuchServer) {
+ return "Server does not exist."
+ } else if errors.Is(err, proxy.ErrNewMediaPool) {
+ return "The new server belongs to a media pool that is not present on this client. Please reconnect to access it."
+ }
+
+ return "Could not switch servers. Reconnect if you encounter any problems. Error: " + err.Error()
}
}
}
@@ -325,15 +350,19 @@ func init() {
return "Telnet usage: server"
}
- if _, ok := proxy.Conf().Servers[args[0]]; !ok {
- return "Server does not exist."
- }
-
if cc.ServerName() == args[0] {
return "Already connected to this server."
}
if err := cc.Hop(args[0]); err != nil {
+ cc.Log("<-", err)
+
+ if errors.Is(err, proxy.ErrNoSuchServer) {
+ return "Server does not exist."
+ } else if errors.Is(err, proxy.ErrNewMediaPool) {
+ return "The new server belongs to a media pool that is not present on this client. Please reconnect to access it."
+ }
+
return "Could not switch servers. Reconnect if you encounter any problems. Error: " + err.Error()
}