From 47c84d91f1261bd67cf5c72bf007a2605af3f1aa Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 28 Oct 2025 05:46:05 +0000 Subject: [PATCH] Integrate inventory and enhanced checklist into mesh_bot Co-authored-by: SpudGunMan <12676665+SpudGunMan@users.noreply.github.com> --- .gitignore | 4 ++++ data/checklist.db | Bin 12288 -> 0 bytes data/inventory.db | Bin 28672 -> 0 bytes mesh_bot.py | 21 +++++++++++++++++++++ modules/system.py | 6 ++++++ 5 files changed, 31 insertions(+) delete mode 100644 data/checklist.db delete mode 100644 data/inventory.db diff --git a/.gitignore b/.gitignore index aacecc2..e989ec7 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,10 @@ data/rag/* # qrz db data/qrz.db +# checklist and inventory databases +data/checklist.db +data/inventory.db + # fileMonitor test file bee.txt diff --git a/data/checklist.db b/data/checklist.db deleted file mode 100644 index 676e87c3b761480522a6eba5bd014b219502cd4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI#O-sWt7zgmQ69&RW@UX)eJVysb6fYjF8pm*o)(Y-aV;3>FrDMk7)t8GO%rD|6 zF?(q@W_`JM8UH}vo-}FyznpS@)>KB)P15fQL)&bXIS$(;VvM==DA*%y!{?>+!Csx2 z`|oaDwlR1s*txF2!~{k7&pS@BT&Xy(^=U+GzdTd0uX=z R1Rwwb2tWV=5P-l$;1iKZrM3V7 diff --git a/data/inventory.db b/data/inventory.db deleted file mode 100644 index 1c25f295be686ef8ae10db75b905152f09d4f92f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28672 zcmeI(?N8G{90%~0v2{#wzA))4l0!qX29O71qAyICc#y?1pmd46YL2ZWO|}l!n@W5q zQR6@3f8k622w(cr#1P{vueS$Uplk$5%<{dgW9>b(_xau3){*UOn;v(`ezVnJoIFzQ zDypii5TYnbT5OuwdTCs|2)ABRdoM2en^qpa{ydrgtz@!4lsl{WZ<9Z7n>kDDAVB~E z5P$##AOL}z7I?p((R5u`Kg@ErS9hzd#RK`Ity;8bQ(_mNo0P~yIdV}dgn5ovBc-xU z*QrIetkOo&+9faPE-6;*%~Dx3wL#1F+{F!$cHp+c25kDuCgn}BRZKIfu=rTkh@Ndw z`NKBzxyO(Cmp7;atJU0^Q)A-eUwA=D*Ri%~(b9TZ_Oj5uD1%sZjasz4N_R+jEa>ML z$8XY_zObNvnv&4G#r%L(x!3d^S@PV0Oe_HBvM;tQTqh2(bDYL=5ZH}J``zhXg(WCexDju>IaKa2eRaZR6@Q9o*DBOgT07^IWp9VCQ0QaL&y zt~~vs?eL?6&afXS9Ie%#ELW<?!ke7c9oA^JeLmbM@tfQY)gM2rpf4t1VY7 z$wMs6?SpVQMhY6nSVn)QtBU8>+_&9$u{LkY{m$y^EQOs2QsV748@}aEicQUbRm1}c z0uX=z1Rwwb2tWV=5P$##AOL~?S>UOfRi-p`W_sFo16~q0_$v?od|&@^?_DlDV0OQD zSYBLyJioL!zx?F%RZjFv&Hqxw0|^2UfB*y_009U<00Izz00bZafe{k8m71F9eNoW) z|Nn`SKN+D8qAL)900bZa0SG_<0uX=z1Rwwb2nd0!n$joa4*|mafAOP#BnUtN0uX=z z1Rwwb2tWV=5P$##Mpyv%|05h+bPWO!fB*y_009U<00Izz00bb=6~O&Jh5`g2009U< T00Izz00bZa0SG`~^acI`N8kCp diff --git a/mesh_bot.py b/mesh_bot.py index 85becdf..1aaa467 100755 --- a/mesh_bot.py +++ b/mesh_bot.py @@ -42,6 +42,8 @@ def auto_response(message, snr, rssi, hop, pkiStatus, message_from_id, channel_n "blackjack": lambda: handleBlackJack(message, message_from_id, deviceID), "checkin": lambda: handle_checklist(message, message_from_id, deviceID), "checklist": lambda: handle_checklist(message, message_from_id, deviceID), + "checklistapprove": lambda: handle_checklist(message, message_from_id, deviceID), + "checklistdeny": lambda: handle_checklist(message, message_from_id, deviceID), "checkout": lambda: handle_checklist(message, message_from_id, deviceID), "chess": lambda: handle_gTnW(chess=True), "clearsms": lambda: handle_sms(message_from_id, message), @@ -65,6 +67,21 @@ def auto_response(message, snr, rssi, hop, pkiStatus, message_from_id, channel_n "history": lambda: handle_history(message, message_from_id, deviceID, isDM), "howfar": lambda: handle_howfar(message, message_from_id, deviceID, isDM), "howtall": lambda: handle_howtall(message, message_from_id, deviceID, isDM), + "item": lambda: handle_inventory(message, message_from_id, deviceID), + "itemadd": lambda: handle_inventory(message, message_from_id, deviceID), + "itemlist": lambda: handle_inventory(message, message_from_id, deviceID), + "itemremove": lambda: handle_inventory(message, message_from_id, deviceID), + "itemreset": lambda: handle_inventory(message, message_from_id, deviceID), + "itemreturn": lambda: handle_inventory(message, message_from_id, deviceID), + "itemsell": lambda: handle_inventory(message, message_from_id, deviceID), + "itemstats": lambda: handle_inventory(message, message_from_id, deviceID), + "cart": lambda: handle_inventory(message, message_from_id, deviceID), + "cartadd": lambda: handle_inventory(message, message_from_id, deviceID), + "cartbuy": lambda: handle_inventory(message, message_from_id, deviceID), + "cartclear": lambda: handle_inventory(message, message_from_id, deviceID), + "cartlist": lambda: handle_inventory(message, message_from_id, deviceID), + "cartremove": lambda: handle_inventory(message, message_from_id, deviceID), + "cartsell": lambda: handle_inventory(message, message_from_id, deviceID), "joke": lambda: tell_joke(message_from_id), "leaderboard": lambda: get_mesh_leaderboard(message, message_from_id, deviceID), "lemonstand": lambda: handleLemonade(message, message_from_id, deviceID), @@ -1189,6 +1206,10 @@ def handle_checklist(message, message_from_id, deviceID): location = get_node_location(message_from_id, deviceID) return process_checklist_command(message_from_id, message, name, location) +def handle_inventory(message, message_from_id, deviceID): + name = get_name_from_number(message_from_id, 'short', deviceID) + return process_inventory_command(message_from_id, message, name) + def handle_bbspost(message, message_from_id, deviceID): if "$" in message and not "example:" in message: subject = message.split("$")[1].split("#")[0] diff --git a/modules/system.py b/modules/system.py index 6162ed5..e1e312d 100644 --- a/modules/system.py +++ b/modules/system.py @@ -282,6 +282,12 @@ if checklist_enabled: trap_list = trap_list + trap_list_checklist # items checkin, checkout, checklist, purgein, purgeout help_message = help_message + ", checkin, checkout" +# Inventory and POS Configuration +if inventory_enabled: + from modules.inventory import * # from the spudgunman/meshing-around repo + trap_list = trap_list + trap_list_inventory # items item, itemlist, itemsell, etc. + help_message = help_message + ", item, cart" + # Radio Monitor Configuration if radio_detection_enabled: from modules.radio import * # from the spudgunman/meshing-around repo