Пример #1
0
    async def get_permissions_from_member(
            cls, engine: AsyncEngine, bot: Bot,
            guild: t.Union[str, int, Guild], member: t.Union[str, int,
                                                             Member]) -> dict:
        if isinstance(guild, str):
            guild = int(guild)
        if isinstance(member, str):
            member = int(member)

        if isinstance(member, int):
            user = bot.get_user(member)
            if not user:
                raise ValueError(f"Unable to find valid user by: {member}")
            if isinstance(guild, int):
                true_guild = bot.get_guild(guild)
                if not true_guild:
                    raise ValueError(
                        f"Unable to find a guild with id: {guild}")

            member = guild.get_member(user)

        if isinstance(member, Member):
            # Administrators doesn't have limited permissions, makes sure
            # to handle for that
            if member.guild_permissions.administrator:
                dct = {
                    col: float("inf")
                    for col in cls.__table__.columns.keys()
                }
                dct.update({'guild': guild})
                return dct

            # Follow the hierarchy from most important role to everyone
            # and use the first found time in each time type,
            # if none found, return empty permissions
            dct = {
                col: None
                for col in cls.__table__.columns.keys()
                if col.endswith("_time")
            }
            for role in member.roles[::-1]:
                perms = await cls.get_permissions(engine, guild, role)
                for key, value in dct:
                    if value is not None:
                        dct[key] = perms[key]
            dct.update({'guild': guild})
            return dct
Пример #2
0
def setup(bot: Bot) -> None:
    """Load the Translation cog."""
    bot.add_cog(Translator(bot))
Пример #3
0
def setup(bot: Bot) -> None:
    bot.add_cog(MessageLog(bot))
Пример #4
0
def setup(bot: Bot) -> None:
    bot.add_cog(Emotes(bot))
Пример #5
0
def setup(bot: Bot) -> None:
    bot.add_cog(Support(bot))
Пример #6
0
def setup(bot: Bot) -> None:
    """Load the Moderation cog."""
    bot.add_cog(Moderation(bot))
Пример #7
0
def setup(bot: Bot) -> None:
    bot.add_cog(Events(bot))
Пример #8
0
 def __init__(self, bot: Bot):
     self.bot = bot
     self.old_help_command = bot.help_command
     bot.help_command = HelpCommand()
Пример #9
0
import os

from discord import Game, Intents

from bot import config
from bot.core.bot import Bot

TOKEN = os.getenv("BOT_TOKEN")
PREFIX = config.COMMAND_PREFIX

intents = Intents.default()
intents.guilds = True
intents.bans = True
intents.messages = True
intents.members = True  # Requires discord app permission

bot = Bot(command_prefix=PREFIX,
          activity=Game(name=f"Ping me using {PREFIX}help"),
          case_insensitive=True,
          intents=intents)

if __name__ == "__main__":
    bot.run(TOKEN)
Пример #10
0
def setup(bot: Bot) -> None:
    """Load the Sudo cog."""
    bot.add_cog(Sudo(bot))
Пример #11
0
def setup(bot: Bot) -> None:
    """Load the Func cog."""
    bot.add_cog(Fun(bot))
Пример #12
0
def setup(bot: Bot) -> None:
    """Load the Search cog."""
    bot.add_cog(Search(bot))
Пример #13
0
def setup(bot: Bot) -> None:
    bot.add_cog(Strikes(bot))
Пример #14
0
def setup(bot: Bot) -> None:
    bot.add_cog(Moderation(bot))
Пример #15
0
def setup(bot: Bot) -> None:
    bot.add_cog(Commands(bot))
Пример #16
0
def setup(bot: Bot) -> None:
    """Load the Common cog."""
    bot.add_cog(Common(bot))
Пример #17
0
def setup(bot: Bot) -> None:
    bot.add_cog(Search(bot))
Пример #18
0
def setup(bot: Bot) -> None:
    bot.add_cog(ErrorHandler(bot))
Пример #19
0
def setup(bot: Bot) -> None:
    bot.add_cog(Help(bot))
Пример #20
0
def setup(bot: Bot) -> None:
    bot.add_cog(MalwareProtection(bot))
Пример #21
0
def setup(bot: Bot) -> None:
    """Load the Security cog."""
    bot.add_cog(Security(bot))
Пример #22
0
def setup(bot: Bot) -> None:
    """Load the games cogs."""
    bot.add_cog(Hangman(bot))
    bot.add_cog(Games(bot))
Пример #23
0
def setup(bot: Bot) -> Bot:
    bot.add_cog(Embeds(bot))
Пример #24
0
def setup(bot: Bot) -> None:
    bot.add_cog(Documentation(bot))
Пример #25
0
def setup(bot: Bot) -> None:
    bot.add_cog(JoinLog(bot))
Пример #26
0
def setup(bot: Bot) -> None:
    bot.add_cog(Lock(bot))
Пример #27
0
def setup(bot: Bot) -> None:
    """Load the Games cogs."""
    bot.add_cog(Games(bot))
    bot.add_cog(Fun(bot))
    bot.add_cog(Comics(bot))
    bot.add_cog(Trivia(bot))
Пример #28
0
def setup(bot: Bot) -> None:
    bot.add_cog(Translator(bot))
Пример #29
0
def setup(bot: Bot) -> None:
    bot.add_cog(Fun(bot))
Пример #30
0
def setup(bot: Bot) -> None:
    bot.add_cog(RolesSetup(bot))