Blacklisting done
This commit is contained in:
		@@ -24,6 +24,8 @@ namespace NadekoBot.Migrations
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                    b.Property<ulong>("ItemId");
 | 
					                    b.Property<ulong>("ItemId");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    b.Property<int>("Type");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    b.HasKey("Id");
 | 
					                    b.HasKey("Id");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    b.HasIndex("BotConfigId");
 | 
					                    b.HasIndex("BotConfigId");
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -197,13 +197,12 @@ namespace NadekoBot.Modules.Gambling
 | 
				
			|||||||
            await channel.SendMessageAsync(
 | 
					            await channel.SendMessageAsync(
 | 
				
			||||||
                richest.Aggregate(new StringBuilder(
 | 
					                richest.Aggregate(new StringBuilder(
 | 
				
			||||||
$@"```xl
 | 
					$@"```xl
 | 
				
			||||||
        ┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┓
 | 
					┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┓
 | 
				
			||||||
        ┃        Id           ┃  $$$  ┃
 | 
					┃        Id           ┃  $$$   ┃
 | 
				
			||||||
        "),
 | 
					"),
 | 
				
			||||||
                (cur, cs) => cur.AppendLine(
 | 
					                (cur, cs) => cur.AppendLine($@"┣━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━┫
 | 
				
			||||||
$@"┣━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━┫
 | 
					┃{(channel.Guild.GetUser(cs.UserId)?.Username.TrimTo(18, true) ?? cs.UserId.ToString()),-20} ┃ {cs.Amount,6} ┃")
 | 
				
			||||||
        ┃{(channel.Guild.GetUser(cs.UserId)?.Username.TrimTo(18, true) ?? cs.UserId.ToString()),-20} ┃ {cs,5} ┃")
 | 
					                        ).ToString() + "┗━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━┛```").ConfigureAwait(false);
 | 
				
			||||||
                        ).ToString() + "┗━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━┛```").ConfigureAwait(false);
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,8 +13,8 @@ namespace NadekoBot.Modules.Games.Trivia
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        private readonly SemaphoreSlim _guessLock = new SemaphoreSlim(1, 1);
 | 
					        private readonly SemaphoreSlim _guessLock = new SemaphoreSlim(1, 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private IGuild guild { get; }
 | 
					        public IGuild guild { get; }
 | 
				
			||||||
        private ITextChannel channel { get; }
 | 
					        public ITextChannel channel { get; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private int QuestionDurationMiliseconds { get; } = 30000;
 | 
					        private int QuestionDurationMiliseconds { get; } = 30000;
 | 
				
			||||||
        private int HintTimeoutMiliseconds { get; } = 6000;
 | 
					        private int HintTimeoutMiliseconds { get; } = 6000;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -43,7 +43,7 @@ namespace NadekoBot.Modules.Permissions
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
                else
 | 
					                else
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    permIndex = i + 1;
 | 
					                    permIndex = i;
 | 
				
			||||||
                    return result.Value;
 | 
					                    return result.Value;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,7 +15,7 @@ using Discord.API;
 | 
				
			|||||||
namespace NadekoBot.Modules.Permissions
 | 
					namespace NadekoBot.Modules.Permissions
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    [NadekoModule("Permissions", ";")]
 | 
					    [NadekoModule("Permissions", ";")]
 | 
				
			||||||
    public class Permissions : DiscordModule
 | 
					    public partial class Permissions : DiscordModule
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        public Permissions(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client)
 | 
					        public Permissions(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -98,7 +98,7 @@ namespace NadekoBot.Modules.Utility
 | 
				
			|||||||
        public async Task UserId(IUserMessage msg, IGuildUser target = null)
 | 
					        public async Task UserId(IUserMessage msg, IGuildUser target = null)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var usr = target ?? msg.Author;
 | 
					            var usr = target ?? msg.Author;
 | 
				
			||||||
            await msg.Reply($"Id of the user { usr.Username } is { usr.Id })").ConfigureAwait(false);
 | 
					            await msg.Reply($"Id of the user { usr.Username } is { usr.Id }").ConfigureAwait(false);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias]
 | 
					        [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias]
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										122
									
								
								src/NadekoBot/Resources/CommandStrings.Designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										122
									
								
								src/NadekoBot/Resources/CommandStrings.Designer.cs
									
									
									
										generated
									
									
									
								
							@@ -1061,27 +1061,27 @@ namespace NadekoBot.Resources {
 | 
				
			|||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        ///    Looks up a localized string similar to Blacklists a mentioned channel (#general for example)..
 | 
					        ///    Looks up a localized string similar to Blacklists a mentioned channel (#general for example)..
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        public static string cbl_desc {
 | 
					        public static string channelblacklist_desc {
 | 
				
			||||||
            get {
 | 
					            get {
 | 
				
			||||||
                return ResourceManager.GetString("cbl_desc", resourceCulture);
 | 
					                return ResourceManager.GetString("channelblacklist_desc", resourceCulture);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        ///    Looks up a localized string similar to `;cbl #some_channel`.
 | 
					        ///    Looks up a localized string similar to `;cbl #some_channel`.
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        public static string cbl_summary {
 | 
					        public static string channelblacklist_summary {
 | 
				
			||||||
            get {
 | 
					            get {
 | 
				
			||||||
                return ResourceManager.GetString("cbl_summary", resourceCulture);
 | 
					                return ResourceManager.GetString("channelblacklist_summary", resourceCulture);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        ///    Looks up a localized string similar to cbl.
 | 
					        ///    Looks up a localized string similar to cbl.
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        public static string cbl_text {
 | 
					        public static string channelblacklist_text {
 | 
				
			||||||
            get {
 | 
					            get {
 | 
				
			||||||
                return ResourceManager.GetString("cbl_text", resourceCulture);
 | 
					                return ResourceManager.GetString("channelblacklist_text", resourceCulture);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
@@ -1104,7 +1104,7 @@ namespace NadekoBot.Resources {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        ///    Looks up a localized string similar to channelid.
 | 
					        ///    Looks up a localized string similar to channelid cid.
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        public static string channelid_text {
 | 
					        public static string channelid_text {
 | 
				
			||||||
            get {
 | 
					            get {
 | 
				
			||||||
@@ -5972,33 +5972,6 @@ namespace NadekoBot.Resources {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        ///    Looks up a localized string similar to Blacklists a server by a name or id (#general for example). **BOT OWNER ONLY**.
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        public static string sbl_desc {
 | 
					 | 
				
			||||||
            get {
 | 
					 | 
				
			||||||
                return ResourceManager.GetString("sbl_desc", resourceCulture);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        ///    Looks up a localized string similar to `;sbl [servername/serverid]`.
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        public static string sbl_summary {
 | 
					 | 
				
			||||||
            get {
 | 
					 | 
				
			||||||
                return ResourceManager.GetString("sbl_summary", resourceCulture);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        ///    Looks up a localized string similar to sbl.
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        public static string sbl_text {
 | 
					 | 
				
			||||||
            get {
 | 
					 | 
				
			||||||
                return ResourceManager.GetString("sbl_text", resourceCulture);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        ///    Looks up a localized string similar to Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. **Bot Owner Only.**.
 | 
					        ///    Looks up a localized string similar to Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. **Bot Owner Only.**.
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
@@ -6053,6 +6026,33 @@ namespace NadekoBot.Resources {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        ///    Looks up a localized string similar to Blacklists a server by a name or id (#general for example). **BOT OWNER ONLY**.
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public static string serverblacklist_desc {
 | 
				
			||||||
 | 
					            get {
 | 
				
			||||||
 | 
					                return ResourceManager.GetString("serverblacklist_desc", resourceCulture);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        ///    Looks up a localized string similar to `;sbl [servername/serverid]`.
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public static string serverblacklist_summary {
 | 
				
			||||||
 | 
					            get {
 | 
				
			||||||
 | 
					                return ResourceManager.GetString("serverblacklist_summary", resourceCulture);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        ///    Looks up a localized string similar to sbl.
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public static string serverblacklist_text {
 | 
				
			||||||
 | 
					            get {
 | 
				
			||||||
 | 
					                return ResourceManager.GetString("serverblacklist_text", resourceCulture);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        ///    Looks up a localized string similar to Shows current server ID..
 | 
					        ///    Looks up a localized string similar to Shows current server ID..
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
@@ -7052,33 +7052,6 @@ namespace NadekoBot.Resources {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        ///    Looks up a localized string similar to Blacklists a mentioned user. **Bot Owner Only!**.
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        public static string ubl_desc {
 | 
					 | 
				
			||||||
            get {
 | 
					 | 
				
			||||||
                return ResourceManager.GetString("ubl_desc", resourceCulture);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        ///    Looks up a localized string similar to `;ubl [user_mention]`.
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        public static string ubl_summary {
 | 
					 | 
				
			||||||
            get {
 | 
					 | 
				
			||||||
                return ResourceManager.GetString("ubl_summary", resourceCulture);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        ///    Looks up a localized string similar to ubl.
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        public static string ubl_text {
 | 
					 | 
				
			||||||
            get {
 | 
					 | 
				
			||||||
                return ResourceManager.GetString("ubl_text", resourceCulture);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        ///    Looks up a localized string similar to Unbinds a bot from the channel and board. **Bot Owner Only!**.
 | 
					        ///    Looks up a localized string similar to Unbinds a bot from the channel and board. **Bot Owner Only!**.
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
@@ -7241,6 +7214,33 @@ namespace NadekoBot.Resources {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        ///    Looks up a localized string similar to Blacklists a mentioned user. **Bot Owner Only!**.
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public static string userblacklist_desc {
 | 
				
			||||||
 | 
					            get {
 | 
				
			||||||
 | 
					                return ResourceManager.GetString("userblacklist_desc", resourceCulture);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        ///    Looks up a localized string similar to `;ubl [user_mention]`.
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public static string userblacklist_summary {
 | 
				
			||||||
 | 
					            get {
 | 
				
			||||||
 | 
					                return ResourceManager.GetString("userblacklist_summary", resourceCulture);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        ///    Looks up a localized string similar to ubl.
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public static string userblacklist_text {
 | 
				
			||||||
 | 
					            get {
 | 
				
			||||||
 | 
					                return ResourceManager.GetString("userblacklist_text", resourceCulture);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        ///    Looks up a localized string similar to Shows user ID..
 | 
					        ///    Looks up a localized string similar to Shows user ID..
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -919,7 +919,7 @@
 | 
				
			|||||||
    <value>`.uid` or `.uid "@SomeGuy"`</value>
 | 
					    <value>`.uid` or `.uid "@SomeGuy"`</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="channelid_text" xml:space="preserve">
 | 
					  <data name="channelid_text" xml:space="preserve">
 | 
				
			||||||
    <value>channelid</value>
 | 
					    <value>channelid cid</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="channelid_desc" xml:space="preserve">
 | 
					  <data name="channelid_desc" xml:space="preserve">
 | 
				
			||||||
    <value>Shows current channel ID.</value>
 | 
					    <value>Shows current channel ID.</value>
 | 
				
			||||||
@@ -1224,13 +1224,13 @@
 | 
				
			|||||||
  <data name="allrolecmds_summary" xml:space="preserve">
 | 
					  <data name="allrolecmds_summary" xml:space="preserve">
 | 
				
			||||||
    <value>`;arc "module name" [enable/disable] MyRole`</value>
 | 
					    <value>`;arc "module name" [enable/disable] MyRole`</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="ubl_text" xml:space="preserve">
 | 
					  <data name="userblacklist_text" xml:space="preserve">
 | 
				
			||||||
    <value>ubl</value>
 | 
					    <value>ubl</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="ubl_desc" xml:space="preserve">
 | 
					  <data name="userblacklist_desc" xml:space="preserve">
 | 
				
			||||||
    <value>Blacklists a mentioned user. **Bot Owner Only!**</value>
 | 
					    <value>Blacklists a mentioned user. **Bot Owner Only!**</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="ubl_summary" xml:space="preserve">
 | 
					  <data name="userblacklist_summary" xml:space="preserve">
 | 
				
			||||||
    <value>`;ubl [user_mention]`</value>
 | 
					    <value>`;ubl [user_mention]`</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="uubl_text" xml:space="preserve">
 | 
					  <data name="uubl_text" xml:space="preserve">
 | 
				
			||||||
@@ -1242,13 +1242,13 @@
 | 
				
			|||||||
  <data name="uubl_summary" xml:space="preserve">
 | 
					  <data name="uubl_summary" xml:space="preserve">
 | 
				
			||||||
    <value>`;uubl [user_mention]`</value>
 | 
					    <value>`;uubl [user_mention]`</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="cbl_text" xml:space="preserve">
 | 
					  <data name="channelblacklist_text" xml:space="preserve">
 | 
				
			||||||
    <value>cbl</value>
 | 
					    <value>cbl</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="cbl_desc" xml:space="preserve">
 | 
					  <data name="channelblacklist_desc" xml:space="preserve">
 | 
				
			||||||
    <value>Blacklists a mentioned channel (#general for example).</value>
 | 
					    <value>Blacklists a mentioned channel (#general for example).</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="cbl_summary" xml:space="preserve">
 | 
					  <data name="channelblacklist_summary" xml:space="preserve">
 | 
				
			||||||
    <value>`;cbl #some_channel`</value>
 | 
					    <value>`;cbl #some_channel`</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="cubl_text" xml:space="preserve">
 | 
					  <data name="cubl_text" xml:space="preserve">
 | 
				
			||||||
@@ -1260,13 +1260,13 @@
 | 
				
			|||||||
  <data name="cubl_summary" xml:space="preserve">
 | 
					  <data name="cubl_summary" xml:space="preserve">
 | 
				
			||||||
    <value>`;cubl #some_channel`</value>
 | 
					    <value>`;cubl #some_channel`</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="sbl_text" xml:space="preserve">
 | 
					  <data name="serverblacklist_text" xml:space="preserve">
 | 
				
			||||||
    <value>sbl</value>
 | 
					    <value>sbl</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="sbl_desc" xml:space="preserve">
 | 
					  <data name="serverblacklist_desc" xml:space="preserve">
 | 
				
			||||||
    <value>Blacklists a server by a name or id (#general for example). **BOT OWNER ONLY**</value>
 | 
					    <value>Blacklists a server by a name or id (#general for example). **BOT OWNER ONLY**</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="sbl_summary" xml:space="preserve">
 | 
					  <data name="serverblacklist_summary" xml:space="preserve">
 | 
				
			||||||
    <value>`;sbl [servername/serverid]`</value>
 | 
					    <value>`;sbl [servername/serverid]`</value>
 | 
				
			||||||
  </data>
 | 
					  </data>
 | 
				
			||||||
  <data name="cmdcooldown_text" xml:space="preserve">
 | 
					  <data name="cmdcooldown_text" xml:space="preserve">
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -39,16 +39,29 @@ namespace NadekoBot.Services
 | 
				
			|||||||
            if (usrMsg == null)
 | 
					            if (usrMsg == null)
 | 
				
			||||||
                return Task.CompletedTask;
 | 
					                return Task.CompletedTask;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (usrMsg.Author.IsBot) //no bots
 | 
				
			||||||
 | 
					                return Task.CompletedTask;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var guild = (msg.Channel as ITextChannel)?.Guild;
 | 
					            var guild = (msg.Channel as ITextChannel)?.Guild;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            BlacklistItem blacklistedItem;
 | 
				
			||||||
 | 
					            if ((blacklistedItem = Permissions.BlacklistCommands.BlacklistedItems.FirstOrDefault(bi =>
 | 
				
			||||||
 | 
					                 (bi.Type == BlacklistItem.BlacklistType.Server && bi.ItemId == guild?.Id) ||
 | 
				
			||||||
 | 
					                 (bi.Type == BlacklistItem.BlacklistType.Channel && bi.ItemId == msg.Channel.Id) ||
 | 
				
			||||||
 | 
					                 (bi.Type == BlacklistItem.BlacklistType.User && bi.ItemId == usrMsg.Author.Id))) != null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                _log.Warn("Attempt was made to run a command by a blacklisted {0}, id: {1}", blacklistedItem.Type, blacklistedItem.ItemId);
 | 
				
			||||||
 | 
					                return Task.CompletedTask;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var throwaway = Task.Run(async () =>
 | 
					            var throwaway = Task.Run(async () =>
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
              var sw = new Stopwatch();
 | 
					                var sw = new Stopwatch();
 | 
				
			||||||
                sw.Start();
 | 
					                sw.Start();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                try
 | 
					                try
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    
 | 
					                          
 | 
				
			||||||
                    bool verbose = false;
 | 
					                    bool verbose = false;
 | 
				
			||||||
                    Permission rootPerm = null;
 | 
					                    Permission rootPerm = null;
 | 
				
			||||||
                    string permRole = "";
 | 
					                    string permRole = "";
 | 
				
			||||||
@@ -165,7 +178,7 @@ namespace NadekoBot.Services
 | 
				
			|||||||
                    int index;
 | 
					                    int index;
 | 
				
			||||||
                    if (!rootPerm.AsEnumerable().CheckPermissions(message, cmd.Name, cmd.Module.Name, out index))
 | 
					                    if (!rootPerm.AsEnumerable().CheckPermissions(message, cmd.Name, cmd.Module.Name, out index))
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        var returnMsg = $"Permission number #{index} **{rootPerm.GetAt(index).GetCommand()}** is preventing this action.";
 | 
					                        var returnMsg = $"Permission number #{index + 1} **{rootPerm.GetAt(index).GetCommand()}** is preventing this action.";
 | 
				
			||||||
                        return new Tuple<Command, IResult>(cmd, SearchResult.FromError(CommandError.Exception, returnMsg));
 | 
					                        return new Tuple<Command, IResult>(cmd, SearchResult.FromError(CommandError.Exception, returnMsg));
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -43,6 +43,8 @@ namespace NadekoBot.Services.Database.Models
 | 
				
			|||||||
    public class BlacklistItem : DbEntity
 | 
					    public class BlacklistItem : DbEntity
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        public ulong ItemId { get; set; }
 | 
					        public ulong ItemId { get; set; }
 | 
				
			||||||
 | 
					        public BlacklistType Type { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public enum BlacklistType
 | 
					        public enum BlacklistType
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            Server,
 | 
					            Server,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user