Rework check invite logic a little
This commit is contained in:
parent
9e85a53de1
commit
f5336fb9b7
@ -135,18 +135,14 @@ let private checkUserAlreadyInvited userId = async {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let checkInviteAccepted (userId : uint64) = async {
|
let checkInviteAccepted (userId : uint64) = async {
|
||||||
try
|
|
||||||
let! result =
|
let! result =
|
||||||
connStr
|
connStr
|
||||||
|> Sql.connect
|
|> Sql.connect
|
||||||
|> Sql.parameters [ "did" , Sql.string (string userId) ]
|
|> Sql.parameters [ "did" , Sql.string (string userId) ]
|
||||||
|> Sql.query "SELECT accepted FROM invited_user WHERE discord_id = @did"
|
|> Sql.query "SELECT accepted FROM invited_user WHERE discord_id = @did"
|
||||||
|> Sql.executeRowAsync (fun read -> read.bool "accepted")
|
|> Sql.executeAsync (fun read -> read.bool "accepted")
|
||||||
|> Async.AwaitTask
|
|> Async.AwaitTask
|
||||||
return result
|
return List.tryHead result |> Option.defaultValue false
|
||||||
with ex ->
|
|
||||||
printfn "%s %u" ex.Message userId
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let private getInviteAttributions userId =
|
let private getInviteAttributions userId =
|
||||||
@ -306,7 +302,7 @@ let acceptInvite (guild : DiscordGuild) (user : DiscordMember) =
|
|||||||
task {
|
task {
|
||||||
match! checkInviteAccepted user.Id with
|
match! checkInviteAccepted user.Id with
|
||||||
| false ->
|
| false ->
|
||||||
let! _ = markInvitedAccepted user.Id |> Async.Ignore
|
do! markInvitedAccepted user.Id |> Async.Ignore
|
||||||
try
|
try
|
||||||
let! invite = getInviteFromInvitedUser user.Id
|
let! invite = getInviteFromInvitedUser user.Id
|
||||||
let! player = DbService.tryFindPlayer invite.Inviter
|
let! player = DbService.tryFindPlayer invite.Inviter
|
||||||
|
Loading…
x
Reference in New Issue
Block a user