diff options
Diffstat (limited to 'ATRI/plugins/funny.py')
-rw-r--r-- | ATRI/plugins/funny.py | 113 |
1 files changed, 47 insertions, 66 deletions
diff --git a/ATRI/plugins/funny.py b/ATRI/plugins/funny.py index 03b844a..72e5abb 100644 --- a/ATRI/plugins/funny.py +++ b/ATRI/plugins/funny.py @@ -22,28 +22,26 @@ __doc__ = """ 来句笑话 """ -get_laugh = sv.on_command( - cmd='来句笑话', - docs=__doc__, - rule=is_in_service('来句笑话') -) +get_laugh = sv.on_command(cmd="来句笑话", docs=__doc__, rule=is_in_service("来句笑话")) + @get_laugh.handle() async def _get_laugh(bot: Bot, event: MessageEvent) -> None: user_name = event.sender.nickname laugh_list = [] - - FILE = Path('.') / 'ATRI' / 'data' / 'database' / 'funny' / 'laugh.txt' - with open(FILE, 'r', encoding='utf-8') as r: + + FILE = Path(".") / "ATRI" / "data" / "database" / "funny" / "laugh.txt" + with open(FILE, "r", encoding="utf-8") as r: for line in r: - laugh_list.append(line.strip('\n')) - + laugh_list.append(line.strip("\n")) + result = choice(laugh_list) await get_laugh.finish(result.replace("%name", user_name)) me_to_you = sv.on_message() + @me_to_you.handle() async def _me_to_you(bot: Bot, event: MessageEvent) -> None: if randint(0, 15) == 5: @@ -59,38 +57,28 @@ __doc__ = """ 抽老婆 """ -roll_wife = sv.on_command( - cmd='抽老婆', - docs=__doc__, - rule=is_in_service('抽老婆') -) +roll_wife = sv.on_command(cmd="抽老婆", docs=__doc__, rule=is_in_service("抽老婆")) + @roll_wife.handle() async def _roll_wife(bot: Bot, event: GroupMessageEvent) -> None: user = event.user_id group = event.group_id - - user_name = await bot.get_group_member_info(group_id=group, - user_id=user) - user_name = user_name['nickname'] + + user_name = await bot.get_group_member_info(group_id=group, user_id=user) + user_name = user_name["nickname"] run = await is_too_exciting(user, group, 5, True) if not run: return - + luck_list = await bot.get_group_member_list(group_id=group) luck_user = choice(luck_list) - luck_qq = luck_user['user_id'] - luck_user = luck_user['nickname'] - msg = ( - "5秒后咱将随机抽取一位群友成为\n" - f"{user_name} 的老婆!究竟是谁呢~?" - ) + luck_qq = luck_user["user_id"] + luck_user = luck_user["nickname"] + msg = "5秒后咱将随机抽取一位群友成为\n" f"{user_name} 的老婆!究竟是谁呢~?" await bot.send(event, msg) await asyncio.sleep(5) - msg = ( - f"> {luck_user}({luck_qq})\n" - f"恭喜成为 {user_name} 的老婆~⭐" - ) + msg = f"> {luck_user}({luck_qq})\n" f"恭喜成为 {user_name} 的老婆~⭐" await bot.send(event, msg) @@ -107,43 +95,34 @@ __doc__ = """ /fakemsg 123456789*生草人*草 114514*仙贝*臭死了 """ -fake_msg = sv.on_command( - cmd="/fakemsg", - docs=__doc__, - rule=is_in_service('fakemsg') -) +fake_msg = sv.on_command(cmd="/fakemsg", docs=__doc__, rule=is_in_service("fakemsg")) + @fake_msg.handle() async def _fake_msg(bot: Bot, event: GroupMessageEvent) -> None: - msg = str(event.message).split(' ') + msg = str(event.message).split(" ") user = event.user_id group = event.group_id node = [] check = await is_too_exciting(user, group, 1, True) - + if check: for i in msg: - args = i.split('*') + args = i.split("*") qq = args[0] - name = args[1].replace('[', '[') - name = name.replace(']', ']') - repo = args[2].replace('[', '[') - repo = repo.replace(']', ']') - dic = { - "type": "node", - "data": { - "name": name, - "uin": qq, - "content": repo - } - } + name = args[1].replace("[", "[") + name = name.replace("]", "]") + repo = args[2].replace("[", "[") + repo = repo.replace("]", "]") + dic = {"type": "node", "data": {"name": name, "uin": qq, "content": repo}} node.append(dic) await bot.send_group_forward_msg(group_id=group, messages=node) EAT_URL = "https://wtf.hiigara.net/api/run/{}" -eat_wat = sv.on_regex(r"[今|明|后|大后]天(.*?)吃什么", rule=is_in_service('今天吃什么')) +eat_wat = sv.on_regex(r"[今|明|后|大后]天(.*?)吃什么", rule=is_in_service("今天吃什么")) + @eat_wat.handle() async def _eat(bot: Bot, event: MessageEvent) -> None: @@ -152,7 +131,7 @@ async def _eat(bot: Bot, event: MessageEvent) -> None: user_n = event.sender.nickname arg = re.findall(r"[今|明|后|大后]天(.*?)吃什么", msg)[0] nd = re.match(r"[今|明|后|大后][天]", msg)[0] - + if arg == "中午": a = f"LdS4K6/{randint(0, 999999)}" url = EAT_URL.format(a) @@ -160,12 +139,12 @@ async def _eat(bot: Bot, event: MessageEvent) -> None: try: data = json.loads(await post_bytes(url, params)) except RequestTimeOut: - raise RequestTimeOut('Request failed!') - - text = to_simple_string(data['text']).replace('今天', nd) + raise RequestTimeOut("Request failed!") + + text = to_simple_string(data["text"]).replace("今天", nd) get_a = re.search(r"非常(.*?)的", text)[0] - result = f"> {MessageSegment.at(user)}\n" + text.replace(get_a, '') - + result = f"> {MessageSegment.at(user)}\n" + text.replace(get_a, "") + elif arg == "晚上": a = f"KaTMS/{randint(0, 999999)}" url = EAT_URL.format(a) @@ -173,11 +152,11 @@ async def _eat(bot: Bot, event: MessageEvent) -> None: try: data = json.loads(await post_bytes(url, params)) except RequestTimeOut: - raise RequestTimeOut('Request failed!') - - text = to_simple_string(data['text']).replace('今天', '') + raise RequestTimeOut("Request failed!") + + text = to_simple_string(data["text"]).replace("今天", "") result = f"> {MessageSegment.at(user)}\n" + text - + else: rd = randint(1, 10) if rd == 5: @@ -189,10 +168,12 @@ async def _eat(bot: Bot, event: MessageEvent) -> None: try: data = json.loads(await post_bytes(url, params)) except RequestTimeOut: - raise RequestTimeOut('Request failed!') - - text = to_simple_string(data['text']).replace('今天', nd) + raise RequestTimeOut("Request failed!") + + text = to_simple_string(data["text"]).replace("今天", nd) get_a = re.match(r"(.*?)的智商", text)[0] - result = f"> {MessageSegment.at(user)}\n" + text.replace(get_a, f'{user_n}的智商') - + result = f"> {MessageSegment.at(user)}\n" + text.replace( + get_a, f"{user_n}的智商" + ) + await eat_wat.finish(Message(result)) |