summaryrefslogtreecommitdiff
path: root/ATRI/plugins/funny.py
diff options
context:
space:
mode:
Diffstat (limited to 'ATRI/plugins/funny.py')
-rw-r--r--ATRI/plugins/funny.py53
1 files changed, 28 insertions, 25 deletions
diff --git a/ATRI/plugins/funny.py b/ATRI/plugins/funny.py
index f334bcf..6a50b7f 100644
--- a/ATRI/plugins/funny.py
+++ b/ATRI/plugins/funny.py
@@ -3,15 +3,10 @@ from pathlib import Path
from random import choice, randint
from nonebot.adapters.cqhttp import Bot, MessageEvent, GroupMessageEvent
-from nonebot.adapters.cqhttp.message import Message
from ATRI.service import Service as sv
from ATRI.utils.limit import is_too_exciting
-from ATRI.rule import (
- is_block,
- is_in_dormant,
- is_in_service
-)
+from ATRI.rule import is_in_service
__doc__ = """
@@ -21,18 +16,18 @@ __doc__ = """
来句笑话
"""
-get_laugh = sv.on_command(
- cmd="来句笑话",
- docs=__doc__,
- rule=is_block() & is_in_dormant()
- & is_in_service('来句笑话')
-)
+get_laugh = sv.on_message(rule=is_in_service('来句笑话'))
+sv.manual_reg_service('来句笑话', __doc__)
@get_laugh.handle()
async def _get_laugh(bot: Bot, event: MessageEvent) -> None:
user_name = event.sender.nickname
+ msg = str(event.message)
laugh_list = []
+ if msg != "来句笑话":
+ return
+
FILE = Path('.') / 'ATRI' / 'data' / 'database' / 'funny' / 'laugh.txt'
with open(FILE, 'r', encoding='utf-8') as r:
for line in r:
@@ -42,14 +37,19 @@ async def _get_laugh(bot: Bot, event: MessageEvent) -> None:
await get_laugh.finish(result.replace("%name", user_name))
-me_to_you = sv.on_message(
- rule=is_block() & is_in_dormant() & is_in_service('你又行了')
-)
-sv.manual_reg_service('你又行了')
+__doc__ = """
+你又行了
+权限组:所有人
+用法:
+ (被动触发)
+"""
+
+me_to_you = sv.on_message(rule=is_in_service('你又行了'))
+sv.manual_reg_service('你又行了', __doc__)
@me_to_you.handle()
async def _me_to_you(bot: Bot, event: MessageEvent) -> None:
- if randint(0, 5) == 5:
+ if randint(0, 15) == 5:
msg = str(event.message)
if "我" in msg and "CQ" not in msg:
await me_to_you.finish(msg.replace("我", "你"))
@@ -62,16 +62,18 @@ __doc__ = """
抽老婆
"""
-roll_wife = sv.on_command(
- cmd="抽老婆",
- docs=__doc__,
- rule=is_block() & is_in_dormant() & is_in_service('抽老婆')
-)
+roll_wife = sv.on_message(rule=is_in_service('抽老婆'))
+sv.manual_reg_service('抽老婆', __doc__)
@roll_wife.handle()
async def _roll_wife(bot: Bot, event: GroupMessageEvent) -> None:
user = event.user_id
group = event.group_id
+ msg = str(event.message)
+
+ if msg != "抽老婆":
+ return
+
user_name = await bot.get_group_member_info(group_id=group,
user_id=user)
user_name = user_name['nickname']
@@ -110,9 +112,10 @@ __doc__ = """
"""
fake_msg = sv.on_command(
- cmd="/fm",
+ cmd="fakemsg",
+ aliases={'fm'},
docs=__doc__,
- rule=is_block() & is_in_service('/fm') & is_in_dormant()
+ rule=is_in_service('fakemsg')
)
@fake_msg.handle()
@@ -121,7 +124,7 @@ async def _fake_msg(bot: Bot, event: GroupMessageEvent) -> None:
user = event.user_id
group = event.group_id
node = []
- check = await is_too_exciting(user, group, 2, True)
+ check = await is_too_exciting(user, group, 1, True)
if check:
for i in msg: