diff options
Diffstat (limited to 'utilities.lisp')
-rw-r--r-- | utilities.lisp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/utilities.lisp b/utilities.lisp index b6cf16a..5644f2e 100644 --- a/utilities.lisp +++ b/utilities.lisp @@ -23,3 +23,15 @@ :external-format :utf-8)) :external-format :latin1)) +(defparameter +user-nick-chars+ "0123456789abcdefghijklmnopqrstuvwxyz-._") + +(defun/t valid-nick-p (nick) + :tests + (eql ("??????") nil) + (eql ("⚔") nil) + (eql ("cool_beans") t) + (eql ("COOOL_BEANS") t) + (eql ("COOL beans") nil) + :end + (unless (zerop (length nick)) + (every (lambda (char) (find char +user-nick-chars+)) (string-downcase nick)))) |