Operational

This commit is contained in:
Joseph Ferano 2022-06-21 13:04:11 +07:00
parent 387fc239a6
commit f7814b8f5c
4 changed files with 65 additions and 101 deletions

View File

@ -280,29 +280,20 @@ let arsenal (ctx : IDiscordContext) =
}) })
let handleButtonEvent _ (event : ComponentInteractionCreateEventArgs) = let handleButtonEvent _ (event : ComponentInteractionCreateEventArgs) =
let ctx = DiscordEventContext event :> IDiscordContext let eventCtx = DiscordEventContext event :> IDiscordContext
match event.Id with
| id when id.StartsWith("Attack") -> handleAttack eventCtx
| id when id.StartsWith("Defend") -> handleDefense eventCtx
| id when id.StartsWith("Trainer") -> Trainer.handleButtonEvent eventCtx |> Async.StartAsTask :> Task
| id when id.StartsWith("Steal") -> Thief.handleSteal eventCtx
| id when id.StartsWith("RPS") -> RockPaperScissors.handleRPS eventCtx
| _ ->
task { task {
let builder = DiscordInteractionResponseBuilder() let builder = DiscordInteractionResponseBuilder()
builder.IsEphemeral <- true builder.IsEphemeral <- true
builder.Content <- $"🚀 __Mint Date:__ June 20th 6:30 UTC <t:1655749800:R>" builder.Content <- $"Incorrect Action identifier {eventCtx.GetInteractionId()}"
do! ctx.Respond(InteractionResponseType.ChannelMessageWithSource, builder) |> Async.AwaitTask do! eventCtx.Respond(InteractionResponseType.ChannelMessageWithSource, builder) |> Async.AwaitTask
} : Task }
//let handleButtonEvent _ (event : ComponentInteractionCreateEventArgs) =
// let eventCtx = DiscordEventContext event :> IDiscordContext
// match event.Id with
// | id when id.StartsWith("Attack") -> handleAttack eventCtx
// | id when id.StartsWith("Defend") -> handleDefense eventCtx
// | id when id.StartsWith("Trainer") -> Trainer.handleButtonEvent eventCtx |> Async.StartAsTask :> Task
// | id when id.StartsWith("Steal") -> Thief.handleSteal eventCtx
// | id when id.StartsWith("RPS") -> RockPaperScissors.handleRPS eventCtx
// | _ ->
// task {
// let builder = DiscordInteractionResponseBuilder()
// builder.IsEphemeral <- true
// builder.Content <- $"Incorrect Action identifier {eventCtx.GetInteractionId()}"
// do! eventCtx.Respond(InteractionResponseType.ChannelMessageWithSource, builder) |> Async.AwaitTask
// }
let handleMessageCreated _ (event : MessageCreateEventArgs) = let handleMessageCreated _ (event : MessageCreateEventArgs) =
task { task {

View File

@ -320,28 +320,19 @@ let spin multiplier (ctx : IDiscordContext) =
}) })
let handleButton _ (event : ComponentInteractionCreateEventArgs) = let handleButton _ (event : ComponentInteractionCreateEventArgs) =
let ctx = DiscordEventContext event :> IDiscordContext let ctx = DiscordEventContext event
task { match event.Id with
let builder = DiscordInteractionResponseBuilder() | "spin-1x" -> spin 1 ctx
builder.IsEphemeral <- true | "spin-2x" -> spin 2 ctx
builder.Content <- $"🚀 __Mint Date:__ June 20th 6:30 UTC <t:1655749800:R>" | "spin-3x" -> spin 3 ctx
do! ctx.Respond(InteractionResponseType.ChannelMessageWithSource, builder) |> Async.AwaitTask | "prizes" -> handlePrizeTable ctx
} : Task | _ ->
printfn "Wrong Spin ID"
Task.CompletedTask
|> Async.AwaitTask
|> Async.Start
Task.CompletedTask
//let handleButton _ (event : ComponentInteractionCreateEventArgs) =
// let ctx = DiscordEventContext event
// match event.Id with
// | "spin-1x" -> spin 1 ctx
// | "spin-2x" -> spin 2 ctx
// | "spin-3x" -> spin 3 ctx
// | "prizes" -> handlePrizeTable ctx
// | _ ->
// printfn "Wrong Spin ID"
// Task.CompletedTask
// |> Async.AwaitTask
// |> Async.Start
// Task.CompletedTask
//
let handleMessageCreated _ (event : MessageCreateEventArgs) = let handleMessageCreated _ (event : MessageCreateEventArgs) =
task { task {
if event.Channel.Id = GuildEnvironment.channelSlots && event.Author.Id <> GuildEnvironment.botClientSlots.Value.CurrentUser.Id then if event.Channel.Id = GuildEnvironment.channelSlots && event.Author.Id <> GuildEnvironment.botClientSlots.Value.CurrentUser.Id then

View File

@ -438,33 +438,24 @@ let handleJpegEvents _ (event : ComponentInteractionCreateEventArgs) =
let handleStoreEvents _ (event : ComponentInteractionCreateEventArgs) = let handleStoreEvents _ (event : ComponentInteractionCreateEventArgs) =
let ctx = DiscordEventContext event :> IDiscordContext let ctx = DiscordEventContext event :> IDiscordContext
let id = ctx.GetInteractionId()
let itemId = id.Split("-").[1]
let storeId = id.Split("-").[2]
match id with
| id when id.StartsWith("Buy") -> handleBuyItem (fun _ -> Task.CompletedTask) ctx itemId
| id when id.StartsWith("Sell") -> handleSell ctx itemId
| id when id.StartsWith("ShowHacks") -> buy storeId (Some ItemType.Hack) ctx
| id when id.StartsWith("ShowShields") -> buy storeId (Some ItemType.Shield) ctx
| _ ->
task { task {
let builder = DiscordInteractionResponseBuilder() let builder = DiscordInteractionResponseBuilder()
builder.IsEphemeral <- true builder.IsEphemeral <- true
builder.Content <- $"🚀 __Mint Date:__ June 20th 6:30 UTC <t:1655749800:R>" builder.Content <- $"Incorrect Action identifier {id}"
do! ctx.Respond(InteractionResponseType.ChannelMessageWithSource, builder) |> Async.AwaitTask do! ctx.Respond(InteractionResponseType.ChannelMessageWithSource, builder) |> Async.AwaitTask
} : Task }
|> Async.AwaitTask
//let handleStoreEvents _ (event : ComponentInteractionCreateEventArgs) = |> Async.Start
// let ctx = DiscordEventContext event :> IDiscordContext Task.CompletedTask
// let id = ctx.GetInteractionId()
// let itemId = id.Split("-").[1]
// let storeId = id.Split("-").[2]
// match id with
// | id when id.StartsWith("Buy") -> handleBuyItem (fun _ -> Task.CompletedTask) ctx itemId
// | id when id.StartsWith("Sell") -> handleSell ctx itemId
// | id when id.StartsWith("ShowHacks") -> buy storeId (Some ItemType.Hack) ctx
// | id when id.StartsWith("ShowShields") -> buy storeId (Some ItemType.Shield) ctx
// | _ ->
// task {
// let builder = DiscordInteractionResponseBuilder()
// builder.IsEphemeral <- true
// builder.Content <- $"Incorrect Action identifier {id}"
// do! ctx.Respond(InteractionResponseType.ChannelMessageWithSource, builder) |> Async.AwaitTask
// }
// |> Async.AwaitTask
// |> Async.Start
// Task.CompletedTask
let sendBackalleyEmbed (ctx : IDiscordContext) = let sendBackalleyEmbed (ctx : IDiscordContext) =
async { async {

View File

@ -60,35 +60,26 @@ let grantWhitelistRole isOg (ctx : IDiscordContext) =
let handleButtonEvent _ (event : ComponentInteractionCreateEventArgs) = let handleButtonEvent _ (event : ComponentInteractionCreateEventArgs) =
let ctx = DiscordEventContext event :> IDiscordContext let ctx = DiscordEventContext event :> IDiscordContext
match event.Id with
| id when id.StartsWith("GimmeWhitelist") -> Store.buy "WHITELIST" None ctx
| id when id.StartsWith("Buy") ->
task {
let id = ctx.GetInteractionId()
let itemId = id.Split("-").[1]
let dispatch ctx = grantWhitelistRole (itemId = "WHITEOG") ctx
do! Store.handleBuyItem dispatch ctx itemId
} :> Task
| id when id.StartsWith("CreateGuildInvite") -> InviteTracker.handleCreateInvite ctx
| id when id.StartsWith("ShowRecruited") -> InviteTracker.getInvitedUsersForId (ctx.GetDiscordMember()) ctx
| id when id.StartsWith("WalletStatus") -> InviteTracker.showWalletStatus ctx
| _ ->
task { task {
let builder = DiscordInteractionResponseBuilder() let builder = DiscordInteractionResponseBuilder()
builder.IsEphemeral <- true builder.IsEphemeral <- true
builder.Content <- $"🚀 __Mint Date:__ June 20th 6:30 UTC <t:1655749800:R>" builder.Content <- $"Incorrect Action identifier {ctx.GetInteractionId()}"
do! ctx.Respond(InteractionResponseType.ChannelMessageWithSource, builder) |> Async.AwaitTask do! ctx.Respond(InteractionResponseType.ChannelMessageWithSource, builder) |> Async.AwaitTask
} : Task }
//let handleButtonEvent _ (event : ComponentInteractionCreateEventArgs) =
// let ctx = DiscordEventContext event :> IDiscordContext
// match event.Id with
// | id when id.StartsWith("GimmeWhitelist") -> Store.buy "WHITELIST" None ctx
// | id when id.StartsWith("Buy") ->
// task {
// let id = ctx.GetInteractionId()
// let itemId = id.Split("-").[1]
// let dispatch ctx = grantWhitelistRole (itemId = "WHITEOG") ctx
//
// do! Store.handleBuyItem dispatch ctx itemId
// } :> Task
// | id when id.StartsWith("CreateGuildInvite") -> InviteTracker.handleCreateInvite ctx
// | id when id.StartsWith("ShowRecruited") -> InviteTracker.getInvitedUsersForId (ctx.GetDiscordMember()) ctx
// | id when id.StartsWith("WalletStatus") -> InviteTracker.showWalletStatus ctx
// | _ ->
// task {
// let builder = DiscordInteractionResponseBuilder()
// builder.IsEphemeral <- true
// builder.Content <- $"Incorrect Action identifier {ctx.GetInteractionId()}"
// do! ctx.Respond(InteractionResponseType.ChannelMessageWithSource, builder) |> Async.AwaitTask
// }
let setCurrentWhitelistStock amount (ctx : IDiscordContext) = let setCurrentWhitelistStock amount (ctx : IDiscordContext) =
task { task {