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
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