Пример #1
0
async def pcr_comp(bot, ev: CQEvent):
    global g_result, g_uid
    uid = ev.user_id
    if not lmt.check(uid):
        await bot.send(ev, '今天已经赛过5次力', at_sender=True)
        return
    if g_result != []:
        await bot.send(ev,
                       '上一场比赛尚未结束,请等待\n※管理员发送“@bot赛跑重置”可重置比赛',
                       at_sender=True)
        return
    lmt.increase(uid)
    await bot.send(ev, f'第○届兰德索尔杯比赛开始!', at_sender=True)
    gid = str(ev.group_id)
    palyer = Palyer(_group_pool[gid])
    result = palyer.get_chara()
    result_number = palyer.get_num()
    res2 = chara.gen_team_pic(result, star_slot_verbose=False)
    res1 = chara.gen_team_pic(result_number, star_slot_verbose=False)
    res = concat_pic([res1, res2])
    res = pic2b64(res)
    res = MessageSegment.image(res)
    result_name = [f'{c.name}' for c in result]
    res_name = ' '.join(result_name)
    if sv.bot.config.USE_CQPRO:
        await bot.send(ev,
                       f'比赛选手:\n{res}\n{res_name}\n※发送“选中+角色名称”开始比赛',
                       at_sender=False)
    else:
        await bot.send(ev, f'error:CQpro is required')
    save_player(result_name)
    g_uid = uid
Пример #2
0
async def inquire_noble(bot, ev: CQEvent):

    gid = ev.group_id
    uid = ev.user_id
    duel = DuelCounter()
    score_counter = ScoreCounter2()
    if duel._get_level(gid, uid) == 0:
        msg = '您还未在本群创建过贵族,请发送 创建贵族 开始您的贵族之旅。'
        await bot.send(ev, msg, at_sender=True)
        return
    level = duel._get_level(gid, uid)
    noblename = get_noblename(level)
    girlnum = get_girlnum(level)
    score = score_counter._get_score(gid, uid)
    charalist = []

    cidlist = duel._get_cards(gid, uid)
    cidnum = len(cidlist)
    if cidnum == 0:
        msg = f'''
╔                          ╗
  您的爵位为{noblename}
  您的金币为{score}
  您共可拥有{girlnum}名女友
  您目前没有女友。
  发送[贵族约会]
  可以招募女友哦。
  
╚                          ╝
'''
        await bot.send(ev, msg, at_sender=True)

    else:
        for cid in cidlist:
            charalist.append(chara.Chara(cid, 0, 0))
        if cidnum <= 7:

            res = chara.gen_team_pic(charalist, star_slot_verbose=False)
        else:
            res1 = chara.gen_team_pic(charalist[:7], star_slot_verbose=False)
            res2 = chara.gen_team_pic(charalist[7:], star_slot_verbose=False)
            res = concat_pic([res1, res2])
        bio = BytesIO()
        res.save(bio, format='PNG')
        base64_str = 'base64://' + base64.b64encode(bio.getvalue()).decode()
        mes = f"[CQ:image,file={base64_str}]"

        msg = f'''
╔                          ╗
  您的爵位为{noblename}
  您的金币为{score}
  您共可拥有{girlnum}名女友
  您已拥有{cidnum}名女友
  她们是:
    {mes}   
╚                          ╝
'''
        await bot.send(ev, msg, at_sender=True)