emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [ANN] org-jami-bot
@ 2023-04-17 19:22 Hanno Perrey
  2023-04-18  4:51 ` Marcin Borkowski
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Hanno Perrey @ 2023-04-17 19:22 UTC (permalink / raw)
  To: emacs-orgmode


Dear fellow org-users,

I have just released two new packages that scratch an old itch of mine:
capturing thoughts, quick notes and URLs while "on the road" with only
my mobile phone around. Messaging myself feels most natural, so that is
what I went with: triggering a capture via GNU Jami, the distributed
private messenger.

The first package, =jami-bot= provides something of a framework to
handle incoming text and file messages. =org-jami-bot= provides hooks
and functions that extend this to Org mode captures. Any text or file is
being captured, but even simple commands (prefixed with '!') are
possible, for example:

#+begin_example
!schedule monday
buy oat milk
#+end_example

Schedules a todo entry for next monday.

#+begin_example
!url blog emacs news
https://sachachua.com/blog/2023/04/2023-04-17-emacs-news/
#+end_example

Uses =org-capture-ref= to capture the URL and tags it with
:blog:emacs:news:.

This last command is technically not part of =org-jami-bot= as it
requires =org-capture-ref= to be installed and configured -- but it only
takes relatively little code to realize and I have documented it in a
blog post: https://www.hoowl.se/org-capture-ref-jami-bot.html

Further extensions are quite easily possible, I believe.

More examples and detailed documentation can be found here:
https://www.hoowl.se/org-jami-bot.html


The code to both packages will eventually be on Melpa, but for now it
can be found here:
https://gitlab.com/hperrey/jami-bot
https://gitlab.com/hperrey/org-jami-bot


Feedback, comments and ideas for further development are welcome!


Thanks and cheers,

Hanno

--
Hanno Perrey
https://hoowl.se


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [ANN] org-jami-bot
  2023-04-17 19:22 [ANN] org-jami-bot Hanno Perrey
@ 2023-04-18  4:51 ` Marcin Borkowski
  2023-04-18 11:34 ` Ihor Radchenko
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: Marcin Borkowski @ 2023-04-18  4:51 UTC (permalink / raw)
  To: Hanno Perrey; +Cc: emacs-orgmode


On 2023-04-17, at 21:22, Hanno Perrey <hanno@hoowl.se> wrote:

> Dear fellow org-users,
>
> I have just released two new packages that scratch an old itch of mine:
> capturing thoughts, quick notes and URLs while "on the road" with only
> my mobile phone around. Messaging myself feels most natural, so that is
> what I went with: triggering a capture via GNU Jami, the distributed
> private messenger.

Hi,

I've never heard about Jami before -- I'll definitely check it out!  And
your package looks _very_ cool.  Thanks!

Best,

-- 
Marcin Borkowski
http://mbork.pl


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [ANN] org-jami-bot
  2023-04-17 19:22 [ANN] org-jami-bot Hanno Perrey
  2023-04-18  4:51 ` Marcin Borkowski
@ 2023-04-18 11:34 ` Ihor Radchenko
  2023-04-19  7:30   ` Hanno
  2023-04-18 12:07 ` Russell Adams
  2023-04-20  7:27 ` Max Nikulin
  3 siblings, 1 reply; 9+ messages in thread
From: Ihor Radchenko @ 2023-04-18 11:34 UTC (permalink / raw)
  To: Hanno Perrey; +Cc: emacs-orgmode

Hanno Perrey <hanno@hoowl.se> writes:

> The first package, =jami-bot= provides something of a framework to
> handle incoming text and file messages. =org-jami-bot= provides hooks
> and functions that extend this to Org mode captures. Any text or file is
> being captured, but even simple commands (prefixed with '!') are
> possible, for example:
>
> #+begin_example
> !schedule monday
> buy oat milk
> #+end_example
>
> Schedules a todo entry for next monday.

Thanks for sharing!
This is pretty impressive.
Do you plan to publish these packages on ELPA?
If so, I can see the packages being referenced in
https://orgmode.org/worg/#use-effectively

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [ANN] org-jami-bot
  2023-04-17 19:22 [ANN] org-jami-bot Hanno Perrey
  2023-04-18  4:51 ` Marcin Borkowski
  2023-04-18 11:34 ` Ihor Radchenko
