2.0.0 • Published 5 years ago

hubot-shortcut v2.0.0

Weekly downloads
15
License
MIT
Repository
github
Last release
5 years ago

hubot-shortcut

A macro system for hubot supporting macro arguments, multi-command macros, and recursive macro expansion. hubot-shortcut is fully configurable via chat.

Demo

Demo

Installation

In hubot project repo, run:

npm install hubot-shortcut --save

Then add hubot-shortcut to your external-scripts.json:

[
  "hubot-shortcut"
]

Unless you want to configure every macro via environment variable, you also need to install hubot-conf.

Usage

hubot-shortcut macros are usually configured using hubot-conf. Macros can also be configured by setting environment variables, but that is not recommended.

hubot-shortcut expands any macros set in the shortcut.* namespace in hubot-conf. It also expands macros set as HUBOT_SHORTCUT_* environment variables.

Typical usage looks like this:

> {botname} conf set shortcut.test "{botname} echo hello!"
botname: shortcut.test = `"{botname} echo hello!"`
> !test
hello!

Tips

  • Macros support arguments, as demonstrated in the screenshot above. Arguments to !macro invocations are appended onto the end of the expanded macro.

  • Macros support running multiple commands. When specifying the macro, separate commands by semicolons. For example, {botname} conf set shortcut.test "{botname} echo one; {botname} echo two". Multiple commands are run in parallel, not one after another.

  • Macros support recursive expansion. If a macro expansion contains !whatever, it'll be expanded. There's no depth limit or cycle breaking on macro expansion, so if you make a macro like {botname} conf set shortcut.die "{botname} echo :skull: ; !die", it might not turn out very well.

License

Copyright (c) 2015-2019 Anish Athalye. Released under the MIT License. See LICENSE.md for details.

2.0.0

5 years ago

1.0.5

8 years ago

1.0.4

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago