async def decherulize(bot: KokkoroBot, ev: EventInterface):
    s = ev.get_param().remain
    if len(s) > 1501:
        await bot.kkr_send(ev, '切、切噜太长切不动勒切噜噜...', at_sender=True)
        return
    msg = bot.kkr_at(ev.get_author_id()) + '的切噜噜是:\n' + escape(cheru2str(s))
    # if random.random() < 0.2:
    #     await cheru_record(bot, ev)
    await bot.kkr_send(ev, msg)
def _gen_namelist_text(bot: KokkoroBot,
                       bm: BattleMaster,
                       uidlist: List[str],
                       memolist: List[str] = None,
                       do_at=False):
    if do_at:
        mems = map(lambda x: str(bot.kkr_at(x)), uidlist)
    else:
        mems = map(lambda x: bm.get_member(x) or {'name': str(x)}, uidlist)
        mems = map(lambda x: x['name'], mems)
    if memolist:
        mems = list(mems)
        for i in range(len(mems)):
            if i < len(memolist) and memolist[i]:
                mems[i] = f"{mems[i]}:{memolist[i]}"
    return mems
Esempio n. 3
0
async def call_subscribe(bot: KokkoroBot, ev: EventInterface, round_: int,
                         boss: int):
    bm = BattleMaster(ev.get_group_id())
    msg = []
    sub = _load_sub(bm.group)
    slist = sub.get_sub_list(boss)
    mlist = sub.get_memo_list(boss)
    tlist = sub.get_tree_list()
    if slist:
        msg.append(f"你们预约的老{BattleMaster.int2kanji(boss)}出现啦!")
        msg.extend(_gen_namelist_text(bot, bm, slist, mlist, do_at=True))
    if slist and tlist:
        msg.append("==========")
    if tlist:
        msg.append(f"以下成员可以下树了")
        msg.extend(map(lambda x: str(bot.kkr_at(x)), tlist))
        sub.clear_tree()
        _save_sub(sub, bm.group)
    if msg:
        await bot.kkr_send(ev, '\n'.join(msg),
                           at_sender=False)  # do not at the sender