@ 2023-04-18 12:07 ` Russell Adams
  2023-04-19  7:44   ` Hanno Perrey
  2023-04-20  7:27 ` Max Nikulin
  3 siblings, 1 reply; 9+ messages in thread
From: Russell Adams @ 2023-04-18 12:07 UTC (permalink / raw)
  To: emacs-orgmode

On Mon, Apr 17, 2023 at 09:22:48PM +0200, Hanno Perrey wrote:
>
> Dear fellow org-users,
>
> I have just released two new packages that scratch an old itch of mine:
> capturing thoughts, quick notes and URLs while "on the road" with only
> my mobile phone around. Messaging myself feels most natural, so that is
> what I went with: triggering a capture via GNU Jami, the distributed
> private messenger.
>
> The first package, =jami-bot= provides something of a framework to
> handle incoming text and file messages. =org-jami-bot= provides hooks
> and functions that extend this to Org mode captures. Any text or file is
> being captured, but even simple commands (prefixed with '!') are
> possible, for example:

Hanno, this is brilliant.

I rely heavily on using XMPP notifications with my Emacs/Org setup for
appointments. I run a local program for send-xmpp to fire off messages
that alert my multiple PC's and my cell phone on my XMPP account.

I hadn't considered sending data BACK. That's awesome!

How hard would it be to port this to a message agnostic style where
other methods could be used?

I've used Jami before, but I consider it VOIP software trying to
become messenger, where XMPP is messenger trying to become VOIP. I've
had battery problems in the past with Jami, but that was back when it
was called Ring.

I may have to try and adapt this to my workflow.

Thanks for sharing!

------------------------------------------------------------------
Russell Adams                            RLAdams@AdamsInfoServ.com
                                    https://www.adamsinfoserv.com/


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [ANN] org-jami-bot
  2023-04-18 11:34 ` Ihor Radchenko
@ 2023-04-19  7:30   ` Hanno
  2023-09-01 11:59     ` Ihor Radchenko
  0 siblings, 1 reply; 9+ messages in thread
From: Hanno @ 2023-04-19  7:30 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: emacs-orgmode


>Thanks for sharing!
>This is pretty impressive.
>Do you plan to publish these packages on ELPA?
>If so, I can see the packages being referenced in
>https://orgmode.org/worg/#use-effectively
>

Hej Ihor!

Thank you for your kind words and for suggesting to add a reference on worg! Putting a package on ELPA is on my bucket list, so why not? ;)

I do not have the paperwork in place yet. I recently changed employment and am under the impression that it should not be a problem though.

I will let you know once that is done!

Best wishes,
Hanno


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [ANN] org-jami-bot
  2023-04-18 12:07 ` Russell Adams
@ 2023-04-19  7:44   ` Hanno Perrey
  2023-04-20  9:08     ` Ihor Radchenko
  0 siblings, 1 reply; 9+ messages in thread
From: Hanno Perrey @ 2023-04-19  7:44 UTC (permalink / raw)
  To: emacs-orgmode, Russell Adams


>Hanno, this is brilliant.
>
>I rely heavily on using XMPP notifications with my Emacs/Org setup for
>appointments. I run a local program for send-xmpp to fire off messages
>that alert my multiple PC's and my cell phone on my XMPP account.
>
>I hadn't considered sending data BACK. That's awesome!
>
>How hard would it be to port this to a message agnostic style where
>other methods could be used?
>
>I've used Jami before, but I consider it VOIP software trying to
>become messenger, where XMPP is messenger trying to become VOIP. I've
>had battery problems in the past with Jami, but that was back when it
>was called Ring.
>
>I may have to try and adapt this to my workflow.

Hej Russell!

Thank you! I am very glad that you liked the idea and consider adding it to your workflow!

With some refactoring, it should absolutely be possible to make the bot and capturing more protocol-agnostic. The stack would be more like 
jami.el/xmpp.el->chat-bot.el->org-capture-bot.el

So some more abstraction would be needed but it could be doable without too much work and make sense from a code re-usability perspective.

Do you know of a maintained XMPP client written in Elisp to start looking into?

I'd be happy to discuss this in mode detail with you if you are up for working together in this direction! :)

Best wishes,
Hanno


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [ANN] org-jami-bot
  2023-04-17 19:22 [ANN] org-jami-bot Hanno Perrey
                   ` (2 preceding siblings ...)
  2023-04-18 12:07 ` Russell Adams
@ 2023-04-20  7:27 ` Max Nikulin
  3 siblings, 0 replies; 9+ messages in thread
