From f25b495089b6c58c454a5f1040f0757872a777ee Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Sat, 2 Apr 2022 15:04:00 +0700 Subject: [PATCH] Finish off analytics for now --- Bot/Analytics.fs | 8 ++++---- Bot/Games/HackerBattle.fs | 15 +++++++++------ Bot/Games/Store.fs | 12 ------------ 3 files changed, 13 insertions(+), 22 deletions(-) diff --git a/Bot/Analytics.fs b/Bot/Analytics.fs index 91902ca..79f8a60 100644 --- a/Bot/Analytics.fs +++ b/Bot/Analytics.fs @@ -121,15 +121,15 @@ let sellWeaponButton (discordMember : DiscordMember) (weapon : ItemDetails) = ] track "Sell Weapon Button Clicked" discordMember.Id data -let hackCommand id name = +let hackCommand (discordMember : DiscordMember) = let data = [ - "user_display_name" , name + "user_display_name" , discordMember.Username ] track "Hack Command Invoked" id data -let shieldCommand id name = +let shieldCommand (discordMember : DiscordMember) = let data = [ - "user_display_name" , name + "user_display_name" , discordMember.Username ] track "Hack Command Invoked" id data diff --git a/Bot/Games/HackerBattle.fs b/Bot/Games/HackerBattle.fs index 69a8c37..aaba90c 100644 --- a/Bot/Games/HackerBattle.fs +++ b/Bot/Games/HackerBattle.fs @@ -148,9 +148,12 @@ let hack (target : DiscordUser) (ctx : IDiscordContext) = >>= checkHasEmptyHacks >>= checkPlayerIsAttackingThemselves defender |> function - | Ok atkr -> + | Ok atkr -> async { let embed = Embeds.pickHack "Attack" atkr defender false - ctx.FollowUp(embed) |> Async.AwaitTask + do! ctx.FollowUp(embed) |> Async.AwaitTask + // TODO: Add a call when it's an error with the error type, must include an error code + do! Analytics.hackCommand (ctx.GetDiscordMember()) + } | Error msg -> sendFollowUpMessage ctx msg }) @@ -188,6 +191,7 @@ let defend (ctx : IDiscordContext) = let p = Player.removeExpiredActions player let embed = Embeds.pickDefense "Defend" p false do! ctx.FollowUp embed |> Async.AwaitTask + do! Analytics.shieldCommand (ctx.GetDiscordMember()) else let msg = $"You currently do not have any Shields to protect yourself from hacks. Please go to the <#{GuildEnvironment.channelTraining}> and purchase one." do! Messaging.sendFollowUpMessage ctx msg @@ -211,16 +215,15 @@ let handleDefense (ctx : IDiscordContext) = Cooldown = shield.Cooldown Timestamp = DateTime.UtcNow } - do! DbService.updatePlayer p - |> Async.Ignore - do! DbService.addPlayerEvent p.DiscordId defense - |> Async.Ignore + do! DbService.updatePlayer p |> Async.Ignore + do! DbService.addPlayerEvent p.DiscordId defense |> Async.Ignore let builder = DiscordMessageBuilder() builder.WithContent($"{ctx.GetDiscordMember().Username} has protected their system!") |> ignore let channel = ctx.GetGuild().GetChannel(GuildEnvironment.channelEventsHackerBattle) do! channel.SendMessageAsync(builder) |> Async.AwaitTask |> Async.Ignore + do! Analytics.shieldActivated (ctx.GetDiscordMember()) shield.Item.Name }) }) diff --git a/Bot/Games/Store.fs b/Bot/Games/Store.fs index eb35ed5..aa63c08 100644 --- a/Bot/Games/Store.fs +++ b/Bot/Games/Store.fs @@ -167,18 +167,6 @@ let handleSell (ctx : IDiscordContext) itemId = }) }) -//let inventory (ctx : IDiscordContext) = -// executePlayerAction ctx (fun player -> async { -// player.Inventory -// |> List.groupBy (fun item -> item.Details) -// }) -// -// -//let consume (ctx : IDiscordContext) = -// executePlayerAction ctx (fun player -> async { -// -// }) - let handleStoreEvents (_ : DiscordClient) (event : ComponentInteractionCreateEventArgs) = let ctx = DiscordEventContext event :> IDiscordContext let id = ctx.GetInteractionId()