From: Edward Delaporte Date: Sun, 29 Mar 2026 16:12:54 +0000 (-0500) Subject: Fixup X-Git-Tag: 1.1.0~32 X-Git-Url: https://apps.delaporte.us/gitweb/matrix-shop-bot.git/commitdiff_plain/4ad2abf0c5f8cfd91217797946a4a67bca1c94cc?ds=sidebyside Fixup --- diff --git a/app.py b/app.py index 01be94e..eab75c7 100644 --- a/app.py +++ b/app.py @@ -1,8 +1,12 @@ +import os + +import simplematrixbotlib as botlib + from matrix_shop_bot.bot import shop_bot SERVER = os.environ.get('MATRIX_SERVER') -BOT_NAME = os.environ.get('GOAL_BOT') -BOT_PWD = os.environ.get('GOAL_BOT_PWD') +BOT_NAME = os.environ.get('NEW_BOT') +BOT_PWD = os.environ.get('NEW_BOT_PWD') def get_bot(): creds = botlib.Creds(SERVER, BOT_NAME, BOT_PWD) diff --git a/matrix_shop_bot/bot.py b/matrix_shop_bot/bot.py index 0e898e6..12aaf79 100644 --- a/matrix_shop_bot/bot.py +++ b/matrix_shop_bot/bot.py @@ -4,7 +4,7 @@ import os import simplematrixbotlib as botlib -from .db import Data, pretty_print +from .db import Data MODULE='shop' @@ -34,6 +34,7 @@ async def do_shop(match): clear STORE_ID - clear all purchased items for STORE_ID from database clear-all STORE_ID - clear **all** items for STORE_ID from database list STORE_ID - list all items assigned to store + list-stores - list all stores list-unsorted - list all items not assigned to any store remove ITEM_ID - remove a shopping item from the datatbase remove-store STORE_ID - remove a store from the datatbase (requires clearing the list first) @@ -44,6 +45,13 @@ async def do_shop(match): result = Data().setup() return [result] + if match.command('list-stores'): + items = Data().get_stores() + results = ['List of Stores'] + for item in items: + results.append(str(item)) + return results + if match.command('add'): new = ' '.join(match.args()[1:]) result = Data().add_item(new) @@ -58,31 +66,30 @@ async def do_shop(match): store_id = int(match.args()[1]) item_id = int(match.args()[2]) result = Data().assign_store(store_id, item_id) - return result + return [result] if match.command('buy'): item_id = ' '.join(match.args()[1:]) Data().purchase_item(item_id) + return ['Success'] if match.command('clear'): store_id = ' '.join(match.args()[1:]) Data().clear_list(store_id) + return ['Success'] if match.command('clear-all'): store_id = ' '.join(match.args()[1:]) Data().clear_list(store_id, clear_all=True) + return ['Success'] if match.command('list'): + store_id = ' '.join(match.args()[1:]) items = Data().get_shopping_list(store_id) for item in items: results.append(str(item)) return results - if match.command('list-stores'): - items = Data().get_stores() - for item in items: - results.append(str(item)) - return results if match.command('unsorted'): items = Data().list_unsorted() @@ -93,10 +100,12 @@ async def do_shop(match): if match.command('remove-item'): item_id = ' '.join(match.args()[1:]) Data().remove_item(item_id) + return ['Success'] if match.command('remove-store'): store_id = ' '.join(match.args()[1:]) Data().remove_store(store_id) + return ['Success'] return [do_shop.__doc__]