コード例 #1
0
    async def xp(self, ctx):
        s = stats.getAllRows()
        boardTop = []
        for i, user in enumerate(sorted(s, key=lambda x: x[12], reverse=True)):
            if int(user[12]) == 0:
                break

            name = self.utilsCog.getDisplayName(ctx, user[0])
            if int(user[0]) == int(ctx.author.id):
                boardTop.append("**{} (Level {:,} | {:,} XP)**".format(name,
                                                                       xp.calculate_level(round(int(user[12]))),
                                                                       round(int(user[12]))))
            else:
                boardTop.append("{} (Level {:,} | {:,} XP)".format(name,
                                                                   xp.calculate_level(round(int(user[12]))),
                                                                   round(int(user[12]))))
        await self.startPaginated(ctx, boardTop, "XP Leaderboard")
コード例 #2
0
    async def xp(self, ctx, user: discord.Member = None):
        if user is not None and str(ctx.author.id) != constants.myId:
            return await ctx.send("Je hebt geen toegang tot dit commando.")

        target = user if user is not None else ctx.author

        target_stats = stats.getOrAddUser(target.id)

        embed = discord.Embed(colour=discord.Colour.blue())
        embed.set_author(name=target.display_name, icon_url=target.avatar_url)
        embed.add_field(name="Aantal Berichten", value="{}".format(int(target_stats[11])))
        embed.add_field(name="Level", value=str(xp.calculate_level(target_stats[12])))
        embed.add_field(name="XP", value="{:,}".format(int(target_stats[12])))
        embed.set_footer(text="*Sinds Didier 2.0 Launch")
        await ctx.send(embed=embed)
コード例 #3
0
ファイル: stats.py プロジェクト: lars-vc/didier
def gainXp(user, user_db):
    update(user, "xp", user_db[12] + random.randint(5, 15) + (xp.calculate_level(user_db[12]) * 3))
    update(user, "last_message", round(time.time()))