Disable buttons
This commit is contained in:
parent
ff75ed15d0
commit
3d490c8754
@ -100,15 +100,15 @@ let asdf _ (event : DSharpPlus.EventArgs.InteractionCreateEventArgs) =
|
|||||||
} |> Async.StartAsTask
|
} |> Async.StartAsTask
|
||||||
:> Task
|
:> Task
|
||||||
//hackerBattleBot.add_InteractionCreated(AsyncEventHandler(asdf))
|
//hackerBattleBot.add_InteractionCreated(AsyncEventHandler(asdf))
|
||||||
|
hackerBattleBot.ConnectAsync() |> Async.AwaitTask |> Async.RunSynchronously
|
||||||
|
GuildEnvironment.botClientHacker <- Some hackerBattleBot
|
||||||
|
|
||||||
jpegBot.ConnectAsync() |> Async.AwaitTask |> Async.RunSynchronously
|
jpegBot.ConnectAsync() |> Async.AwaitTask |> Async.RunSynchronously
|
||||||
GuildEnvironment.botClientJpeg <- Some jpegBot
|
GuildEnvironment.botClientJpeg <- Some jpegBot
|
||||||
|
|
||||||
storeBot.ConnectAsync() |> Async.AwaitTask |> Async.RunSynchronously
|
storeBot.ConnectAsync() |> Async.AwaitTask |> Async.RunSynchronously
|
||||||
GuildEnvironment.botClientStore <- Some storeBot
|
GuildEnvironment.botClientStore <- Some storeBot
|
||||||
|
|
||||||
hackerBattleBot.ConnectAsync() |> Async.AwaitTask |> Async.RunSynchronously
|
|
||||||
GuildEnvironment.botClientHacker <- Some hackerBattleBot
|
|
||||||
|
|
||||||
adminBot.ConnectAsync() |> Async.AwaitTask |> Async.RunSynchronously
|
adminBot.ConnectAsync() |> Async.AwaitTask |> Async.RunSynchronously
|
||||||
|
|
||||||
inviterBot.ConnectAsync() |> Async.AwaitTask |> Async.RunSynchronously
|
inviterBot.ConnectAsync() |> Async.AwaitTask |> Async.RunSynchronously
|
||||||
|
@ -128,7 +128,6 @@ let hackerResult successfulHack (ctx : IDiscordContext) attacker defender (hack
|
|||||||
do! updateEvents successfulHack attacker defender hack
|
do! updateEvents successfulHack attacker defender hack
|
||||||
|
|
||||||
let! defenderMember = ctx.GetGuild().GetMemberAsync(defender.DiscordId) |> Async.AwaitTask
|
let! defenderMember = ctx.GetGuild().GetMemberAsync(defender.DiscordId) |> Async.AwaitTask
|
||||||
// let failedMsg = $"Hack failed! {defender.Name} was able to mount a successful defense! You lost {lostAmount} 💰$GBT!"
|
|
||||||
let embed = Embeds.responseSuccessfulHack2 successfulHack attacker defender (ctx.GetDiscordMember()) defenderMember prizeAmount bonus hack
|
let embed = Embeds.responseSuccessfulHack2 successfulHack attacker defender (ctx.GetDiscordMember()) defenderMember prizeAmount bonus hack
|
||||||
do! ctx.GetChannel().SendMessageAsync(embed)
|
do! ctx.GetChannel().SendMessageAsync(embed)
|
||||||
|> Async.AwaitTask
|
|> Async.AwaitTask
|
||||||
|
@ -3,6 +3,7 @@ module Degenz.PlayerInteractions
|
|||||||
open System.Threading.Tasks
|
open System.Threading.Tasks
|
||||||
open DSharpPlus
|
open DSharpPlus
|
||||||
open DSharpPlus.Entities
|
open DSharpPlus.Entities
|
||||||
|
open DSharpPlus.EventArgs
|
||||||
open Degenz.Messaging
|
open Degenz.Messaging
|
||||||
open Degenz.DbService
|
open Degenz.DbService
|
||||||
|
|
||||||
@ -19,8 +20,20 @@ let executePlayerAction (ctx : IDiscordContext) (dispatch : PlayerData -> Async<
|
|||||||
|
|
||||||
let executePlayerActionNoMsg (ctx : IDiscordContext) (dispatch : PlayerData -> Async<unit>) =
|
let executePlayerActionNoMsg (ctx : IDiscordContext) (dispatch : PlayerData -> Async<unit>) =
|
||||||
async {
|
async {
|
||||||
let builder = DiscordInteractionResponseBuilder().AsEphemeral(true)
|
let eventCtx = ctx.GetContext() :?> ComponentInteractionCreateEventArgs
|
||||||
do! ctx.Respond(InteractionResponseType.DeferredMessageUpdate, builder) |> Async.AwaitTask
|
|
||||||
|
let disabledButtons =
|
||||||
|
eventCtx.Message.Components
|
||||||
|
|> Seq.map (fun c -> c.Components |> Seq.cast<DiscordButtonComponent>)
|
||||||
|
|> Seq.concat
|
||||||
|
|> Seq.map (fun btn -> DiscordButtonComponent(btn.Style, btn.CustomId, btn.Label, disabled = true))
|
||||||
|
|> Seq.cast<DiscordComponent>
|
||||||
|
|
||||||
|
let builder = DiscordInteractionResponseBuilder()
|
||||||
|
.AddEmbeds(eventCtx.Message.Embeds)
|
||||||
|
.AddComponents(disabledButtons)
|
||||||
|
|
||||||
|
do! ctx.Respond(InteractionResponseType.UpdateMessage, builder) |> Async.AwaitTask
|
||||||
let! playerResult = tryFindPlayer (ctx.GetDiscordMember().Id)
|
let! playerResult = tryFindPlayer (ctx.GetDiscordMember().Id)
|
||||||
match playerResult with
|
match playerResult with
|
||||||
| Some player -> do! dispatch player
|
| Some player -> do! dispatch player
|
||||||
|
Loading…
x
Reference in New Issue
Block a user