Esempio n. 1
0
 def __init__(self, guild: discord.Guild, conn: sql.connection,
              sql_fetcher: SqlFetcher):
     self.guild = guild
     self.unassigned_role = guild.get_role(utils.get_id("UNASSIGNED_ROLE"))
     self.student_role = guild.get_role(utils.get_id("STUDENT_ROLE"))
     self.welcome_channel = guild.get_channel(
         utils.get_id("OFF_TOPIC_CHANNEL"))
     self.conn = conn
     self.sql_fetcher = sql_fetcher
Esempio n. 2
0
    def __init__(self, **kwargs):

        self.name: str = None
        self.id: str = None
        self.attributes: dict = None

        self.__dict__ = kwargs

        if 'id' not in self.__dict__:
            self.id = utils.get_id()

        if 'gender' not in self.__dict__:
            self.gender = 'f'
Esempio n. 3
0
class JoinCog(commands.Cog, name="Join"):
    """Join command to get new users information and place them in the right roles"""
    def __init__(self, bot: commands.Bot):
        self.bot = bot
        self.assigner = None
        self.attempts = {}
        self.sql_fetcher = SqlFetcher(
            os.path.join("modules", "join", "queries"))

    @commands.Cog.listener()
    async def on_ready(self):
        self.assigner = Assigner(config.guild, config.conn, self.sql_fetcher)

    @commands.command(name="join")
    @commands.has_role(utils.get_id("UNASSIGNED_ROLE"))
    async def join(self, ctx: commands.Context):
        """
		Join command to get new users information and place them in the right roles

		Usage:
		```
		++join first name, last name, campus, year
		```
		Arguments:

			> **first name**: Your first name
			> **last name**: Your last name
			> **campus**: Lev or Tal
			> **year**: an integer from 1 to 4 (inclusive)

		"""
        try:
            parser = JoinParser(ctx.message.content)
            await self.assigner.assign(ctx.author, parser.name(),
                                       parser.campus(), parser.year())
        except JoinParseError as err:
            if ctx.author not in self.attempts:
                self.attempts[ctx.author] = 0
            err_msg = str(err)
            if self.attempts[ctx.author] > 1:
                err_msg += (
                    f"\n\n{utils.get_discord_obj(ctx.guild.roles, 'ADMIN_ROLE').mention}"
                    f" Help! {ctx.author.mention} doesn't seem to be able to read"
                    " instructions.")
            self.attempts[ctx.author] += 1
            raise FriendlyError(err_msg, ctx.channel, ctx.author)
Esempio n. 4
0
	async def give_initial_role(self, member: discord.Member):
		label = "BOT_ROLE" if member.bot else "UNASSIGNED_ROLE"
		role = member.guild.get_role(utils.get_id(label))
		await member.add_roles(role)
		print(f"Gave {role.name} to {member.name}")
Esempio n. 5
0
	def __intro_channel(self):
		guild = self.bot.get_guild(utils.get_id("JCT_GUILD"))
		return guild.get_channel(utils.get_id("INTRO_CHANNEL"))
Esempio n. 6
0
    def __init__(self, **kwargs):

        self.__dict__ = kwargs
        self.id = utils.get_id()
Esempio n. 7
0
 def __init__(self, bot: commands.Bot):
     self.bot = bot
     self.logger = ErrorLogger("err.log", utils.get_id("BOT_LOG_CHANNEL"),
                               bot)
     self.handler = ErrorHandler(self.logger)
Esempio n. 8
0
		print_hex_data,
		get_frequency,
		is_printable,
		extract_text,
	)

DATA_TYPES_ENUM = ['text','archive','image','audio','video','ciphered','raw','fs']

data_types = {}

map(lambda x: data_types.update(
	{

		x.encode('utf-8'):
			{
				'id':get_id(),
				'size': -1,
				'format': None,
				'source': None,
				'provider': None
			}
	}

	),DATA_TYPES_ENUM)


# print data_types


class Data(object):
	"""