2024-01-26 15:51:49 +08:00
|
|
|
import random
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from .. import rule as rule_model
|
|
|
|
|
from .. import entities
|
2024-02-11 23:07:38 +08:00
|
|
|
from ....core import entities as core_entities
|
2024-09-26 00:23:03 +08:00
|
|
|
from ....platform.types import message as platform_message
|
2024-01-26 15:51:49 +08:00
|
|
|
|
|
|
|
|
|
2024-03-12 23:34:13 +08:00
|
|
|
@rule_model.rule_class("random")
|
2024-01-26 15:51:49 +08:00
|
|
|
class RandomRespRule(rule_model.GroupRespondRule):
|
|
|
|
|
|
|
|
|
|
async def match(
|
|
|
|
|
self,
|
|
|
|
|
message_text: str,
|
2024-09-26 00:23:03 +08:00
|
|
|
message_chain: platform_message.MessageChain,
|
2024-02-11 23:35:05 +08:00
|
|
|
rule_dict: dict,
|
|
|
|
|
query: core_entities.Query
|
2024-01-26 15:51:49 +08:00
|
|
|
) -> entities.RuleJudgeResult:
|
2024-02-06 21:26:03 +08:00
|
|
|
random_rate = rule_dict['random']
|
2024-01-26 15:51:49 +08:00
|
|
|
|
|
|
|
|
return entities.RuleJudgeResult(
|
|
|
|
|
matching=random.random() < random_rate,
|
|
|
|
|
replacement=message_chain
|
|
|
|
|
)
|