Clean up a little
This commit is contained in:
parent
0b5ada0e90
commit
6db2a23fc3
@ -75,17 +75,16 @@ let slotsImages =
|
||||
"./images/sushi.png" |]
|
||||
|> Array.map (fun path -> ( Path.GetFileNameWithoutExtension(path) , File.OpenRead(path) ))
|
||||
|
||||
let payTable = [|
|
||||
|]
|
||||
let payTable = [| |]
|
||||
|
||||
let PlayPrice = 10<GBT>
|
||||
let twoOfAKindPrize = 100<GBT>
|
||||
let threeOfAKindPrize = 1000<GBT>
|
||||
let fourOfAKindPrize = 10000<GBT>
|
||||
let sleepTime = 1000
|
||||
|
||||
let spinEmbeds (results : int array) (ctx : IDiscordContext) =
|
||||
async {
|
||||
let iCtx = ctx.GetInteraction()
|
||||
let itx = ctx.GetInteraction()
|
||||
|
||||
let builder = DiscordFollowupMessageBuilder()
|
||||
|
||||
@ -96,62 +95,61 @@ let spinEmbeds (results : int array) (ctx : IDiscordContext) =
|
||||
let e2 = DiscordEmbedBuilder().WithImageUrl(slots.[results[1]])
|
||||
let e3 = DiscordEmbedBuilder().WithImageUrl(slots.[results[2]])
|
||||
|
||||
let! followUp = iCtx.CreateFollowupMessageAsync(builder) |> Async.AwaitTask
|
||||
do! Async.Sleep 1000
|
||||
let! _ = iCtx.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder().AddEmbeds([ e1.Build() ])) |> Async.AwaitTask
|
||||
do! Async.Sleep 1000
|
||||
let! _ = iCtx.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder().AddEmbeds([ e1.Build() ; e2.Build() ])) |> Async.AwaitTask
|
||||
do! Async.Sleep 1000
|
||||
let! _ = iCtx.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder().AddEmbeds([ e1.Build() ; e2.Build() ; e3.Build() ])) |> Async.AwaitTask
|
||||
do! Async.Sleep 1000
|
||||
let! _ = iCtx.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder().AddEmbeds([ e1.Build() ; e2.Build() ; e3.Build() ])) |> Async.AwaitTask
|
||||
let! followUp = itx.CreateFollowupMessageAsync(builder) |> Async.AwaitTask
|
||||
do! Async.Sleep sleepTime
|
||||
let! _ = itx.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder().AddEmbeds([ e1.Build() ])) |> Async.AwaitTask
|
||||
do! Async.Sleep sleepTime
|
||||
let! _ = itx.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder().AddEmbeds([ e1.Build() ; e2.Build() ])) |> Async.AwaitTask
|
||||
do! Async.Sleep sleepTime
|
||||
let! _ = itx.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder().AddEmbeds([ e1.Build() ; e2.Build() ; e3.Build() ])) |> Async.AwaitTask
|
||||
do! Async.Sleep sleepTime
|
||||
let! _ = itx.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder().AddEmbeds([ e1.Build() ; e2.Build() ; e3.Build() ])) |> Async.AwaitTask
|
||||
|
||||
return ()
|
||||
}
|
||||
|
||||
let spinEmojis (results : int array) (ctx : IDiscordContext) =
|
||||
async {
|
||||
let inter = ctx.GetInteraction()
|
||||
let itx = ctx.GetInteraction()
|
||||
let emojis = ctx.GetGuild().Emojis |> Seq.map (fun kvp -> kvp.Value) |> Seq.toArray
|
||||
let builder = DiscordFollowupMessageBuilder()
|
||||
|
||||
builder.Content <- "Spinning!"
|
||||
builder.IsEphemeral <- true
|
||||
let! followUp = inter.CreateFollowupMessageAsync(builder) |> Async.AwaitTask
|
||||
let! followUp = itx.CreateFollowupMessageAsync(builder) |> Async.AwaitTask
|
||||
|
||||
do! Async.Sleep 1000
|
||||
do! Async.Sleep sleepTime
|
||||
let content = $"{Formatter.Emoji(emojis.[results.[0]])}"
|
||||
let! _ = inter.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder().WithContent(content)) |> Async.AwaitTask
|
||||
do! Async.Sleep 1000
|
||||
let! _ = itx.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder().WithContent(content)) |> Async.AwaitTask
|
||||
do! Async.Sleep sleepTime
|
||||
let content = $"{Formatter.Emoji(emojis.[results.[0]])}{Formatter.Emoji(emojis.[results.[1]])}"
|
||||
let! _ = inter.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder().WithContent(content)) |> Async.AwaitTask
|
||||
do! Async.Sleep 1000
|
||||
let! _ = itx.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder().WithContent(content)) |> Async.AwaitTask
|
||||
do! Async.Sleep sleepTime
|
||||
let content = $"{Formatter.Emoji(emojis.[results.[0]])}{Formatter.Emoji(emojis.[results.[1]])}{Formatter.Emoji(emojis.[results.[2]])}"
|
||||
let! _ = inter.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder().WithContent(content)) |> Async.AwaitTask
|
||||
let! _ = itx.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder().WithContent(content)) |> Async.AwaitTask
|
||||
return ()
|
||||
}
|
||||
|
||||
let spinFiles (results : int array) (ctx : IDiscordContext) =
|
||||
async {
|
||||
let inter = ctx.GetInteraction()
|
||||
let emojis = ctx.GetGuild().Emojis |> Seq.map (fun kvp -> kvp.Value) |> Seq.toArray
|
||||
let itx = ctx.GetInteraction()
|
||||
let builder = DiscordFollowupMessageBuilder()
|
||||
|
||||
builder.Content <- "Spinning!"
|
||||
builder.IsEphemeral <- true
|
||||
let! followUp = inter.CreateFollowupMessageAsync(builder) |> Async.AwaitTask
|
||||
let! followUp = itx.CreateFollowupMessageAsync(builder) |> Async.AwaitTask
|
||||
|
||||
do! Async.Sleep 1000
|
||||
do! Async.Sleep sleepTime
|
||||
let ( name , stream ) = slotsImages.[results.[0]]
|
||||
let! _ = inter.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder()
|
||||
let! _ = itx.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder()
|
||||
.AddFile(name + "1.png", stream)) |> Async.AwaitTask
|
||||
do! Async.Sleep 1000
|
||||
do! Async.Sleep sleepTime
|
||||
let ( name , stream ) = slotsImages.[results.[1]]
|
||||
let! _ = inter.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder()
|
||||
let! _ = itx.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder()
|
||||
.AddFile(name + "2.png", stream)) |> Async.AwaitTask
|
||||
do! Async.Sleep 1000
|
||||
do! Async.Sleep sleepTime
|
||||
let ( name , stream ) = slotsImages.[results.[2]]
|
||||
let! _ = inter.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder()
|
||||
let! _ = itx.EditFollowupMessageAsync(followUp.Id, DiscordWebhookBuilder()
|
||||
.AddFile(name + "3.png", stream)) |> Async.AwaitTask
|
||||
return ()
|
||||
}
|
||||
@ -163,7 +161,6 @@ let spin spinType (ctx : IDiscordContext) =
|
||||
let results = [| random.Next(0, slotCount) ; random.Next(0, slotCount) ; random.Next(0, slotCount) |]
|
||||
|
||||
let winConditions = (results.[0] = results.[1] && results.[0] = results.[2])
|
||||
|| (results.[0] <> results.[1] && results.[1] <> results.[2] && results.[0] <> results.[2])
|
||||
|
||||
if winConditions
|
||||
then do! DbService.updatePlayerCurrency twoOfAKindPrize player |> Async.Ignore
|
||||
@ -175,24 +172,17 @@ let spin spinType (ctx : IDiscordContext) =
|
||||
| "Files" -> do! spinFiles results ctx
|
||||
| _ -> ()
|
||||
|
||||
do! Async.Sleep sleepTime
|
||||
let builder = DiscordFollowupMessageBuilder()
|
||||
builder.IsEphemeral <- true
|
||||
let embed4 = DiscordEmbedBuilder()
|
||||
embed4.Title <- "Slot Machine"
|
||||
embed4.Description <- "You hit the jackpot!"
|
||||
|
||||
// if winConditions then
|
||||
// do! Async.Sleep sleepTime
|
||||
// let builder = DiscordFollowupMessageBuilder()
|
||||
// builder.Content <- "You win 10 GBT!"
|
||||
// do! ctx.FollowUp(builder)
|
||||
// |> Async.AwaitTask
|
||||
// |> Async.Ignore
|
||||
// else
|
||||
// do! Async.Sleep sleepTime
|
||||
// let builder = DiscordFollowupMessageBuilder()
|
||||
// builder.Content <- "You lose 0.5 GBT! Try your luck again!"
|
||||
// do! ctx.FollowUp(builder)
|
||||
// |> Async.AwaitTask
|
||||
// |> Async.Ignore
|
||||
if winConditions then
|
||||
embed4.Description <- $"You win {threeOfAKindPrize} GBT!"
|
||||
else
|
||||
builder.Content <- "Better luck next time! You paid 1 $GBT"
|
||||
builder.AddEmbed(embed4) |> ignore
|
||||
do! ctx.FollowUp(builder) |> Async.AwaitTask |> Async.Ignore
|
||||
|
||||
return ()
|
||||
})
|
||||
@ -231,21 +221,3 @@ let sendInitialEmbed (ctx : IDiscordContext) =
|
||||
with e ->
|
||||
printfn $"Error trying to get channel Training Dojo\n\n{e.Message}"
|
||||
} |> Async.RunSynchronously
|
||||
|
||||
//type SlotMachine() =
|
||||
// inherit ApplicationCommandModule ()
|
||||
//
|
||||
// let enforceChannel (ctx : IDiscordContext) (spinFn : IDiscordContext -> Task) =
|
||||
// match ctx.GetChannel().Id with
|
||||
// | id when id = GuildEnvironment.channelSlots -> spinFn ctx
|
||||
// | _ ->
|
||||
// task {
|
||||
// let msg = $"You must go to <#{GuildEnvironment.channelSlots}> channel to play the slots!"
|
||||
// do! Messaging.sendSimpleResponse ctx msg
|
||||
// }
|
||||
//
|
||||
// [<SlashCommand("spin", "Want to try your luck?")>]
|
||||
// member this.Spin (ctx : InteractionContext) = enforceChannel (DiscordInteractionContext ctx) spinCommand
|
||||
//
|
||||
// [<SlashCommand("spin-simple", "Want to try your luck?")>]
|
||||
// member this.SpinSimple (ctx : InteractionContext) = enforceChannel (DiscordInteractionContext ctx) spin
|
||||
|
Loading…
x
Reference in New Issue
Block a user