From a7f0e2b7c657a2368e096f90348c697d12a10e72 Mon Sep 17 00:00:00 2001 From: Michael H Date: Tue, 14 Jan 2020 17:42:40 -0500 Subject: [PATCH] Globally ensure send_messages for commands (#3361) * wew * typo fix, thanks Danny --- redbot/core/global_checks.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/redbot/core/global_checks.py b/redbot/core/global_checks.py index 1adbe76a4..47c264a04 100644 --- a/redbot/core/global_checks.py +++ b/redbot/core/global_checks.py @@ -4,7 +4,17 @@ from . import commands def init_global_checks(bot): @bot.check_once - def actually_up(ctx): + def minimum_bot_perms(ctx) -> bool: + """ + Too many 403, 401, and 429 Errors can cause bots to get global'd + + It's reasonable to assume the below as a minimum amount of perms for + commands. + """ + return ctx.channel.permissions_for(ctx.me).send_messages + + @bot.check_once + def actually_up(ctx) -> bool: """ Uptime is set during the initial startup process. If this hasn't been set, we should assume the bot isn't ready yet. @@ -12,10 +22,10 @@ def init_global_checks(bot): return ctx.bot.uptime is not None @bot.check_once - async def whiteblacklist_checks(ctx): + async def whiteblacklist_checks(ctx) -> bool: return await ctx.bot.allowed_by_whitelist_blacklist(ctx.author) @bot.check_once - def bots(ctx): + def bots(ctx) -> bool: """Check the user is not another bot.""" return not ctx.author.bot