예제 #1
0
파일: farm.py 프로젝트: PatchKnow/Ashley
 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"))
예제 #2
0
파일: staff.py 프로젝트: PatchKnow/Ashley
 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!``"
         )
예제 #3
0
파일: gif.py 프로젝트: PatchKnow/Ashley
 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"))
예제 #4
0
 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"))
예제 #5
0
파일: farm.py 프로젝트: PatchKnow/Ashley
    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``')
예제 #6
0
    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