diff --git a/SlotMachine/SlotMachine.fs b/SlotMachine/SlotMachine.fs index 9f4fca4..f491733 100644 --- a/SlotMachine/SlotMachine.fs +++ b/SlotMachine/SlotMachine.fs @@ -1,9 +1,11 @@ +open System open System.Threading.Tasks open DSharpPlus open DSharpPlus.Entities open DSharpPlus.SlashCommands -open Emzi0767.Utilities -open DegenzGame.Shared +open System.IO + +let slots = [| "https://i.ibb.co/pKqZdr7/cherry.png" ; "https://i.ibb.co/Mk8wQmv/lemon.jpg" ; "https://i.ibb.co/1JTFPSs/seven.png" |] type EmptyGlobalCommandToAvoidFamousDuplicateSlashCommandsBug() = inherit ApplicationCommandModule () @@ -12,7 +14,48 @@ type SlotMachine() = [] member this.AttackCommand (ctx : InteractionContext) = - () + async { + let sleepTime = 1000 + let random = Random(System.Guid.NewGuid().GetHashCode()) + let results = [ random.Next(0, 3) ; random.Next(0, 3) ; random.Next(0, 3)] + + do! ctx.Interaction.CreateResponseAsync(InteractionResponseType.DeferredChannelMessageWithSource) + |> Async.AwaitTask + + do! Async.Sleep sleepTime + let builder = DiscordFollowupMessageBuilder() + let embed = DiscordEmbedBuilder() + embed.ImageUrl <- slots.[results.[0]] + builder.AddEmbed(embed.Build()) |> ignore + do! ctx.Interaction.CreateFollowupMessageAsync(builder) + |> Async.AwaitTask + |> Async.Ignore + + do! Async.Sleep sleepTime + let builder = DiscordFollowupMessageBuilder() + embed.ImageUrl <- slots.[results.[1]] + builder.AddEmbed(embed.Build()) |> ignore + do! ctx.Interaction.CreateFollowupMessageAsync(builder) + |> Async.AwaitTask + |> Async.Ignore + + do! Async.Sleep sleepTime + let builder = DiscordFollowupMessageBuilder() + embed.ImageUrl <- slots.[results.[2]] + builder.AddEmbed(embed.Build()) |> ignore + do! ctx.Interaction.CreateFollowupMessageAsync(builder) + |> Async.AwaitTask + |> Async.Ignore + + do! Async.Sleep sleepTime + let builder = DiscordFollowupMessageBuilder() + builder.Content <- "You win!" + do! ctx.Interaction.CreateFollowupMessageAsync(builder) + |> Async.AwaitTask + |> Async.Ignore + + } |> Async.StartAsTask + :> Task let config = DiscordConfiguration() config.Token <- "OTMyMzQ3NzQ1NDE3NzE1ODE0.YeRqgA.PHandjk0jQGIxlM8NlqKc7cJD3s"