Changeset 143
- Timestamp:
- 02/22/06 18:59:13 (19 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/event.lisp ¶
r141 r143 290 290 (remove-user channel user))))))) 291 291 292 ( defmethod default-hook ((message ctcp-time-message))293 (multiple-value-bind294 (second minute hour date month year day)295 (get-decoded-time)296 (send-irc-message297 (connection message)298 :notice (source message)299 (make-ctcp-message300 (format nil "TIME ~A"301 (make-time-message second minute hour date month year day))))))302 303 (defmethod default-hook ((message ctcp-source-message)) 304 (send-irc-message305 (connection message)306 :notice307 (source message)308 (make-ctcp-message309 (format nil "SOURCE ~A:~A:~A"310 *download-host*311 *download-directory*312 *download-file*))))313 314 (defmethod default-hook ((message ctcp-finger-message)) 315 (let* ((user (user (connection message)))316 (finger-info (if (not (zerop (length (realname user))))317 (realname user)318 (nickname user))))319 (send-irc-message320 (connection message)321 :notice (source message)322 (make-ctcp-message323 (format nil "FINGER ~A" finger-info)))))324 325 (defmethod default-hook ((message ctcp-version-message))326 ( send-irc-message327 (connection message)328 :notice (sourcemessage)329 (make-ctcp-message330 (format nil "VERSION ~A" *ctcp-version*))))331 332 (defmethod default-hook ((message ctcp-ping-message))333 (send-irc-message334 (connection message)335 :notice (source message)336 (make-ctcp-message337 (format nil "PING ~A" (car (last (arguments message)))))))292 (macrolet ((define-ctcp-reply-hook ((message-var message-type) &body body) 293 `(defmethod default-hook ((,message-var ,message-type)) 294 (when (ctcp-request-p ,message-var) 295 ,@body)))) 296 (define-ctcp-reply-hook (message ctcp-time-message) 297 (multiple-value-bind 298 (second minute hour date month year day) 299 (get-decoded-time) 300 (send-irc-message 301 (connection message) 302 :notice (source message) 303 (make-ctcp-message 304 (format nil "TIME ~A" 305 (make-time-message second minute hour date month year day)))))) 306 (define-ctcp-reply-hook (message ctcp-source-message) 307 (send-irc-message 308 (connection message) 309 :notice 310 (source message) 311 (make-ctcp-message 312 (format nil "SOURCE ~A:~A:~A" 313 *download-host* 314 *download-directory* 315 *download-file*)))) 316 (define-ctcp-reply-hook (message ctcp-finger-message) 317 (let* ((user (user (connection message))) 318 (finger-info (if (not (zerop (length (realname user)))) 319 (realname user) 320 (nickname user)))) 321 (send-irc-message 322 (connection message) 323 :notice (source message) 324 (make-ctcp-message 325 (format nil "FINGER ~A" finger-info))))) 326 (define-ctcp-reply-hook (message ctcp-version-message) 327 (send-irc-message 328 (connection message) 329 :notice (source message) 330 (make-ctcp-message 331 (format nil "VERSION ~A" *ctcp-version*)))) 332 (define-ctcp-reply-hook (message ctcp-ping-message) 333 (send-irc-message 334 (connection message) 335 :notice (source message) 336 (make-ctcp-message 337 (format nil "PING ~A" (car (last (arguments message)))))))) 338 338 339 339 (defmethod irc-message-event (connection (message ctcp-dcc-chat-request-message)) -
TabularUnified trunk/protocol.lisp ¶
r142 r143 933 933 (find-class 'standard-ctcp-message)) 934 934 935 (defmethod ctcp-request-p ((message ctcp-mixin)) 936 (string= (command message) :privmsg)) 937 938 (defmethod ctcp-reply-p ((message ctcp-mixin)) 939 (string= (command message) :notice)) 940 935 941 (defmethod client-log ((connection connection) (message ctcp-mixin) &optional (prefix "")) 936 942 (let ((stream (client-stream connection)))
Note: See TracChangeset
for help on using the changeset viewer.