Ejemplo n.º 1
0
    async def get_history(self, ctx: commands.Command, *argv):
        historyJp = KujiUtil.getHistoryJp(ctx.author.id)
        historyCn = KujiUtil.getHistoryCn(ctx.author.id)
        historyLs = KujiUtil.getHistoryLs(ctx.author.id)
        if (-1, None) == historyJp and (-1, None) == historyLs and (
                -1, -1, None) == historyCn:
            await ctx.reply("親愛的員工, 你還沒抽過籤呢! 先試著抽一個看看?.")
        if not (-1, None) == historyLs:
            ls = LUNGSHAN[historyLs[0]]
            status = ls["status"]
            img = File(KujiUtil.getImageUrlLs(status),
                       filename=KujiUtil.getImageNameLs(status))
            await ctx.reply(file=img,
                            embed=KujiEmbed.createEmbededLs(
                                ls, datetime.now(),
                                f"{self.bot.user.name} - 抽籤遊戲"))

        if not (-1, None) == historyJp:
            kuji = OMIKUJI[historyJp[0]]
            imagePath = KujiUtil.generageImageForJp(KujiObj(kuji))
            img = File(imagePath, filename=KujiUtil.getKujiImageName())
            await ctx.reply(file=img,
                            embed=KujiEmbed.createEmbededJp(
                                kuji, historyJp[1],
                                f"{self.bot.user.name} - 抽籤遊戲"))

        if not (-1, -1, None) == historyCn:
            yi = KujiUtil.getTargetedYi(historyCn[0], historyCn[1])
            await ctx.reply(embed=KujiEmbed.createEmbededCn(
                yi, historyCn[2], f"{self.bot.user.name} - 抽籤遊戲"))
Ejemplo n.º 2
0
    def createEmbededLs(ls, timestamp, author: str):
        status = ls["status"]
        title = KujiEmbed.getTitle(timestamp)
        imageUri = 'attachment://{}'.format(KujiUtil.getImageNameLs(status))
        title += "\n台北龍山寺觀音籤· {}\n".format(status)
        if len(ls["image"]) > 0:
            title += "{} · {}".format(ls["title"], ls["image"])
        else:
            title += "{}".format(ls["title"])
        payload = ls["payload"]
        description = "**{}**\n".format(ls["poem_line1"])
        description += "**{}**\n".format(ls["poem_line2"])
        description += "**{}**\n".format(ls["poem_line3"])
        description += "**{}**\n".format(ls["poem_line4"])
        description += "\n詩意:\n{}\n".format(ls["meaning"])
        description += "\n解曰:\n{}\n".format(ls["explain"])
        if len(payload) > 0:
            description += "\n聖意:\n"

        embedMsg = Embed(title=title,
                         description=description,
                         color=KujiUtil.getColorLs(status))
        embedMsg.set_author(name=author)
        embedMsg.set_thumbnail(url=imageUri)
        embedMsg.set_image(url=ls["url"])
        for key in payload:
            embedMsg.add_field(name=key, value=payload[key], inline=True)
        return embedMsg
Ejemplo n.º 3
0
 async def draw_ls(self, ctx: commands.Command, *argv):
     if not KujiUtil.canDrawLs(ctx.author.id):
         await ctx.reply("親愛的員工, 你今天已經抽過龍山寺籤了哦! 每人一天只限一次.")
         return
     if not await self.checkToken(ctx):
         return
     random.seed(random.random())
     index = random.randint(0, 98)
     ls = LUNGSHAN[index]
     status = ls["status"]
     img = File(KujiUtil.getImageUrlLs(status),
                filename=KujiUtil.getImageNameLs(status))
     await ctx.reply(file=img,
                     embed=KujiEmbed.createEmbededLs(
                         ls, datetime.now(),
                         f"{self.bot.user.name} - 抽籤遊戲"))
     KujiUtil.updateMemberLs(ctx.author.id, index)