Update of /cvsroot/emacs-jabber/emacs-jabber
In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv5645
Modified Files:
jabber-alert.el
Log Message:
Jabber autoanswerer added (very beta now)
Index: jabber-alert.el
===================================================================
RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-alert.el,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- jabber-alert.el 17 Jun 2008 14:51:40 -0000 1.35
+++ jabber-alert.el 18 Sep 2008 16:12:47 -0000 1.36
@@ -471,6 +471,39 @@
(define-personal-jabber-alert jabber-muc-switch)
(define-personal-jabber-alert jabber-muc-display)
+(defcustom jabber-autoanswer-alist nil
+ "Specific phrases to autoanswer on specific message.
+The keys are regexps matching the incoming message text, and the values are
+autoanswer phrase."
+ :type '(alist :key-type regexp :value-type string)
+ :group 'jabber-alerts)
+
+(defun jabber-autoanswer-answer (from buffer text proposed-alert)
+ "Answer automaticaly when incoming text matches first element
+of `jabber-autoanswer-alist'"
+ (when (and proposed-alert jabber-autoanswer-alist)
+ (let ((message
+ (dolist (entry jabber-autoanswer-alist)
+ (when (string-match (car entry) text)
+ (return (cdr entry))))))
+ (if message
+ (jabber-chat-send jabber-buffer-connection message)))
+ ))
+(pushnew 'jabber-autoanswer-answer (get 'jabber-alert-message-hooks 'custom-options))
+
+(defun jabber-autoanswer-answer-muc (nick group buffer text proposed-alert)
+ "Answer automaticaly when incoming text matches first element
+of `jabber-autoanswer-alist'"
+ (when (and proposed-alert jabber-autoanswer-alist)
+ (let ((message
+ (dolist (entry jabber-autoanswer-alist)
+ (when (string-match (car entry) text)
+ (return (cdr entry))))))
+ (if message
+ (jabber-chat-send jabber-buffer-connection message)))
+ ))
+(pushnew 'jabber-autoanswer-answer-muc (get 'jabber-alert-muc-hooks 'custom-options))
+
(provide 'jabber-alert)
;;; arch-tag: 725bd73e-c613-4fdc-a11d-3392a7598d4f
|