QueenBee

From Hive76 Wiki
Jump to: navigation, search

QueenBee

QueenBee is a Virtual Machine that lives on loud, and provides an interface for projects in Hive76. It's intentions are to provide users who want to do physical computing within the space the capabilities to do while interfacing with the other projects related to the space. Ideally, it could handle lighting, music, door access, beaconing, and any other projects we may think of. It's primary interface currently is via IRC.

IRC Interface

QueenBee runs an IRC bot, aptly named QueenBee in #hive76. The bot is a python based bot called Phenny. Phenny is customizable via python modules in the ~/phenny/modules folder, and there is a guide to making modules here. QueenBee currently responds to several commands, listed below. Lines in light orange are Hive76-specific commands

Command Argument What it Does
.aprs <callsign1>,<callsign2> Shows the last location of each callsign, and returns their http://aprs.fi location. (same as .location)
.beacon < on OR off OR status > Shows the status of Hive76's Beacon. The beacon is turned on, and left active for up to 60 minutes, indicating someone is at the space
.broadcast <MESSAGE> Sends a message to the Beacon@Home users, and updates the webpage at Belafonte with no argument, returns current broadcast. Takes up to a minute to update
.c <math problem> Uses Google Calculator to solve <math problem>
.callsign <callsign> Returns the name, license class and last registered town of <callsign>
.color <HEX> Sets the RGB LED to <HEX> value fading over <time> seconds. With no arguments, displays current time value. FF6600 is a good orange for Hive76
.dell <servicetag1>,<servicetag2> Returns the Dell model number and
.ety <word> Looks up the etymology of a word on etymonline.com
.g <search term> Returns the top Google result
.gc <search term> Returns the number of search results from Google
.hivew <topic> Searches for <topic> on Hive76's Wikipedia
.huser   Returns the number of users in the connected channel
.in <time> <reminder> QueenBee will respond after <time> (which can be in seconds, minutes, hours, days, or weeks) to remind you of <reminder>.
.lusers   Returns the number of users connected to Freenode
.location <callsign1>,<callsign2> Shows the last location of each callsign, and returns their http://aprs.fi location. (same as .aprs)
.mail   Displays the last message on the Hive76 Discussion Mailing List
.py <expression> Uses a web-based python sandbox to evaluate <expression> and returns the result
.seen <nick> Returns the last time QueenBee saw <nick> in any of her channels
.t <timezone> Returns the current time in EST, or <timezone> if specified
.tock Returns the time from the USNO's atomic clock.
.title <link> Returns the title of the link
.tw <twitter ID> Returns the latest tweet from that user ID. Automatically posts latest @hive76 tweets to #hive76
.u <character> Returns the unicode of <character>
.wa <question> Returns the Wolfram Alpha result of <question> - may have trouble parsing the JSON of more ambiguous questions
.weather <location> Uses http://wunderground.com API to gather weather information on a location
.wik <topic> Searches for <topic> on Wikipedia
.woot <woot site> Displays current woot.com offer. Will show specific sites if specified such as tech,shirt,sport. Can do multiple sites if seperated by comma.
QueenBee: tell <nick> <message> Will deliver <message> to <nick> when they become active again
QueenBee: "<foreign phrase"? QueenBee will attempt to translate <foreign phrase> using Google translate

QueenBee will also respond to several keywords with useful information, such as "mailing list?", "open house?", and "mmmm?". Currently QueenBee is capable of being interjected with commands form outside of phenny due to a module, waitForIt.py, that will be the basic for interjecting code into the bot from a physical command, such as button-press. QueenBee is also currently logging the lusers results every 3 minutes into ~/phenny/lusers.log, to be charted/graphed later, as well as the number of users in #hive76 to ~/phenny/hive76.log QueenBee also monitors Hive76's twitter feed (@Hive76), and posts new tweets to the #hive76 channel QueenBee now also monitors Hive76 Discussion Mailing List and posts new topics to the channel Access #hive76 on IRC

Physical Interface

QueenBee has a USB 3.0 card being passed through Xen. Currently, a single Arduino is connected to this card, with a large green LED / LED diffuser that activates when the beacon is active. Expect this section to be out of date as we update QueenBee's physical interface on a near daily basis.

Other Services

QueenBee also logs the total number of Freenode users, as well as by server. Also available in a Black & white version. If you'd like access to the Data feed, contact Kyle