/hubot-scripts

optional scripts for hubot, opt in via hubot-scripts.json

Primary LanguageCoffeeScriptMIT LicenseMIT

hubot-scripts

These are a collection of community scripts for Hubot, a chat bot for your company.

Installing

Once you have Hubot installed, you can drop new scripts from this repository right into your generated Hubot installation. Just put them in scripts, restart your robot, and you're good to go.

All the scripts in this repository are located in src/scripts.

Writing

Want to write your own Hubot script? The best way is to take a look at an existing script and see how things are set up. Hubot scripts are written in CoffeeScript, a higher-level implementation of JavaScript.

You'll also want to add tests for your script; no one likes untested code. It makes Hubot sad.

Additionally, it's extremely helpful to add TomDoc to the top of each file. (Check out an example). We'll pull out the commands from those lines and display them in the generic, robot-wide hubot help command.

Scripts

spin.coffee

Spin me

Format:

(@yourbot )spin me <query> - Returns a spun version of the input.

Input:

spin me {Hi there|Greetings|Hi|Hello|Hello There}{!|,}

I {really|simply|totally} {love|respect|admire} your {blog|article|post|opinion} and {will tell all my friends about it|will be back again tomorrow|also the design of your website}.

{Thanks|Thank you|Cheers|Bye for now}!

Output:

Greetings!

I simply admire your blog and also the design of your website.

Cheers!

Spun me

Format:

(@yourbot )spun me <query> - Returns a spintax version of the input using articlemanager.us spinner API.

Input:

spun me Below it sat a wooden case of trophies and other awards. Several more were stacked into other corners, joining marble statues, weapon stands and a flat screen television. They all shined in the fire’s light. At least he knew his mother and sister, who were overseas visiting the Queen of England, would be proud. He settled on calling them later, envisioning how they would congratulate him on bringing even more fame and wealth to the family. The invention cooking up in his basement right now was going to make him bigger than the internet.

Output:

Below it sat {a|the} wooden case of trophies {and other|along with other|as well as other} awards. Several more {were|had been} stacked into other {corners|edges}, joining marble statues, weapon stands {and a|along with a} flat screen television. {They all|All of them} shined in the fire’s {light|lighting|mild}. At least he {knew|realized} his mother and {sister}, who were overseas {visiting|going to} the Queen of {England|Britain}, would be proud. {He|This individual|He or she} settled on calling {them|all of them} later, envisioning how {they would|they might} congratulate him on bringing {even more|much more} fame and wealth {to the|towards the} family. The invention cooking {up|upward} in his basement right now {was going to|would definitely} make him bigger {than the|compared to} internet.

Spin the last spun

Format:

(@yourbot )spun the last spun - Returns a spun version of the input generated by the last spun me call.

Output:

After previous spun me command output could be for example:

Below it sat a wooden case of trophies and other awards. Several more had been stacked into other corners, joining marble statues, weapon stands along with a flat screen television. They all shined in the fire’s mild. At least he realized his mother and sister, who were overseas visiting the Queen of Britain, would be proud. He or she settled on calling all of them later, envisioning how they would congratulate him on bringing much more fame and wealth towards the family. The invention cooking upward in his basement right now would definitely make him bigger compared to internet.

Or if storage is empty: Nothing so spin. Please use spun first.

Spun and spin me

Format:

(@yourbot )spun and spin me <query> - Returns a spun version of the input using spun me command first.

Input:

spun and spin me And please do not expect anything like Goethe or Schiller from my work, no expect everything, everything, but please no niveau! Because I am orientating myself way more direction Charles Bukowski and Hank was according to common knowledge born in a German town on the left river bank of the Rhine. I myself do live coincidentally in a small town along the Rhine, where triumphantly wins of the Handball team and disturbances in the local chemical plants are holding each other in suspense. Happily or sadly, both of them happen rather seldom.

Output:

For example:

And please do not expect anything like Goethe or Schiller from my work, no expect everything, everything, but please no niveau! Because I am orientating myself way more direction Charles Bukowski and Hank was according to common knowledge born in a German town on the left river bank of the Rhine. I myself do live coincidentally in a small town along the Rhine, where triumphantly wins of the Handball team and disturbances in the local chemical plants are holding each other in suspense. Happily or sadly, both of them happen rather seldom.

oauth.coffee

Get authorization URL

get <api> authorization url - get a link to authorization place

Set verifier

set <api> verifier <verification_code> - set verification code and access token after first step

Set access token

set <api> access token <code> - set access token manually, for OAuth 2.0 (Facebook) only

Refresh token

refresh <api> token - refresh access token if it expires, for OAuth 2.0 only

Get request token

get <api> request token - retrieves request token public value

Get access token

get <api> access token - retrieves access token public value

Get verifier

get <api> verifier - retrieves verification code

Remove authorization

remove <api> authorization - clears tokens from memory if user is same who verified the last authorization