async def respawn(self, ctx): if ctx.guild.id == _auth['default_guild']: cargos = ctx.author.roles record = self.bot.db.get_data("user_id", ctx.author.id, "users") updates = record if ctx.author.id == record["user_id"]: roles = record['config']['roles'] if len(roles) > 0: await ctx.send( "<a:loading:520418506567843860>│``AGUARDE, ESTOU RETORNANDO VOCE " "PARA ONDE`` **VOCÊ ESTAVA**") for c in range(0, len(cargos)): if cargos[c].name != "@everyone": await ctx.author.remove_roles(cargos[c]) await sleep(1) for c in range(0, len(roles)): role = discord.utils.find(lambda r: r.name == roles[c], ctx.guild.roles) await ctx.author.add_roles(role) await sleep(1) updates['config']['roles'] = [] updates['config']['provinces'] = None self.bot.db.update_data(record, updates, "users") else: await ctx.send( "<:alert_status:519896811192844288>│``VOCE NAO TEM CARGOS NO BANCO DE " "DADOS!``") else: await ctx.send( t_( ctx, "<:oc_status:519896814225457152>│``Desculpe, mas apenas os`` **Membros do meu servidor** " "``podem usar esse comando!``", "guilds"))
async def _delete(self, ctx, number: int): if number > 100: return await ctx.send( t_( ctx, "<:negate:520418505993093130>│``Você nao pode apagar mais do que 100 " "mensagens``", "guild")) try: await ctx.message.channel.purge(limit=number) except discord.Forbidden: await ctx.send( "<:negate:520418505993093130>│``Não tenho permissão para apagar mensagens nesse servidor!``" )
async def gif(self, ctx, *, tag: str = None): if tag is None: return await ctx.send( '<:negate:520418505993093130>│``DIGITE UMA TAG PARA O GIF``') try: answer = gif_api(tag) embed_gif = discord.Embed(title="\n", description='\n', color=color) embed_gif.set_image(url=answer) embed_gif.set_footer(text=self.bot.user.name, icon_url=self.bot.user.avatar_url) await ctx.send(embed=embed_gif) except None: await ctx.send( t_(ctx, 'Não encontrei nenhuma gif para essa tag!', "guilds"))
async def roles(self, ctx): if ctx.guild.id == _auth['default_guild']: embed = discord.Embed( title="Escolha a área que você deseja ver:", color=color, description= "- Para pegar o cargo **</Shop>**: Clique em :skull_crossbones:\n" "- Para pegar o cargo **</Lore>**: Clique em :crossed_swords:\n" ) bot_msg = await ctx.send(embed=embed) await bot_msg.add_reaction('☠') await bot_msg.add_reaction('⚔') global msg_id msg_id = bot_msg.id global msg_user msg_user = ctx.author else: await ctx.send( t_( ctx, "<:negate:520418505993093130>│``Desculpe, mas apenas os`` **Membros do meu servidor** ``podem " "usar esse comando!``", "guilds"))
async def teleport(self, ctx): record = self.bot.db.get_data("user_id", ctx.author.id, "users") if ctx.author.id == record["user_id"]: if record['config']['provinces'] is None: global msg_user_farm msg_user_farm = ctx.author if ctx.guild.id == _auth['default_guild']: embed = discord.Embed( title="Escolha a área que você deseja Ir:\n" "```COMANDO PARA VOLTAR AO CLAN ATUAL: ash.respawn```", color=color, description= "- Para ir até **Etheria**: Clique em :crystal_ball:\n" "- Para ir até **Rauberior**: Clique em :lion_face:\n" "- Para ir até **Ilumiora**: Clique em :candle:\n" "- Para ir até **Kerontaris**: Clique em :skull:\n" "- Para ir até **Widebor**: Clique em :bird:\n" "- Para ir até **Jangalor**: Clique em :deciduous_tree:\n" "- Para ir até **Yotungar**: Clique em :dagger:\n" "- Para ir até **Shoguriar**: Clique em :japanese_castle:\n" "- Para ir até **Dracaris**: Clique em :fire:\n" "- Para ir até **Forgerion**: Clique em :hammer_pick:") botmsg = await ctx.message.channel.send(embed=embed) await botmsg.add_reaction('🔮') await botmsg.add_reaction('🦁') await botmsg.add_reaction('🕯') await botmsg.add_reaction('💀') await botmsg.add_reaction('🐦') await botmsg.add_reaction('🌳') await botmsg.add_reaction('🗡') await botmsg.add_reaction('🏯') await botmsg.add_reaction('🔥') await botmsg.add_reaction('⚒') global msg_area_id msg_area_id = botmsg.id area = 0 while True: if escolheu is True and area > resposta_area: area = 0 if area == resposta_area: break if area >= 30: await ctx.send( "<:oc_status:519896814225457152>│``Você demorou demais pra " "escolher`` **COMANDO CANCELADO!**") break area += 1 await sleep(1) if resposta_area != -1: rules = ctx.author.roles roles = [ r.name for r in ctx.author.roles if r.name != "@everyone" ] await self.add_role(ctx, roles, areas_ctf[resposta_area]) for c in range(0, len(rules)): if rules[c].name != "@everyone": await ctx.author.remove_roles(rules[c]) await sleep(1) role = discord.utils.find( lambda r: r.name == areas_ctf[resposta_area], ctx.guild.roles) await ctx.author.add_roles(role) await botmsg.delete() else: await ctx.send( t_( ctx, "<:oc_status:519896814225457152>│``Desculpe, mas apenas os`` **Membros do meu servidor** " "``podem usar esse comando!``", "guilds")) else: await ctx.send( f'<:oc_status:519896814225457152>│``Você já está numa provincia! ' f'Retorne usando`` **({self.bot.prefix_} + respawn)** ``para conseguir ' f'ir para outra provincia primeiro``')
async def is_registered(self, ctx, **kwargs): if ctx.guild is not None: data_guild = self.bot.db.get_data("guild_id", ctx.guild.id, "guilds") data_user = self.bot.db.get_data("user_id", ctx.author.id, "users") update_user = data_user if data_guild is None: raise commands.CheckFailure( '<:negate:520418505993093130>│``Sua guilda ainda não está registrada, por ' 'favor digite:`` **ash register guild** ``para cadastrar sua guilda ' 'no meu`` **banco de dados!**') if data_user is not None: try: if kwargs.get("cooldown"): time_diff = (datetime.datetime.utcnow() - epoch).total_seconds() - \ update_user["cooldown"][str(ctx.command)] if time_diff < kwargs.get("time"): raise commands.CheckFailure( f'<:negate:520418505993093130>│**Aguarde**: `Você deve ' f'esperar` **{{:.2f}}** `horas para usar esse comando ' f'novamente!`'.format( (kwargs.get("time") - time_diff) / 3600)) if self.bot.guilds_commands[ctx.guild.id] > 50 or str( ctx.command) != "daily work": update_user['cooldown'][str( ctx.command)] = (datetime.datetime.utcnow() - epoch).total_seconds() except KeyError: if self.bot.guilds_commands[ctx.guild.id] > 50 or str( ctx.command) != "daily work": try: update_user['cooldown'][str( ctx.command)] = (datetime.datetime.utcnow() - epoch).total_seconds() except KeyError: update_user['cooldown'] = { str(ctx.command): (datetime.datetime.utcnow() - epoch).total_seconds() } if self.bot.guilds_commands[ctx.guild.id] > 50 or str( ctx.command) != "daily work": self.bot.db.update_data(data_user, update_user, 'users') if kwargs.get("vip") and data_guild['vip']: return True elif kwargs.get("vip") and data_guild['vip'] is False: raise commands.CheckFailure( "<:negate:520418505993093130>│``APENAS GUILDS PARCEIRAS PODEM USAR " "ESSE COMANDO``") return True else: raise commands.CheckFailure( t_( ctx, f'<:negate:520418505993093130>│``Você ainda não está registrado, ' f'por favor use`` **ash registro** ``ou`` **ash register**.', "guilds")) else: return True