Option to re-buy items

This commit is contained in:
Shy 2024-08-27 17:18:23 +02:00
parent 590ccdec1f
commit 3c2ddf20e1

17
c4mate
View file

@ -271,6 +271,17 @@ function MatePad:buy(id)
url_encode(self.USER), id, self.token)) url_encode(self.USER), id, self.token))
end end
-- Return id of last bought item in log.
function MatePad:last_bought()
local log = self:parse_log()
for i = 1, #log do
if log[i].method == "buy" then
return log[i].parameter
end
end
return nil
end
-- Set new balance (in cents). -- Set new balance (in cents).
function MatePad:set_balance(amount) function MatePad:set_balance(amount)
return self:fetch(string.format( return self:fetch(string.format(
@ -301,14 +312,14 @@ Display current balance:
c4mate c4mate
Find and buy item (interactive): Find and buy item (interactive):
c4mate <query> c4mate <query>
Buy by item id (non-interactive): Buy by item id (non-interactive, special id '0' will re-buy last item in log):
c4mate -b|--buy <id> c4mate -b|--buy <id>
Show log: Show log:
c4mate -l|--log c4mate -l|--log
Add or subtract credits: Add or subtract credits:
c4mate +/-<amount> c4mate +/-<amount>
Give credits: Give credits:
c4mate -g <amount> <user> [<reason>]]=]) c4mate -g|--give <amount> <user> [<reason>]]=])
os.exit(0) os.exit(0)
end end
@ -373,6 +384,8 @@ elseif arg[1] == "-b" or arg[1] == "--buy" then
return return
end end
if id == 0 then id = pad:last_bought() end
pad:init() pad:init()
if pad:buy(id) == "OK" then if pad:buy(id) == "OK" then
pad:update_balance() pad:update_balance()