X-Git-Url: https://us-delaporte.pagekite.me/gitweb/matrix-shop-bot.git/blobdiff_plain/d0f8d69f2d4aa2a1af67baae391663d9bb72c729..db78747293274faf1defe9a16d66baedfdef0aa3:/matrix_shop_bot/bot.py diff --git a/matrix_shop_bot/bot.py b/matrix_shop_bot/bot.py index 8a25f53..0e898e6 100644 --- a/matrix_shop_bot/bot.py +++ b/matrix_shop_bot/bot.py @@ -30,8 +30,13 @@ async def do_shop(match): add - add an item to shop for add-store - add a store assign STORE_ID ITEM_ID - plan to shop for at store for item + buy - mark item as purchased + 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-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) setup - run one time database setup ''' @@ -49,6 +54,23 @@ async def do_shop(match): result = Data().add_store(new) return [f'Store added with id {result}'] + if match.command('assign'): + store_id = int(match.args()[1]) + item_id = int(match.args()[2]) + result = Data().assign_store(store_id, item_id) + return result + + if match.command('buy'): + item_id = ' '.join(match.args()[1:]) + Data().purchase_item(item_id) + + if match.command('clear'): + store_id = ' '.join(match.args()[1:]) + Data().clear_list(store_id) + + if match.command('clear-all'): + store_id = ' '.join(match.args()[1:]) + Data().clear_list(store_id, clear_all=True) if match.command('list'): items = Data().get_shopping_list(store_id) @@ -56,17 +78,25 @@ async def do_shop(match): 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() for item in items: results.append(str(item)) return results - if match.command('assign'): - store_id = int(match.args()[1]) - item_id = int(match.args()[2]) - result = Data().assign_store(store_id, item_id) - return result + if match.command('remove-item'): + item_id = ' '.join(match.args()[1:]) + Data().remove_item(item_id) + + if match.command('remove-store'): + store_id = ' '.join(match.args()[1:]) + Data().remove_store(store_id) return [do_shop.__doc__]