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