Initial commit
This commit is contained in:
commit
690604a71d
6 changed files with 73 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
xmpp-send
|
2
Makefile
Normal file
2
Makefile
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
xmpp-send: xmpp-send.lisp make-image.lisp
|
||||||
|
sbcl --disable-debugger --load make-image.lisp
|
14
make-image.lisp
Normal file
14
make-image.lisp
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#-sbcl
|
||||||
|
(error "This lisp implementation is not supported.")
|
||||||
|
|
||||||
|
(require 'asdf)
|
||||||
|
|
||||||
|
(asdf:oos 'asdf:load-op 'xmpp-send)
|
||||||
|
|
||||||
|
(save-lisp-and-die
|
||||||
|
"xmpp-send" :toplevel
|
||||||
|
(lambda ()
|
||||||
|
(sb-posix:putenv (format nil "SBCL_HOME=~A" #.(sb-ext:posix-getenv "SBCL_HOME")))
|
||||||
|
(org.ryuslash.xmpp-send:xmpp-send sb-ext:*posix-argv*)
|
||||||
|
0)
|
||||||
|
:executable t)
|
3
package.lisp
Normal file
3
package.lisp
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
(defpackage :org.ryuslash.xmpp-send
|
||||||
|
(:use :cl :xmpp)
|
||||||
|
(:export :xmpp-send))
|
14
xmpp-send.asd
Normal file
14
xmpp-send.asd
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
(defpackage :xmpp-send-system
|
||||||
|
(:use :cl :asdf))
|
||||||
|
(in-package :xmpp-send-system)
|
||||||
|
|
||||||
|
(defsystem :xmpp-send
|
||||||
|
:name "XMPP Send"
|
||||||
|
:author "Tom Willemse <tom@ryuslash.org>"
|
||||||
|
:version "0.1.0"
|
||||||
|
:maintainer "Tom Willemsen <tom@ryuslash.org>"
|
||||||
|
:description "Send a quick message through XMPP."
|
||||||
|
:serial t
|
||||||
|
:depends-on (:cl-xmpp :cl-xmpp-tls)
|
||||||
|
:components ((:file "package")
|
||||||
|
(:file "xmpp-send")))
|
39
xmpp-send.lisp
Normal file
39
xmpp-send.lisp
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
(in-package :org.ryuslash.xmpp-send)
|
||||||
|
|
||||||
|
(defvar *connection* nil
|
||||||
|
"The connection to the jabber server.")
|
||||||
|
|
||||||
|
(defvar *host* nil
|
||||||
|
"The host to log-in on.")
|
||||||
|
|
||||||
|
(defvar *username* nil
|
||||||
|
"The username to log-in with, should not contain the jabber host.")
|
||||||
|
|
||||||
|
(defvar *password* nil
|
||||||
|
"The password to log-in with.")
|
||||||
|
|
||||||
|
(defvar *resource* nil
|
||||||
|
"The resource to use when logging in.")
|
||||||
|
|
||||||
|
(defun get-rc-location ()
|
||||||
|
"Get the location of the RC file."
|
||||||
|
(let ((xdg (sb-ext:posix-getenv "XDG_CONFIG_HOME"))
|
||||||
|
(home (sb-ext:posix-getenv "HOME")))
|
||||||
|
(pathname
|
||||||
|
(apply 'concatenate 'string
|
||||||
|
(or xdg home)
|
||||||
|
(unless xdg "/.config")
|
||||||
|
'("/xmpp-send/rc.lisp")))))
|
||||||
|
|
||||||
|
;; (defun send (args)
|
||||||
|
;; (handler-case (message *connection* (car args) (cadr args))))
|
||||||
|
|
||||||
|
(defun xmpp-send (args)
|
||||||
|
;; Load init file
|
||||||
|
(let ((*package* (in-package :org.ryuslash.xmpp-send)))
|
||||||
|
(load (get-rc-location) :if-does-not-exist nil))
|
||||||
|
|
||||||
|
(setf *connection* (connect-tls :hostname *host*))
|
||||||
|
(auth *connection* *username* *password* *resource*)
|
||||||
|
(xmpp:message *connection* (cadr args) (caddr args) :type :chat)
|
||||||
|
(disconnect *connection*))
|
Loading…
Reference in a new issue