Delete messages in submit channel, copy

This commit is contained in:
Joseph Ferano 2022-05-17 23:41:08 +07:00
parent b91622bed7
commit 1aeffe4c35
3 changed files with 36 additions and 7 deletions

View File

@ -80,6 +80,7 @@ jpegBot.add_ComponentInteractionCreated(AsyncEventHandler(Store.handleJpegEvents
inviterBot.add_GuildMemberAdded(AsyncEventHandler(InviteTracker.handleGuildMemberAdded)) inviterBot.add_GuildMemberAdded(AsyncEventHandler(InviteTracker.handleGuildMemberAdded))
inviterBot.add_ComponentInteractionCreated(AsyncEventHandler(Whitelist.handleButtonEvent)) inviterBot.add_ComponentInteractionCreated(AsyncEventHandler(Whitelist.handleButtonEvent))
inviterBot.add_GuildMemberUpdated(AsyncEventHandler(InviteTracker.handleMemberUpdated)) inviterBot.add_GuildMemberUpdated(AsyncEventHandler(InviteTracker.handleMemberUpdated))
inviterBot.add_MessageCreated(AsyncEventHandler(InviteTracker.handleMessageCreated))
slotsBot.add_ComponentInteractionCreated(AsyncEventHandler(SlotMachine.handleButton)) slotsBot.add_ComponentInteractionCreated(AsyncEventHandler(SlotMachine.handleButton))
slotsBot.add_GuildDownloadCompleted(AsyncEventHandler(SlotMachine.handleGuildDownloadCompleted)) slotsBot.add_GuildDownloadCompleted(AsyncEventHandler(SlotMachine.handleGuildDownloadCompleted))
slotsBot.add_MessageCreated(AsyncEventHandler(SlotMachine.handleMessageCreated)) slotsBot.add_MessageCreated(AsyncEventHandler(SlotMachine.handleMessageCreated))

View File

@ -167,7 +167,7 @@ let purchaseItemEmbed quantity (item : Item) =
🎉 Congratulations, you purchased {og}WHITELIST! 🎉 Congratulations, you purchased {og}WHITELIST!
**__Mint Day: 31ST MAY__** **__Mint Day: 31ST MAY__**
Go to <#{GuildEnvironment.channelSubmitWallet}> to input your **Solana Wallet Address** to confirm your Whitelist.""" Go to <#{GuildEnvironment.channelSubmitWallet}> to input your **Solana Wallet Address**, and confirm your Whitelist."""
| _ -> embed.Description <- $"Purchased {item.Name}" | _ -> embed.Description <- $"Purchased {item.Name}"
embed embed

View File

@ -354,13 +354,20 @@ let sendSubmitEmbed (ctx : IDiscordContext) =
async { async {
try try
let channel = ctx.GetGuild().GetChannel(GuildEnvironment.channelSubmitWallet) let channel = ctx.GetGuild().GetChannel(GuildEnvironment.channelSubmitWallet)
let rewardMsg = $"Instructions for submitting wallet" let rewardMsg = $"""
To confirm your **Whitelist** please submit it below:
1️⃣ Type `/submit`
2️⃣ Paste your **Wallet Address**
3️⃣ Press `Enter`
**Check status anytime to double check it worked*"""
let embed = let embed =
DiscordEmbedBuilder() DiscordEmbedBuilder()
.WithColor(DiscordColor.White) .WithColor(DiscordColor.White)
.WithDescription(rewardMsg) .WithDescription(rewardMsg)
.WithImageUrl("https://s8.gifyu.com/images/whitelist-submit-banner22.png") .WithImageUrl("https://s8.gifyu.com/images/whitelist-submit-4.png")
.WithTitle("Submit Wallet") .WithTitle("Submit Your Solana Wallet Address")
let builder = DiscordMessageBuilder().AddEmbed(embed) let builder = DiscordMessageBuilder().AddEmbed(embed)
let btn = DiscordButtonComponent(ButtonStyle.Success, "WalletStatus", "Check Status") :> DiscordComponent let btn = DiscordButtonComponent(ButtonStyle.Success, "WalletStatus", "Check Status") :> DiscordComponent
@ -423,6 +430,14 @@ let handleMemberUpdated (client : DiscordClient) (event : GuildMemberUpdateEvent
return () return ()
} :> Task } :> Task
let handleMessageCreated _ (event : MessageCreateEventArgs) =
task {
let bot = GuildEnvironment.botClientRecruit.Value
if event.Channel.Id = GuildEnvironment.channelSubmitWallet && event.Author.Id <> bot.CurrentUser.Id then
do! Async.Sleep 100
do! event.Message.DeleteAsync()
} :> Task
let handleGuildMemberAdded _ (eventArgs : GuildMemberAddEventArgs) = let handleGuildMemberAdded _ (eventArgs : GuildMemberAddEventArgs) =
task { task {
let! exists = checkUserAlreadyInvited eventArgs.Member.Id let! exists = checkUserAlreadyInvited eventArgs.Member.Id
@ -434,12 +449,25 @@ let submitWhitelist (ctx : IDiscordContext) (address : string) =
task { task {
// BtshZ7oNB5tk5pVbDpsRCziZ1qwV7SMCJq1Pe3YbHZuo // BtshZ7oNB5tk5pVbDpsRCziZ1qwV7SMCJq1Pe3YbHZuo
let pubkey = PublicKey(address) let pubkey = PublicKey(address)
try
if pubkey.IsValid() && pubkey.IsOnCurve() then if pubkey.IsValid() && pubkey.IsOnCurve() then
do! addWalletAddress (ctx.GetDiscordMember().Id) address do! addWalletAddress (ctx.GetDiscordMember().Id) address
do! Messaging.sendSimpleResponse ctx "You provided a valid address" do! Messaging.sendSimpleResponse ctx $"""
We have successfully received your wallet address: {address}
Keep an eye on <#{GuildEnvironment.channelAnnouncements}> for updates.
🚀 Mint Date: 31st May 18:00 UTC"""
let builder = DiscordMessageBuilder()
builder.WithContent($"<@{ctx.GetDiscordMember().Username}> submitted his wallet address in <#{GuildEnvironment.channelSubmitWallet}> and confirmed whitelist") |> ignore
let channel = (ctx.GetGuild().GetChannel(GuildEnvironment.channelEventsHackerBattle))
do! channel.SendMessageAsync(builder)
|> Async.AwaitTask
|> Async.Ignore
else else
do! Messaging.sendSimpleResponse ctx "This address is not valid" do! Messaging.sendSimpleResponse ctx "⚠️ That's not a valid Solana address, please try again"
return () with _ ->
do! Messaging.sendSimpleResponse ctx "⚠️ That's not a valid Solana address, please try again"
} :> Task } :> Task
type Inviter() = type Inviter() =