Skip to content

Commit e57d42d

Browse files
committed
feat: init quick confirm (Teahouse-Studios#1046)
Signed-off-by: xtex <[email protected]>
1 parent dea485a commit e57d42d

File tree

5 files changed

+13
-3
lines changed

5 files changed

+13
-3
lines changed

config/config.toml.example

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ debug = false
3131
cache_path = "./cache/"
3232
command_prefix = ["~", "~",]
3333
confirm_command = ["是", "对", "對", "yes", "Yes", "YES", "y", "Y",]
34+
quick_confirm = true
3435
disabled_bots =
3536
locale = "zh_cn"
3637
timezone_offset = "+8"

core/builtins/message/__init__.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from core.builtins.message.internal import *
88
from core.builtins.tasks import MessageTaskManager
99
from core.builtins.temp import ExecutionLockList
10-
from core.builtins.utils import confirm_command
10+
from core.builtins.utils import confirm_command, quick_confirm
1111
from core.exceptions import WaitCancelException
1212
from core.types.message import MessageSession as MessageSessionT, MsgInfo, Session
1313
from core.utils.i18n import Locale
@@ -52,6 +52,8 @@ async def wait_confirm(self, message_chain=None, quote=True, delete=True, append
5252
await send.delete()
5353
if result.as_display(text_only=True) in confirm_command:
5454
return True
55+
if quick_confirm and result.is_quick_confirm():
56+
return True
5557
return False
5658
else:
5759
raise WaitCancelException

core/builtins/tasks.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def add_task(cls, session: MessageSession, flag, all_=False, reply=None):
2323
Logger.debug(cls._list)
2424

2525
@classmethod
26-
def get_result(cls, session: MessageSession):
26+
def get_result(cls, session: MessageSession) -> MessageSession:
2727
if 'result' in cls._list[session.target.target_id][session.target.sender_id][session]:
2828
return cls._list[session.target.target_id][session.target.sender_id][session]['result']
2929
else:

core/builtins/utils/__init__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@
33

44

55
confirm_command = Config('confirm_command', default=["是", "对", "對", "yes", "Yes", "YES", "y", "Y"])
6+
quick_confirm = Config('quick_confirm', default=True)
67
command_prefix = Config('command_prefix', default=['~', '~']) # 消息前缀
78

89

910
class EnableDirtyWordCheck:
1011
status = False
1112

1213

13-
__all__ = ["confirm_command", "command_prefix", "EnableDirtyWordCheck", "PrivateAssets", "Secret"]
14+
__all__ = ["confirm_command", "quick_confirm", "command_prefix", "EnableDirtyWordCheck", "PrivateAssets", "Secret"]

core/types/message/__init__.py

+6
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,12 @@ async def check_native_permission(self):
201201
"""
202202
raise NotImplementedError
203203

204+
def is_quick_confirm(self) -> bool:
205+
"""
206+
用于检查消息是否可用作快速确认事件。
207+
"""
208+
return False
209+
204210
async def fake_forward_msg(self, nodelist):
205211
"""
206212
用于发送假转发消息(QQ)。

0 commit comments

Comments
 (0)