natsbot

NATS bot
git clone https://git.instinctive.eu/natsbot.git
Log | Files | Refs | README | LICENSE

commit bf54e40af8c50fc040cef1555e7a8fbfc91bec5a
parent 11b3993073836cde41eccd31206922b663789e5d
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date:   Thu, 25 Sep 2025 18:00:22 +0000

Retry-on-failed-connect connection option
Diffstat:
Mnatsbot.go | 5+++++
1 file changed, 5 insertions(+), 0 deletions(-)

diff --git a/natsbot.go b/natsbot.go @@ -457,6 +457,7 @@ type natsConfig struct { user string password string token string + retry bool } type natsConfigMap map[natsConfig]*nats.Conn @@ -556,6 +557,9 @@ func toConfig(L *lua.LState, lv lua.LValue) (*natsConfig, natsCbMap, error) { errStr = append(errStr, fmt.Sprintf("bad value for key %q: %q", skey, lua.LVAsString(value))) } + case "retry": + result.retry = lua.LVAsBool(value) + default: errStr = append(errStr, fmt.Sprintf("Unknown key %q", skey)) } @@ -575,6 +579,7 @@ func newConn(evtChan chan *internalEvent, cfg *natsConfig) (*nats.Conn, error) { nats.ReconnectErrHandler(newConnErrHandler(evtChan, "reconnect_error")), nats.ClosedHandler(newConnHandler(evtChan, "closed")), nats.ErrorHandler(newErrHandler(evtChan, "error")), + nats.RetryOnFailedConnect(cfg.retry), } if cfg.name != "" {