Analytics, call dispatch first
This commit is contained in:
parent
a9e00c0436
commit
6e0d304266
@ -141,3 +141,15 @@ let slotPlayed (discordMember : DiscordMember) amount result prize =
|
|||||||
"prize" , string prize
|
"prize" , string prize
|
||||||
]
|
]
|
||||||
track "Slots Played" discordMember.Id data
|
track "Slots Played" discordMember.Id data
|
||||||
|
|
||||||
|
let walletSubmit (discordMember : DiscordMember) =
|
||||||
|
let data = [
|
||||||
|
"user_display_name" , discordMember.Username
|
||||||
|
]
|
||||||
|
track "Wallet Submitted" discordMember.Id data
|
||||||
|
|
||||||
|
let invalidWalletSubmit (discordMember : DiscordMember) =
|
||||||
|
let data = [
|
||||||
|
"user_display_name" , discordMember.Username
|
||||||
|
]
|
||||||
|
track "Invalid Wallet Submitted" discordMember.Id data
|
||||||
|
@ -247,6 +247,7 @@ let handleBuyItem (dispatch : IDiscordContext -> Task) (ctx : IDiscordContext) i
|
|||||||
>>= checkDoesntExceedStackCap item
|
>>= checkDoesntExceedStackCap item
|
||||||
|> handleResultWithResponse ctx (fun player -> async {
|
|> handleResultWithResponse ctx (fun player -> async {
|
||||||
let price = match item.Attributes with CanBuy price -> price | _ -> 0<GBT>
|
let price = match item.Attributes with CanBuy price -> price | _ -> 0<GBT>
|
||||||
|
do! dispatch ctx |> Async.AwaitTask
|
||||||
do! DbService.updatePlayerCurrency -price player.DiscordId |> Async.Ignore
|
do! DbService.updatePlayerCurrency -price player.DiscordId |> Async.Ignore
|
||||||
do! DbService.addToPlayerInventory player.DiscordId item |> Async.Ignore
|
do! DbService.addToPlayerInventory player.DiscordId item |> Async.Ignore
|
||||||
if storeItem.LimitStock = true && storeItem.Stock > 0 then
|
if storeItem.LimitStock = true && storeItem.Stock > 0 then
|
||||||
@ -264,8 +265,6 @@ let handleBuyItem (dispatch : IDiscordContext -> Task) (ctx : IDiscordContext) i
|
|||||||
builder.AddEmbed(embed) |> ignore
|
builder.AddEmbed(embed) |> ignore
|
||||||
do! ctx.FollowUp builder |> Async.AwaitTask
|
do! ctx.FollowUp builder |> Async.AwaitTask
|
||||||
|
|
||||||
do! dispatch ctx |> Async.AwaitTask
|
|
||||||
|
|
||||||
let builder = DiscordMessageBuilder()
|
let builder = DiscordMessageBuilder()
|
||||||
builder.WithContent($"{player.Name} just purchased {item.Name}!") |> ignore
|
builder.WithContent($"{player.Name} just purchased {item.Name}!") |> ignore
|
||||||
let channel = ctx.GetGuild().GetChannel(GuildEnvironment.channelEventsHackerBattle)
|
let channel = ctx.GetGuild().GetChannel(GuildEnvironment.channelEventsHackerBattle)
|
||||||
|
@ -464,10 +464,13 @@ Keep an eye on <#{GuildEnvironment.channelAnnouncements}> for updates.
|
|||||||
do! channel.SendMessageAsync(builder)
|
do! channel.SendMessageAsync(builder)
|
||||||
|> Async.AwaitTask
|
|> Async.AwaitTask
|
||||||
|> Async.Ignore
|
|> Async.Ignore
|
||||||
|
do! Analytics.walletSubmit (ctx.GetDiscordMember())
|
||||||
else
|
else
|
||||||
do! Messaging.sendSimpleResponse ctx "⚠️ That's not a valid Solana address, please try again"
|
do! Messaging.sendSimpleResponse ctx "⚠️ That's not a valid Solana address, please try again"
|
||||||
|
do! Analytics.invalidWalletSubmit (ctx.GetDiscordMember())
|
||||||
with _ ->
|
with _ ->
|
||||||
do! Messaging.sendSimpleResponse ctx "⚠️ That's not a valid Solana address, please try again"
|
do! Messaging.sendSimpleResponse ctx "⚠️ That's not a valid Solana address, please try again"
|
||||||
|
do! Analytics.invalidWalletSubmit (ctx.GetDiscordMember())
|
||||||
} :> Task
|
} :> Task
|
||||||
|
|
||||||
type Inviter() =
|
type Inviter() =
|
||||||
|
Loading…
x
Reference in New Issue
Block a user