Grant recruiter roles

This commit is contained in:
Joseph Ferano 2022-06-14 22:56:33 +07:00
parent 5dcbe1f3ed
commit ba5927cc52
2 changed files with 18 additions and 10 deletions

View File

@ -60,9 +60,9 @@ let roleWhitelist = getId "ROLE_WHITELIST"
let roleWhiteOG = getId "ROLE_WHITEOG" let roleWhiteOG = getId "ROLE_WHITEOG"
let roleAdmin = getId "ROLE_ADMIN" let roleAdmin = getId "ROLE_ADMIN"
let roleMagicEden = getId "ROLE_MAGICEDEN" let roleMagicEden = getId "ROLE_MAGICEDEN"
//let roleRecruiter1x = getId "ROLE_RECRUITER_1X" let roleRecruiter1x = getId "ROLE_RECRUITER_1X"
//let roleRecruiter2x = getId "ROLE_RECRUITER_2X" let roleRecruiter2x = getId "ROLE_RECRUITER_2X"
//let roleRecruiter3x = getId "ROLE_RECRUITER_3X" let roleRecruiter3x = getId "ROLE_RECRUITER_3X"
let mutable botClientRecruit : DiscordClient option = None let mutable botClientRecruit : DiscordClient option = None
let mutable botClientHacker : DiscordClient option = None let mutable botClientHacker : DiscordClient option = None
let mutable botClientSlots : DiscordClient option = None let mutable botClientSlots : DiscordClient option = None

View File

@ -307,13 +307,21 @@ let acceptInvite (guild : DiscordGuild) (user : DiscordMember) =
|> Async.Ignore |> Async.Ignore
} }
| None -> async.Return() | None -> async.Return()
// let role = let role3x = guild.Roles.TryGetValue(GuildEnvironment.roleRecruiter3x) |> snd
// match invite.Count with let role2x = guild.Roles.TryGetValue(GuildEnvironment.roleRecruiter2x) |> snd
// | count when count > 10 -> guild.Roles.TryGetValue(GuildEnvironment.roleRecruiter3x) let role1x = guild.Roles.TryGetValue(GuildEnvironment.roleRecruiter1x) |> snd
// | count when count > 5 -> guild.Roles.TryGetValue(GuildEnvironment.roleRecruiter2x) match invite.Count with
// | _ -> guild.Roles.TryGetValue(GuildEnvironment.roleRecruiter1x) | count when count > 10 ->
// |> snd do! [ user.GrantRoleAsync(role3x) ; user.RevokeRoleAsync(role2x) ; user.RevokeRoleAsync(role1x) ]
// do! user.GrantRoleAsync(role) |> List.map Async.AwaitTask
|> Async.Parallel
|> Async.Ignore
| count when count > 5 ->
do! [ user.GrantRoleAsync(role2x) ; user.RevokeRoleAsync(role1x) ]
|> List.map Async.AwaitTask
|> Async.Parallel
|> Async.Ignore
| _ -> do! user.GrantRoleAsync(role1x)
do! Analytics.invitedUserAccepted invite.Code player.DiscordId user.Id player.Name user.Username do! Analytics.invitedUserAccepted invite.Code player.DiscordId user.Id player.Name user.Username
| None -> return () | None -> return ()
with _ -> () with _ -> ()