Update
This commit is contained in:
parent
47b991559f
commit
4e2291a5c5
2 changed files with 14 additions and 9 deletions
|
@ -36,6 +36,7 @@ from nyx_bot.utils import (
|
||||||
make_datetime,
|
make_datetime,
|
||||||
make_single_quote_image,
|
make_single_quote_image,
|
||||||
strip_beginning_quote,
|
strip_beginning_quote,
|
||||||
|
user_name,
|
||||||
)
|
)
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
@ -457,22 +458,23 @@ async def bulk_update_messages(
|
||||||
|
|
||||||
|
|
||||||
def gen_result_randomdraw(
|
def gen_result_randomdraw(
|
||||||
query: str, username: str, user_id: int, prob: bool = False
|
room: MatrixRoom, query: str, user_id: str, hash_: int, prob: bool = False
|
||||||
) -> str:
|
) -> str:
|
||||||
if not query:
|
if not query:
|
||||||
seed = int("{}{}".format(time.strftime("%Y%m%d", time.localtime()), user_id))
|
seed = int("{}{}".format(time.strftime("%Y%m%d", time.localtime()), hash_))
|
||||||
else:
|
else:
|
||||||
seed = int(
|
seed = int(
|
||||||
"{}{}{}".format(
|
"{}{}{}".format(
|
||||||
int(hashlib.md5(query.encode("utf-8")).hexdigest(), 16),
|
int(hashlib.md5(query.encode("utf-8")).hexdigest(), 16),
|
||||||
time.strftime("%Y%m%d", time.localtime()),
|
time.strftime("%Y%m%d", time.localtime()),
|
||||||
user_id,
|
hash_,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
random.seed(a=seed, version=2)
|
random.seed(a=seed, version=2)
|
||||||
draw_result = random.randint(0, 10000) / 10000
|
draw_result = random.randint(0, 10000) / 10000
|
||||||
random.seed(a=seed, version=2)
|
random.seed(a=seed, version=2)
|
||||||
result_type = random.randint(0, 1)
|
result_type = random.randint(0, 1)
|
||||||
|
user_pill = make_pill(user_id, user_name(room, user_id))
|
||||||
if prob:
|
if prob:
|
||||||
result = draw_result if result_type else 1.0 - draw_result
|
result = draw_result if result_type else 1.0 - draw_result
|
||||||
result = f"{result*100:.2f}%"
|
result = f"{result*100:.2f}%"
|
||||||
|
@ -486,15 +488,15 @@ def gen_result_randomdraw(
|
||||||
if len(query) == 0:
|
if len(query) == 0:
|
||||||
if prob:
|
if prob:
|
||||||
result = "你好, {}\n汝今天{}概率是 {}".format(
|
result = "你好, {}\n汝今天{}概率是 {}".format(
|
||||||
username, "行大运" if result_type else "倒大霉", result
|
user_pill, "行大运" if result_type else "倒大霉", result
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
result = "你好, {}\n汝的今日运势: {}".format(username, result)
|
result = "你好, {}\n汝的今日运势: {}".format(user_pill, result)
|
||||||
else:
|
else:
|
||||||
if prob:
|
if prob:
|
||||||
result = "你好, {}\n所求事项: {}\n结果: 此事有 {} 的概率{}".format(
|
result = "你好, {}\n所求事项: {}\n结果: 此事有 {} 的概率{}".format(
|
||||||
username, query, result, "发生" if result_type else "不发生"
|
user_pill, query, result, "发生" if result_type else "不发生"
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
result = "你好, {}\n所求事项: {}\n结果: {}".format(username, query, result)
|
result = "你好, {}\n所求事项: {}\n结果: {}".format(user_pill, query, result)
|
||||||
return result
|
return result
|
||||||
|
|
|
@ -7,7 +7,6 @@ from nio import AsyncClient, MatrixRoom, RoomMessageText
|
||||||
from nyx_bot.chat_functions import gen_result_randomdraw, send_text_to_room
|
from nyx_bot.chat_functions import gen_result_randomdraw, send_text_to_room
|
||||||
from nyx_bot.config import Config
|
from nyx_bot.config import Config
|
||||||
from nyx_bot.jerryxiao import send_jerryxiao
|
from nyx_bot.jerryxiao import send_jerryxiao
|
||||||
from nyx_bot.utils import user_name
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -58,7 +57,11 @@ class Message:
|
||||||
async def _randomdraw(self, query: str, prob: bool) -> None:
|
async def _randomdraw(self, query: str, prob: bool) -> None:
|
||||||
sender = self.event.sender
|
sender = self.event.sender
|
||||||
msg = gen_result_randomdraw(
|
msg = gen_result_randomdraw(
|
||||||
query.strip(), user_name(self.room, sender), crc32(sender.encode()), prob
|
self.room,
|
||||||
|
query.strip(),
|
||||||
|
sender,
|
||||||
|
crc32(sender.encode()),
|
||||||
|
prob,
|
||||||
)
|
)
|
||||||
await send_text_to_room(
|
await send_text_to_room(
|
||||||
self.client,
|
self.client,
|
||||||
|
|
Loading…
Reference in a new issue