diff options
author | thegoofist <49315797+thegoofist@users.noreply.github.com> | 2019-10-04 13:35:43 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-04 13:35:43 -0500 |
commit | 1fa9a1fc8cef784680bea4336f4ba4bed6185235 (patch) | |
tree | 8dc4ca0b56266672cc2e826a3c218c2911849e2e /utility-apps.lisp | |
parent | e5b24b5eac031b68712c75b463a0e138b617b02d (diff) | |
parent | 58f698906747f5285ce6f6344eea96e05a6931a6 (diff) |
Merge pull request #10 from thegoofist/room-event-id
Clean: *room-id* special var refactoring handle-event generic
Diffstat (limited to 'utility-apps.lisp')
-rw-r--r-- | utility-apps.lisp | 40 |
1 files changed, 16 insertions, 24 deletions
diff --git a/utility-apps.lisp b/utility-apps.lisp index 8395805..d9834ad 100644 --- a/utility-apps.lisp +++ b/utility-apps.lisp @@ -19,11 +19,11 @@ (loop :for (k . v) :in alist :do (format stream "~a: ~a~%" k v))) -(defmethod handle-event :after ((log message-log) (event timeline-event) &optional room) +(defmethod handle-event :after ((log message-log) (event timeline-event)) (when (logging-p log) (print "Joined Room Message/Timeline Event" (output log)) (terpri (output log)) - (let ((fields `(("room" . ,room) + (let ((fields `(("room" . ,*room-id*) ("sender" . ,(sender event)) ("event type" . ,(event-type event)) ("message type" . ,(msg-type event)) @@ -33,11 +33,11 @@ (terpri (output log))))) -(defmethod handle-event :after ((log message-log) (event room-state-event) &optional room) +(defmethod handle-event :after ((log message-log) (event room-state-event)) (when (logging-p log) (print "Joined Room State Event" (output log)) (terpri (output log)) - (let ((fields `(("room" . ,room) + (let ((fields `(("room" . ,*room-id*) ("sender" . ,(sender event)) ("event type" . ,(event-type event)) ("state key" . ,(state-key event)) @@ -45,8 +45,7 @@ (print-assoc fields (output log)) (terpri (output log))))) -(defmethod handle-event :after ((log message-log) (event account-data-event) &optional room) - (declare (ignore room)) +(defmethod handle-event :after ((log message-log) (event account-data-event)) (when (logging-p log) (print "Account Data Event" (output log)) (terpri (output log)) @@ -56,11 +55,11 @@ (terpri (output log)))) -(defmethod handle-event :after ((log message-log) (event invitation-event) &optional room) +(defmethod handle-event :after ((log message-log) (event invitation-event)) (when (logging-p log) (print "Invitation Event" (output log)) (terpri (output log)) - (let ((fields `(("room" . ,room) + (let ((fields `(("room" . ,*room-id*) ("sender" . ,(sender event)) ("event type" . ,(event-type event)) ("state key" . ,(state-key event)) @@ -110,29 +109,22 @@ (defun update-room-aliases (client room-id member) (declare (ignore client room-id member))) -(defmethod handle-event :after ((client server-directory) - (event room-state-event) - &optional room-id) +(defmethod handle-event :after ((client server-directory) (event room-state-event)) (cond ((string= "m.room.name" (event-type event)) - (update-room-name client room-id (room-name event))) + (update-room-name client *room-id* (room-name event))) ((string= "m.room.member" (event-type event)) - (update-room-member client room-id (sender event))) + (update-room-member client *room-id* (sender event))) ((string= "m.room.aliases" (event-type event)) - (update-room-aliases client room-id (room-aliases event))))) + (update-room-aliases client *room-id* (room-aliases event))))) -(defmethod handle-event :after ((client server-directory) - (event timeline-event) - &optional room-id) - (update-room-member client room-id (sender event))) +(defmethod handle-event :after ((client server-directory) (event timeline-event)) + (update-room-member client *room-id* (sender event))) -(defmethod handle-event :after ((client server-directory) - (event account-data-event) - &optional room-id) - (declare (ignore room-id)) +(defmethod handle-event :after ((client server-directory) (event account-data-event)) (when (equal "m.direct" (event-type event)) (setf (m-direct-event-content client) (event-content event)) (loop :for (user room-ids . more) :on (event-content event) :by #'cddr :do @@ -248,8 +240,8 @@ (defclass auto-joiner () ()) -(defmethod handle-event :after ((client auto-joiner) (event invitation-event) &optional room-id) +(defmethod handle-event :after ((client auto-joiner) (event invitation-event)) (when (equal "invite" (getf (event-content event) :|join_rule|)) - (join-room client room-id))) + (join-room client *room-id*))) |