async def METHOD_NAME(self, ctx):
    """Use a ticket to trick or treat."""
    member = await self.bot.mongo.fetch_member_info(ctx.author)
    if member.halloween_tickets_2021 <= 0:
        return await ctx.send("You don't have enough tickets to do that!")
    await self.bot.mongo.update_member(
        ctx.author, {"$inc": {"halloween_trick_or_treats": 1, "halloween_tickets_2021": -1}}
    )
    # Go
    reward = random.choices(*CRATE_REWARDS, k=1)[0]
    if reward == "shards":
        shards = round(random.normalvariate(25, 10))
        await self.bot.mongo.update_member(ctx.author, {"$inc": {"premium_balance": shards}})
        text = f"{shards} Shards"
    elif reward == "redeem":
        await self.bot.mongo.update_member(ctx.author, {"$inc": {"redeems": 1}})
        text = "1 redeem"
    elif reward in ("event", "spooky", "rare", "shiny"):
        pool = [x for x in self.pools[reward] if x.catchable or reward == "event"]
        species = random.choices(pool, weights=[x.abundance for x in pool], k=1)[0]
        level = min(max(int(random.normalvariate(30, 10)), 1), 100)
        shiny = reward == "shiny" or member.determine_shiny(species)
        ivs = [mongo.random_iv() for i in range(6)]
        pokemon = {
            "owner_id": ctx.author.id,
            "owned_by": "user",
            "species_id": species.id,
            "level": level,
            "xp": 0,
            "nature": mongo.random_nature(),
            "iv_hp": ivs[0],
            "iv_atk": ivs[1],
            "iv_defn": ivs[2],
            "iv_satk": ivs[3],
            "iv_sdef": ivs[4],
            "iv_spd": ivs[5],
            "iv_total": sum(ivs),
            "shiny": shiny,
            "idx": await self.bot.mongo.fetch_next_idx(ctx.author),
        }
        text = f"{self.bot.mongo.Pokemon.build_from_mongo(pokemon):lni} ({sum(ivs) / 186:.2%} IV)"
        await self.bot.mongo.db.pokemon.insert_one(pokemon)
    else:
        text = "Nothing"
    embed = self.bot.Embed(title="🍬 Treat!" if reward == "event" else "👻 Trick!", description=text)
    embed.set_author(icon_url=ctx.author.display_avatar.url, name=str(ctx.author))
    await ctx.send(embed=embed)