Filter out unlisted items from inventory
This commit is contained in:
parent
a3ee9bbc1a
commit
21e23b9bdb
@ -120,6 +120,25 @@ let getStoreItems (storeId : string) =
|
||||
})
|
||||
|> Async.AwaitTask
|
||||
|
||||
let getAllActiveStoreItems () =
|
||||
connStr
|
||||
|> Sql.connect
|
||||
|> Sql.query """
|
||||
SELECT store_id,stock,available,limit_stock,i.id,name,description,icon_url,image_url,category,
|
||||
buy_price,sell_price,rate_limit,expiration,drop_chance,can_trade,can_consume,attack_power,defense_power,class_name,max_stack,mods
|
||||
FROM store_item
|
||||
JOIN item i on store_item.item_id = i.id
|
||||
WHERE store_item.unlisted = false
|
||||
"""
|
||||
|> Sql.executeAsync (fun reader -> {
|
||||
StoreId = reader.string "store_id"
|
||||
Stock = reader.int "stock"
|
||||
LimitStock = reader.bool "limit_stock"
|
||||
Available = reader.bool "available"
|
||||
StoreItem.Item = readItem reader
|
||||
})
|
||||
|> Async.AwaitTask
|
||||
|
||||
let getStoreItemBySymbol (itemSymbol : string) =
|
||||
connStr
|
||||
|> Sql.connect
|
||||
|
@ -195,10 +195,11 @@ let getSellEmbed (items : Inventory) =
|
||||
.AsEphemeral(true)
|
||||
|
||||
let showJpegsEmbed (ctx : IDiscordContext) = PlayerInteractions.executePlayerAction ctx (fun player -> async {
|
||||
let! storeItems = DbService.getAllActiveStoreItems ()
|
||||
let jpegs =
|
||||
player.Inventory
|
||||
|> Inventory.getItemsByType ItemType.Jpeg
|
||||
|> List.map (fun i -> { StoreId = "BACKALLEY" ; Item = i ; Stock = 1 ; LimitStock = false ; Available = true })
|
||||
|> List.choose (fun ii -> storeItems |> List.tryFind (fun si -> si.Item.Id = ii.Id))
|
||||
match jpegs with
|
||||
| [] -> do! Messaging.sendFollowUpMessage ctx $"You currently do not own any jpegs or raffle tickets. Go to <#{GuildEnvironment.channelBackAlley}> to buy some"
|
||||
| jpegs ->
|
||||
|
Loading…
x
Reference in New Issue
Block a user