From 7636ca2808e3c99cfb63ad6cc7a3842f60b83c27 Mon Sep 17 00:00:00 2001 From: Simone Margaritelli Date: Fri, 9 Aug 2024 18:42:08 +0200 Subject: [PATCH] new: gps.set to manually set/override gps coordinates (closes #915) --- modules/gps/gps.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/modules/gps/gps.go b/modules/gps/gps.go index eb191043..4cda1ff8 100644 --- a/modules/gps/gps.go +++ b/modules/gps/gps.go @@ -3,6 +3,7 @@ package gps import ( "fmt" "io" + "strconv" "time" "github.com/bettercap/bettercap/v2/session" @@ -65,6 +66,24 @@ func NewGPS(s *session.Session) *GPS { return mod.Show() })) + mod.AddHandler(session.NewModuleHandler("gps.set LAT LON", `(?i)^gps\.set\s+([0-9\.]+)\s+([0-9\.]+)$`, + "Manually set GPS location.", + func(args []string) error { + + if lat, err := strconv.ParseFloat(args[0], 64); err != nil { + return err + } else if lon, err := strconv.ParseFloat(args[1], 64); err != nil { + return err + } else { + mod.Session.GPS.Updated = time.Now() + mod.Session.GPS.Latitude = lat + mod.Session.GPS.Longitude = lon + mod.Session.Events.Add("gps.new", mod.Session.GPS) + } + + return nil + })) + return mod }