Exemplo n.º 1
0
    async def _list(self, ctx):
        """Lists the top Gods on the server."""
        gods = database.getGods(ctx.guild.id)
        if not gods:
            await ctx.send("There are no Gods in " + ctx.guild.name +
                           ", yet... `/gods create <name>`")
            return

        gods = list(gods)

        i = 1
        godlist = ""

        for god in gods:
            if i > 15:
                break

            believers = database.getBelieversByID(god.ID)
            if not believers:
                believers = 0
            else:
                believers = len(database.getBelieversByID(god.ID))
            godtext = str("[" + str(i) + "]  > #" + god.Name + "\n"
                          "         " + botutils.getGodString(god) + " of " +
                          god.Type.capitalize() + "\n"
                          "         Power: " + str(round(god.Power, 2)) + "\n"
                          "         Believers: " + str(believers) + "\n")
            godlist = godlist + godtext

            i += 1

        await ctx.send("**The Gods of " + ctx.guild.name + "**\n\n"
                       "```pl\n" + godlist + "```")
Exemplo n.º 2
0
    async def _globalmarriages(self, ctx):
        """Lists the most loving married couples globally"""
        marriages = database.getMarriagesGlobal()
        if not marriages:
            await ctx.send(
                "There are no Marriages, yet... `/gods marry <someone special>`"
            )
            return

        marriages = list(marriages)
        marriages.reverse()

        i = 1
        marriagelist = ""

        for marriage in marriages:
            if i > 10:
                break

            believer1 = await botutils.getUser(
                self.bot, ctx.guild,
                database.getBelieverByID(marriage.Believer1).UserID)

            believer2 = await botutils.getUser(
                self.bot, ctx.guild,
                database.getBelieverByID(marriage.Believer2).UserID)

            god = database.getGod(marriage.God)
            guild_name = "NaN"

            guild = self.bot.get_guild(int(god.Guild))
            if guild:
                guild_name = guild.name

            marrytext = str("[" + str(i) + "]  > #" + believer1.name + " & " +
                            believer2.name + "\n"
                            "         Loved: " +
                            marriage.LoveDate.strftime("%Y-%m-%d %H:%M:%S") +
                            "\n"
                            "         " + botutils.getGodString(god) + ": " +
                            god.Name + "\n"
                            "         Server: " + guild_name + "\n")
            marriagelist = marriagelist + marrytext

            i += 1

        await ctx.send("**The Global Married Couples Leaderboard**\n\n"
                       "```pl\n" + marriagelist + "```")
Exemplo n.º 3
0
    async def _marriages(self, ctx):
        """Lists the most loving married couples on the server"""
        marriages = database.getMarriages(ctx.guild.id)
        if not marriages:
            await ctx.send("There are no Marriages in " + ctx.guild.name +
                           ", yet... `/gods marry <someone special>`")
            return

        marriages = list(marriages)
        marriages.reverse()

        i = 1
        marriagelist = ""

        for marriage in marriages:
            if i > 15:
                break

            believer1 = await botutils.getUser(
                self.bot, ctx.guild,
                database.getBelieverByID(marriage.Believer1).UserID)

            believer2 = await botutils.getUser(
                self.bot, ctx.guild,
                database.getBelieverByID(marriage.Believer2).UserID)

            god = database.getGod(marriage.God)

            marrytext = str("[" + str(i) + "]  > #" + believer1.name + " & " +
                            believer2.name + "\n"
                            "         Loved: " +
                            marriage.LoveDate.strftime("%Y-%m-%d %H:%M:%S") +
                            "\n"
                            "         " + botutils.getGodString(god) + ": " +
                            god.Name + "\n")
            marriagelist = marriagelist + marrytext

            i += 1

        await ctx.send("**The Married Couples of " + ctx.guild.name + "**\n\n"
                       "```pl\n" + marriagelist + "```")
