async def imprison(self, ctx, user: discord.Member, *, reason=None): if not ctx.author == user: if not ctx.author.top_role.position <= user.top_role.position: c.execute(f"SELECT * FROM conf WHERE id = {ctx.guild.id}") conf = c.fetchall() await ctx.message.delete() c.execute( f"UPDATE users SET prison = 'True' WHERE id = {user.id};") for role in user.roles: try: await user.remove_roles(role) except: pass role = discget(ctx.guild.roles, id=conf[0][8]) await user.add_roles(role) await ctx.send(f"{user.name} has been imprisoned.") channel = discget(ctx.guild.channels, id=conf[0][7]) if reason == None: await channel.send(f"Welcome to prison, {user.mention}.") else: await channel.send( f"Welcome to prison, {user.mention}.\nReason: {reason}" ) log = discget(ctx.guild.channels, id=conf[0][14]) await log.send( embed=self.pembed(ctx, user, "Imprisonment", reason)) conn.commit() else: await ctx.send( "You cannot imprison someone with a higher or equal top role." ) else: await ctx.send("You can't imprison yourself, tard.")
async def accept(self, ctx, user: discord.Member): await ctx.message.delete() role = discget(ctx.guild.roles, id=708176852925284396) channel = discget(ctx.guild.channels, id=708171327848185896) if ctx.author.id in self.admins: await user.add_roles(role) await channel.send(f"{user.mention} has been accepted. Welcome.") else: await ctx.send( "You do not have the permission to use this command", delete_after=5)
async def accept(self, ctx, user: discord.Member): await ctx.message.delete() c.execute(f"SELECT * FROM conf WHERE id = {ctx.guild.id}") conf = c.fetchall() role = discget(ctx.guild.roles, id=conf[0][3]) try: await user.remove_roles(role) except AttributeError: pass role = discget(ctx.guild.roles, id=conf[0][12]) await user.add_roles(role) await self.clear(ctx, 1) channel = discget(ctx.guild.channels, id=conf[0][11]) await channel.send(f"{conf[0][10]}".format(user.mention))
async def free(self, ctx, user: discord.Member): c.execute(f"SELECT * FROM conf WHERE id = {ctx.guild.id}") conf = c.fetchall() await ctx.message.delete() c.execute(f"UPDATE users SET prison = 'False' WHERE id = {user.id};") role = discget(ctx.guild.roles, id=conf[0][8]) await user.remove_roles(role) role = discget(ctx.guild.roles, id=conf[0][3]) try: await user.add_roles(role) except AttributeError: pass await ctx.send(f"You have been freed, {user.mention}.", delete_after=5) channel = discget(ctx.guild.channels, id=conf[0][13]) await channel.send(f"You have been freed, {user.mention}.", delete_after=10) conn.commit()
async def balance(self, ctx, user: discord.Member = None): if user == None: user = ctx.author c.execute(f"SELECT * FROM eco WHERE id = {user.id}") rows = c.fetchall() rows = self.check(rows, user) emoji = discget(ctx.guild.emojis, name='guilder') em = discord.Embed(color=0xFF0000) em.add_field(name=f"{user.name}'s balance:", value=f"{emoji}{str(rows[0][1])}") await ctx.send(embed=em)
async def prisoners(self, ctx): c.execute("SELECT * FROM users") rows = c.fetchall() em = discord.Embed(color=0xFF0000, title='List of all prisoners:') for row in rows: if row[1] == 'True ': user = discget(self.bot.get_all_members(), id=row[0]) if user == None: em.add_field(name=row[0], value='Unknown Name') else: em.add_field(name=user.name, value=user.mention) else: pass await ctx.send(embed=em)
async def work(self, ctx): c.execute(f"SELECT * FROM eco WHERE id = {ctx.author.id}") rows = c.fetchall() rows = self.check(rows, ctx.author) amount = random.randint(20, 100) emoji = discget(ctx.guild.emojis, name='guilder') if int(time.time() - float(rows[0][2])) > 30: await ctx.send( f'You worked for {emoji}{amount}, {ctx.author.mention}') c.execute( f"UPDATE eco SET lastworked = {time.time()}, amount = {rows[0][1] + amount} WHERE id = {ctx.author.id}" ) else: await ctx.send( f"You need to wait {int(30 - (time.time() - float(rows[0][2])))} more seconds to work, {ctx.author.mention}" ) conn.commit()