24 lines
826 B
Python
24 lines
826 B
Python
|
|
class WelcomePolicy:
|
||
|
|
DEFAULT_WELCOME_MESSAGE = (
|
||
|
|
"\u4f60\u597d\uff01\u6211\u662f AI \u52a9\u624b\uff0c\u6709\u4ec0\u4e48\u53ef\u4ee5\u5e2e\u4f60\u7684\uff1f"
|
||
|
|
)
|
||
|
|
|
||
|
|
def __init__(self):
|
||
|
|
self._welcomed_users: set[str] = set()
|
||
|
|
self._message_template: str | None = None
|
||
|
|
|
||
|
|
def configure(self, message_template: str | None = None) -> None:
|
||
|
|
if message_template:
|
||
|
|
self._message_template = message_template
|
||
|
|
|
||
|
|
def mark_welcomed(self, internal_user_id: str) -> bool:
|
||
|
|
if internal_user_id in self._welcomed_users:
|
||
|
|
return False
|
||
|
|
self._welcomed_users.add(internal_user_id)
|
||
|
|
return True
|
||
|
|
|
||
|
|
def get_welcome_message(self) -> str:
|
||
|
|
if self._message_template:
|
||
|
|
return self._message_template
|
||
|
|
return self.DEFAULT_WELCOME_MESSAGE
|