From: Max Nikulin @ 2023-04-20  7:27 UTC (permalink / raw)
  To: emacs-orgmode

On 18/04/2023 02:22, Hanno Perrey wrote:
> =org-jami-bot= provides hooks
> and functions that extend this to Org mode captures.

Thank you for the idea (I can not say anything concerning implementation 
yet) to take advantage of messenger infrastructure for CLI variant of 
org-capture. Certainly it is an option when ssh is not available or 
overkill. It has caused change of my attitude in respect to chat bots.

Are there chat clients optimized as a kind of terminals for CLI 
operation? I mean GNU readline features like TAB completion, incremental 
reverse history search C-r, substituting last argument from previous 
command M-., executing with selection of next command for edit C-o, 
expand history "!" substitutions M-^, multiple kill buffers, etc.? Since 
chat driven RPC is more asynchronous than regular terminals, perhaps 
variants of sorting for command "output" should be implemented as 
threaded grouping or receive order sorting in mail clients.

Earlier I was forced to use a messenger to manage virtual machines even 
from a desktop (so when full-size keyboard and mouse are available). 
That time I wrote a python tool that was called from shell and sent 
arguments to HTTP RPC endpoint used by that bot. Even though it was one 
way communication (responses were sent to the messenger), I found it 
much more convenient. That is why I started to hate inappropriately used 
chat bots.

I admit that messengers have features allowing to create some kinds of 
UI with less efforts than web or native applications. It would be great 
to have specialized clients and protocol features dedicated for CLI, not 
human communications.

Back to Org, are there mobile Org applications that support org-capture 
and org-protocol? I mean purely local using of mobile terminal 
application and simple tool to sent intentions to the Org App?



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [ANN] org-jami-bot
  2023-04-19  7:44   ` Hanno Perrey
@ 2023-04-20  9:08     ` Ihor Radchenko
  0 siblings, 0 replies; 9+ messages in thread
From: Ihor Radchenko @ 2023-04-20  9:08 UTC (permalink / raw)
  To: Hanno Perrey; +Cc: emacs-orgmode, Russell Adams

Hanno Perrey <hanno@hoowl.se> writes:

> Do you know of a maintained XMPP client written in Elisp to start looking into?

Also, consider ERC and ement.el.
For XMPP, https://codeberg.org/emacs-jabber/emacs-jabber, AFAIK.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [ANN] org-jami-bot
  2023-04-19  7:30   ` Hanno
@ 2023-09-01 11:59     ` Ihor Radchenko
  0 siblings, 0 replies; 9+ messages in thread
From: Ihor Radchenko @ 2023-09-01 11:59 UTC (permalink / raw)
  To: Hanno; +Cc: emacs-orgmode

Hanno <hanno@hoowl.se> writes:

> Thank you for your kind words and for suggesting to add a reference on worg! Putting a package on ELPA is on my bucket list, so why not? ;)
>
> I do not have the paperwork in place yet. I recently changed employment and am under the impression that it should not be a problem though.
>
> I will let you know once that is done!

May I know if you managed to get any progress on this?
If you encounter any difficulties with the paperwork, we can try to help.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-09-01 11:59 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-17 19:22 [ANN] org-jami-bot Hanno Perrey
2023-04-18  4:51 ` Marcin Borkowski
2023-04-18 11:34 ` Ihor Radchenko
2023-04-19  7:30   ` Hanno
2023-09-01 11:59     ` Ihor Radchenko
2023-04-18 12:07 ` Russell Adams
2023-04-19  7:44   ` Hanno Perrey
2023-04-20  9:08     ` Ihor Radchenko
2023-04-20  7:27 ` Max Nikulin

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).