Send message to HoP and analytics

This commit is contained in:
Joseph Ferano 2022-05-10 18:09:11 +07:00
parent 6106ff81c2
commit caf902725b
2 changed files with 17 additions and 9 deletions

View File

@ -108,19 +108,19 @@ let sellItemCommand (discordMember : DiscordMember) store =
]
track "Sell Item Command Invoked" discordMember.Id data
let buyWeaponButton (discordMember : DiscordMember) itemName itemPrice =
let buyItemButton (discordMember : DiscordMember) itemName itemPrice =
let data = [
"user_display_name" , discordMember.Username
"weapon_name" , itemName
"weapon_price" , string itemPrice
"item_name" , itemName
"item_price" , string itemPrice
]
track "Buy Weapon Button Clicked" discordMember.Id data
let sellWeaponButton (discordMember : DiscordMember) (weapon : Item) price =
let sellItemButton (discordMember : DiscordMember) (item : Item) price =
let data = [
"user_display_name" , discordMember.Username
"weapon_name" , weapon.Name
"weapon_price" , string price
"item_name" , item.Name
"item_price" , string price
]
track "Sell Weapon Button Clicked" discordMember.Id data

View File

@ -161,7 +161,7 @@ let purchaseItemEmbed quantity (item : Item) =
embed.Title <- $"Purchased {quantity}x {item.Name}"
match item.Type with
| ItemType.Jpeg ->
embed.Description <- $"Congratulations! You are in the draw for the {item.Name}. The winner will be announced soon in the <#{GuildEnvironment.channelGiveaway}>"
embed.Description <- $"Congratulations! You are in the draw for the {item.Name}.\n\nThe winner will be announced soon in the <#{GuildEnvironment.channelGiveaway}>"
embed.ImageUrl <- item.ImageUrl
embed.Thumbnail <- DiscordEmbedBuilder.EmbedThumbnail()
embed.Thumbnail.Url <- item.IconUrl
@ -261,7 +261,15 @@ let handleBuyItem (ctx : IDiscordContext) itemId =
| _ -> ()
builder.AddEmbed(embed) |> ignore
do! ctx.FollowUp builder |> Async.AwaitTask
do! Analytics.buyWeaponButton (ctx.GetDiscordMember()) item.Name price
let builder = DiscordMessageBuilder()
builder.WithContent($"{player.Name} just purchased {item.Name}!") |> ignore
let channel = ctx.GetGuild().GetChannel(GuildEnvironment.channelEventsHackerBattle)
do! channel.SendMessageAsync(builder)
|> Async.AwaitTask
|> Async.Ignore
do! Analytics.buyItemButton (ctx.GetDiscordMember()) item.Id price
})
})
@ -279,7 +287,7 @@ let handleSell (ctx : IDiscordContext) itemId =
DbService.removeFromPlayerInventory player.DiscordId item |> Async.Ignore
DbService.removeShieldEvent player.DiscordId itemId |> Async.Ignore
sendFollowUpMessage ctx $"Sold {item.Name} for {price}! New Balance: {player.Bank + price}"
Analytics.sellWeaponButton (ctx.GetDiscordMember()) item price ]
Analytics.sellItemButton (ctx.GetDiscordMember()) item price ]
|> Async.Parallel
|> Async.Ignore
| _ -> ()