Exemplo n.º 4
0
    async def _globallist(self, ctx):
        """Lists the top Gods globally"""
        gods = database.getGodsGlobal()
        if not gods:
            await ctx.send("There are no Gods, yet... `/gods create <name>`")
            return

        gods = list(gods)
        gods.reverse()

        i = 1
        godlist = ""

        for god in gods:
            if i > 10:
                break

            believers = database.getBelieversByID(god.ID)
            if not believers:
                believers = 0
            else:
                believers = len(database.getBelieversByID(god.ID))

            guild_name = "NaN"

            guild = self.bot.get_guild(int(god.Guild))
            if guild:
                guild_name = guild.name

            godtext = str("[" + str(i) + "]  > #" + god.Name + "\n"
                          "         " + botutils.getGodString(god) + " of " +
                          god.Type.capitalize() + "\n"
                          "         Power: " + str(round(god.Power, 2)) + "\n"
                          "         Believers: " + str(believers) + "\n"
                          "         Server: " + guild_name + "\n")
            godlist = godlist + godtext

            i += 1

        await ctx.send("**The Global Gods Leaderboard**\n\n"
                       "```pl\n" + godlist + "```")
Exemplo n.º 5
0
    async def _pray(self, ctx):
        """Pray to your God"""
        believer = database.getBeliever(ctx.author.id, ctx.guild.id)
        if not believer:
            return

        date = datetime.datetime.now()
        timediff = date - believer.PrayDate
        minutes = timediff.total_seconds() / 60

        if minutes >= 30:
            database.pray(believer)
            believer = database.getBelieverByID(believer.ID)

            await ctx.send(
                "You prayed to your God! Your prayer power is now **" +
                str(round(believer.PrayerPower, 2)) + "**!")
        else:
            timeTillPray = 30 - minutes
            await ctx.send("You cannot pray to your " +
                           botutils.getGodString(believer.God) +
                           " yet! Time remaining: " +
                           str(round(timeTillPray, 1)) + " minutes.")
Exemplo n.º 6
0
    async def _info(self, ctx, *args):
        """Gets information about a God."""
        if len(args) > 0:
            god = database.getGodName(args[0], ctx.guild.id)
        else:
            believer = database.getBeliever(ctx.author.id, ctx.guild.id)
            if believer:
                god = database.getGod(believer.God)
            else:
                await ctx.send("Please give a God name!")
                return

        if not god:
            await ctx.send("That God doesn't exist!")
            return

        embedcolor = discord.Color.green()
        if god.Type:
            if god.Type.upper() == "YAOI":
                embedcolor = discord.Color.from_rgb(204, 235, 245)
            if god.Type.upper() == "TRAPS":
                embedcolor = discord.Color.from_rgb(248, 184, 248)
            for godtype, color in botutils.godtypes:
                if godtype == god.Type:
                    embedcolor = color

        title = god.Name + " - " + botutils.getGodString(
            god) + " of " + god.Type.capitalize()
        if god.Description:
            embed = discord.Embed(title=title,
                                  color=embedcolor,
                                  description=god.Description)
        else:
            embed = discord.Embed(title=title, color=embedcolor)
        embed.add_field(name="Creation Date",
                        value="%s" %
                        god.CreationDate.strftime("%Y-%m-%d %H:%M:%S"),
                        inline=True)
        believers = database.getBelieversByID(god.ID)
        if not believers:
            believers = []
        embed.add_field(name="Believers",
                        value="%s" % len(believers),
                        inline=True)
        embed.add_field(name="Power", value=round(god.Power, 1), inline=True)
        if god.Gender:
            embed.add_field(name="Gender:",
                            value=god.Gender.capitalize(),
                            inline=True)
        embed.add_field(name="Mood:",
                        value=botutils.getGodMood(god.Mood),
                        inline=True)
        embed.add_field(name="Invite Only:", value=god.InviteOnly, inline=True)
        if god.Priest:
            priest = self.bot.get_user(
                int(database.getBelieverByID(god.Priest).UserID))
            embed.set_footer(text="Priest: %s" % priest.name + "#" +
                             priest.discriminator,
                             icon_url=priest.avatar_url)
        else:
            embed.set_footer(text="This God has no priest yet!",
                             icon_url=self.bot.user.avatar_url)
        await ctx.send(embed=embed)