Acrophobia and weather fixes
This commit is contained in:
		@@ -24,7 +24,7 @@ namespace NadekoBot.Modules.Games
 | 
			
		||||
 | 
			
		||||
            [NadekoCommand, Usage, Description, Aliases]
 | 
			
		||||
            [RequireContext(ContextType.Guild)]
 | 
			
		||||
            public async Task Acro(IUserMessage imsg, int time = 45)
 | 
			
		||||
            public async Task Acro(IUserMessage imsg, int time = 60)
 | 
			
		||||
            {
 | 
			
		||||
                var channel = (ITextChannel)imsg.Channel;
 | 
			
		||||
 | 
			
		||||
@@ -67,6 +67,8 @@ namespace NadekoBot.Modules.Games
 | 
			
		||||
            private readonly ConcurrentDictionary<string, IGuildUser> submissions = new ConcurrentDictionary<string, IGuildUser>();
 | 
			
		||||
            public IReadOnlyDictionary<string, IGuildUser> Submissions => submissions;
 | 
			
		||||
 | 
			
		||||
            private readonly ConcurrentHashSet<ulong> usersWhoVoted = new ConcurrentHashSet<ulong>();
 | 
			
		||||
 | 
			
		||||
            private int spamCount = 0;
 | 
			
		||||
 | 
			
		||||
            //text, votes
 | 
			
		||||
@@ -136,7 +138,10 @@ namespace NadekoBot.Modules.Games
 | 
			
		||||
                }
 | 
			
		||||
                else if (submissions.Count == 1)
 | 
			
		||||
                {
 | 
			
		||||
                    await channel.SendConfirmAsync("Acrophobia", $"{submissions.First().Value.Mention} is the winner for being the only user who made a submission!").ConfigureAwait(false);
 | 
			
		||||
                    await channel.EmbedAsync(new EmbedBuilder().WithOkColor()
 | 
			
		||||
                        .WithDescription($"{submissions.First().Value.Mention} is the winner for being the only user who made a submission!")
 | 
			
		||||
                        .WithFooter(efb => efb.WithText(submissions.First().Key.ToLowerInvariant().ToTitleCase()))
 | 
			
		||||
                        .Build()).ConfigureAwait(false);
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                var submissionClosedEmbed = GetEmbed();
 | 
			
		||||
@@ -226,9 +231,27 @@ namespace NadekoBot.Modules.Games
 | 
			
		||||
                            IGuildUser usr;
 | 
			
		||||
                            if (submissions.TryGetValue(input, out usr) && usr.Id != guildUser.Id)
 | 
			
		||||
                            {
 | 
			
		||||
                                if (!usersWhoVoted.Add(guildUser.Id))
 | 
			
		||||
                                    return;
 | 
			
		||||
                                votes.AddOrUpdate(input, 1, (key, old) => ++old);
 | 
			
		||||
                                await channel.SendConfirmAsync("Acrophobia", $"{guildUser.Mention} cast their vote!").ConfigureAwait(false);
 | 
			
		||||
                                await msg.DeleteAsync().ConfigureAwait(false);
 | 
			
		||||
                                return;
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
                            int num;
 | 
			
		||||
                            if (int.TryParse(input, out num) && num >= 0 && num < submissions.Count)
 | 
			
		||||
                            {
 | 
			
		||||
                                var kvp = submissions.Skip(num).First();
 | 
			
		||||
                                usr = kvp.Value;
 | 
			
		||||
                                if (usr.Id == guildUser.Id)
 | 
			
		||||
                                    return;
 | 
			
		||||
                                if (!usersWhoVoted.Add(guildUser.Id))
 | 
			
		||||
                                    return;
 | 
			
		||||
                                votes.AddOrUpdate(kvp.Key, 1, (key, old) => ++old);
 | 
			
		||||
                                await channel.SendConfirmAsync("Acrophobia", $"{guildUser.Mention} cast their vote!").ConfigureAwait(false);
 | 
			
		||||
                                await msg.DeleteAsync().ConfigureAwait(false);
 | 
			
		||||
                                return;
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
                        }
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@ namespace NadekoBot.Modules.Searches.Commands.Models
 | 
			
		||||
    public class Wind
 | 
			
		||||
    {
 | 
			
		||||
        public double speed { get; set; }
 | 
			
		||||
        public int deg { get; set; }
 | 
			
		||||
        public double deg { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public class Clouds
 | 
			
		||||
 
 | 
			
		||||
@@ -96,7 +96,7 @@ namespace NadekoBot.Resources {
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        ///    Looks up a localized string similar to Starts an Acrophobia game. Second argment is optional round length in seconds. (default is 45).
 | 
			
		||||
        ///    Looks up a localized string similar to Starts an Acrophobia game. Second argment is optional round length in seconds. (default is 60).
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static string acro_desc {
 | 
			
		||||
            get {
 | 
			
		||||
 
 | 
			
		||||
@@ -2794,7 +2794,7 @@
 | 
			
		||||
    <value>acro</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="acro_desc" xml:space="preserve">
 | 
			
		||||
    <value>Starts an Acrophobia game. Second argment is optional round length in seconds. (default is 45)</value>
 | 
			
		||||
    <value>Starts an Acrophobia game. Second argment is optional round length in seconds. (default is 60)</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="acro_usage" xml:space="preserve">
 | 
			
		||||
    <value>`{0}acro` or `{0}acro 30`</value>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user