Fix bug and show total users
This commit is contained in:
		
							parent
							
								
									c3e5fafd59
								
							
						
					
					
						commit
						cc65b61e4a
					
				| @ -167,6 +167,20 @@ let private getInvitedUsers userId = | |||||||
|     |> Sql.executeAsync (fun read -> read.string "discord_id" |> uint64) |     |> Sql.executeAsync (fun read -> read.string "discord_id" |> uint64) | ||||||
|     |> Async.AwaitTask |     |> Async.AwaitTask | ||||||
| 
 | 
 | ||||||
|  | let getInvitedUserCount userId = | ||||||
|  |     connStr | ||||||
|  |     |> Sql.connect | ||||||
|  |     |> Sql.parameters [ "did" , Sql.string (string userId) ] | ||||||
|  |     |> Sql.query """ | ||||||
|  |             WITH invite AS (SELECT id FROM invite WHERE inviter = @did) | ||||||
|  |             SELECT count(*) FROM invited_user, invite | ||||||
|  |             WHERE invite.id = invited_user.invite_id AND invited_user.accepted = true | ||||||
|  |         """ | ||||||
|  |     |> Sql.executeRowAsync (fun read -> read.int "count") | ||||||
|  |     |> Async.AwaitTask | ||||||
|  | 
 | ||||||
|  | getInvitedUserCount 822834227467780136uL |> Async.RunSynchronously | ||||||
|  | 
 | ||||||
| let guildInviteEmbed = | let guildInviteEmbed = | ||||||
|     let rewardMsg = |     let rewardMsg = | ||||||
|         $"**Your Mission:**\nCLICK THE BUTTON below, then share your **UNIQUE LINK** with any Degenz you want to invite into the Server.\n\n" + |         $"**Your Mission:**\nCLICK THE BUTTON below, then share your **UNIQUE LINK** with any Degenz you want to invite into the Server.\n\n" + | ||||||
| @ -231,6 +245,7 @@ let private getAttributions (ctx : IDiscordContext) userId = task { | |||||||
| 
 | 
 | ||||||
| let private getInvitedUsersForId (ctx : IDiscordContext) = task { | let private getInvitedUsersForId (ctx : IDiscordContext) = task { | ||||||
|     let! users = getInvitedUsers (ctx.GetDiscordMember().Id) |     let! users = getInvitedUsers (ctx.GetDiscordMember().Id) | ||||||
|  |     let! total = getInvitedUserCount (ctx.GetDiscordMember().Id) | ||||||
|     let sb = StringBuilder() |     let sb = StringBuilder() | ||||||
|     let mutable count = 0 |     let mutable count = 0 | ||||||
|     for user in users do |     for user in users do | ||||||
| @ -239,7 +254,7 @@ let private getInvitedUsersForId (ctx : IDiscordContext) = task { | |||||||
|     let msg = |     let msg = | ||||||
|         let str = |         let str = | ||||||
|             if users.Length > 0 then |             if users.Length > 0 then | ||||||
|                 $"**Total Recruited:** `{users.Length} Degenz`\n**Total Earned:** `{users.Length * InviteRewardAmount} 💰$GBT`\n\n**Last 10 users recruited:**\n{sb}" |                 $"**Total Recruited:** `{total} Degenz`\n**Total Earned:** `{total * InviteRewardAmount} 💰$GBT`\n\n**Last 10 users recruited:**\n{sb}" | ||||||
|             else |             else | ||||||
|                 $"You haven't recruited anyone yet, use the `/recruit` command to get the recruitment link" |                 $"You haven't recruited anyone yet, use the `/recruit` command to get the recruitment link" | ||||||
|         DiscordInteractionResponseBuilder() |         DiscordInteractionResponseBuilder() | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user