From 6e0d30426628d711b9c6c62c4e01cc35e7f95c26 Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Wed, 18 May 2022 00:45:01 +0700 Subject: [PATCH] Analytics, call dispatch first --- Bot/Analytics.fs | 12 ++++++++++++ Bot/Games/Store.fs | 3 +-- Bot/InviteTracker.fs | 3 +++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Bot/Analytics.fs b/Bot/Analytics.fs index d1c9c5f..6a95654 100644 --- a/Bot/Analytics.fs +++ b/Bot/Analytics.fs @@ -141,3 +141,15 @@ let slotPlayed (discordMember : DiscordMember) amount result prize = "prize" , string prize ] 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 diff --git a/Bot/Games/Store.fs b/Bot/Games/Store.fs index b8b4370..77d3e80 100644 --- a/Bot/Games/Store.fs +++ b/Bot/Games/Store.fs @@ -247,6 +247,7 @@ let handleBuyItem (dispatch : IDiscordContext -> Task) (ctx : IDiscordContext) i >>= checkDoesntExceedStackCap item |> handleResultWithResponse ctx (fun player -> async { let price = match item.Attributes with CanBuy price -> price | _ -> 0 + do! dispatch ctx |> Async.AwaitTask do! DbService.updatePlayerCurrency -price player.DiscordId |> Async.Ignore do! DbService.addToPlayerInventory player.DiscordId item |> Async.Ignore if storeItem.LimitStock = true && storeItem.Stock > 0 then @@ -264,8 +265,6 @@ let handleBuyItem (dispatch : IDiscordContext -> Task) (ctx : IDiscordContext) i builder.AddEmbed(embed) |> ignore do! ctx.FollowUp builder |> Async.AwaitTask - do! dispatch ctx |> Async.AwaitTask - let builder = DiscordMessageBuilder() builder.WithContent($"{player.Name} just purchased {item.Name}!") |> ignore let channel = ctx.GetGuild().GetChannel(GuildEnvironment.channelEventsHackerBattle) diff --git a/Bot/InviteTracker.fs b/Bot/InviteTracker.fs index 189e1b7..dbc4193 100644 --- a/Bot/InviteTracker.fs +++ b/Bot/InviteTracker.fs @@ -464,10 +464,13 @@ Keep an eye on <#{GuildEnvironment.channelAnnouncements}> for updates. do! channel.SendMessageAsync(builder) |> Async.AwaitTask |> Async.Ignore + do! Analytics.walletSubmit (ctx.GetDiscordMember()) else do! Messaging.sendSimpleResponse ctx "⚠️ That's not a valid Solana address, please try again" + do! Analytics.invalidWalletSubmit (ctx.GetDiscordMember()) with _ -> do! Messaging.sendSimpleResponse ctx "⚠️ That's not a valid Solana address, please try again" + do! Analytics.invalidWalletSubmit (ctx.GetDiscordMember()) } :> Task type Inviter() =