Robonaut: Difference between revisions

From London Hackspace Wiki

2,803 bytes added ,  24 October 2021
replacement-services
(replacement-services)
 
(22 intermediate revisions by 9 users not shown)
Line 1: Line 1:
'''[http://github.com/RJ/irccat irccat]''' is now running on [[System naming|Babbage]], to help link [[IRC]] to things happening in the space
'''[https://github.com/londonhackspace/irccat IRCCat]''' is running on [[Equipment/Blanton#replacement-services|replacement-services]], to help link [[IRC]] to things happening in the space. The documentation below reflects the refreshed instance on [[Equipment/Blanton#replacement-services|replacement-services]].


It's called '''robonaut'''. If you wish to add commands to it, drop scripts in <code>/usr/share/irccat</code> on Babbage.
== Contributing commands ==


== Starting Robonaut ==
During the migration to [[Equipment/Blanton#replacement-services|replacement-services]] we decided to overhaul the command system to make it more flexible and maintainable. We have introduced '''breaking''' changes, so it is important to upgrade your scripts.


To start robonaut, from [[babbage]] run the following commands:
=== Persistent commands ===


$ sudo su
We (the maintainers) of Robonaut maintain a supervised set of persistent commands on [https://github.com/londonhackspace/irccat-commands irccat-commands]. If one wants to add a command to the persistent set of commands, one would need to fork this repository and issue a pull request so we can safeguard the quality of essential and commonly used commands. Each revision will have to go through this process.
$ screen -dr irccat
 
$ /home/jonty/irccat/irccat.sh
=== Contributed commands ===
 
Users can create commands for Robonaut in the <code>/opt/irccat/irccat-commands-contrib</code> directory. No guarantee will be provided on the availability of these commands, and if the system needs to be migrated in the future, we will potentially discard the commands in this folder. This would be a great location for temporary and/or fun commands, or to test your own commands before committing them to the main command set.
 
=== Write access ===
 
One of the major changes to Robonaut compared to the old instance running on babbage is that write access to the persistent commands directory is prohibited, and that all data should be written to <code>/opt/irccat/irccat-data</code>. While it would also be possible to write to <code>/opt/irccat/irccat-commands-contrib</code>, this would be a very bad idea since this would prevent you from promoting your command to a persistent command. All commands writing outside of the <code>/opt/irccat/irccat-data</code> will be rejected, as well as commands which don't perform proper input filtering and thus offer an opportunity to write outside this directory.


For some bizzaro reason, irccat requires a TCP connection to localhost (and doesn't time out if it can't establish one), so I've also run this:


$ sudo ip6tables -I INPUT 2 -i lo -j ACCEPT


== Robonaut Commands ==
== Robonaut Commands ==
Line 20: Line 24:


=== Really useful commands ===
=== Really useful commands ===
*acnode - Query current usage of a tool and it's status. Current tools are
** laser - Silvertail A0 lasercutter
** 3in1 - 3 in 1 lathe
** lulzbot - Lulzbot 3d printer
** biolab - BioHacking lab
** tig - Tig welder
*board - Change message on the message board, syntax ?board[ message]. An empty message will clear the board.
*board - Change message on the message board, syntax ?board[ message]. An empty message will clear the board.
*board2 - Changes the message on the [[Project:BigClock|Big Clock]] above the vending machine. Limited to about 5 characters a line. syntax as above.
*board2 - Changes the message on the [[Project:BigClock|Big Clock]] above the front entrance. Limited to about 5 characters a line. syntax as above.
*sixteen - Changes the message on the [[Orange_led_strips|Sixteen Segment display]], n.b. only 6 characters.
*commands - robonaut will PM you a list of all available commands.
*commands - robonaut will PM you a list of all available commands.
*laser - current laser status. To change status ?laser <message>
*laser - current laser status. To change status ?laser <message>
*makerbot - current makerbot status. To change status ?makerbot <message>
*makerbot - current makerbot status. To change status ?makerbot <message>
*subscribers - Current number of paying members of London Hackspace. Useful for updating the topic in the channel.
*subscribers - Current number of paying members of London Hackspace. Useful for updating the topic in the channel.
*netleft - says how much bandiwdth we have left for our internets


=== Not so useful commands ===
=== Not so useful commands ===
Line 47: Line 60:
*donate - points to github and the source of a donation page, until it's re-added to the members page.
*donate - points to github and the source of a donation page, until it's re-added to the members page.
*echo - simply echos whatever you type after ?echo
*echo - simply echos whatever you type after ?echo
*excuse - gives a programmer excuse for something not working
*fight - followed by two words, or two strings, the two are compared by their google hit count.
*fight - followed by two words, or two strings, the two are compared by their google hit count.
*following - lists how many people are following the group on twitter
*following - lists how many people are following the group on twitter
*ham - gives the date for the next ham radio meeting
*hax - links to the Hacking Is Easy video.
*hax - links to the Hacking Is Easy video.
*hits - uses google to give a hit count to the word or string.
*hits - uses google to give a hit count to the word or string.
Line 70: Line 85:
*meter - provides a reading from the power meter [[Electricity meter]]. Useful ones: ?meter UA and ?meter KW
*meter - provides a reading from the power meter [[Electricity meter]]. Useful ones: ?meter UA and ?meter KW
*minilathe - echos the status of the mini lathe.
*minilathe - echos the status of the mini lathe.
*ning - shouts MORNING! or EVENING! depending on babbage's time.  
*ning - shouts MORNING! or EVENING! depending on [[Equipment/Landin#Chomsky|Chomsky]]'s time. (also see noon)
*noon - shouts AFTERNOON!
*notify - displays a message on the board within the space.  Will scroll if above 21 characters, and maximum is 162.
*notify - displays a message on the board within the space.  Will scroll if above 21 characters, and maximum is 162.
*phone - gives the telephone number for the space.  If a domain name is passed, attempts (naively) to find its phone number.
*phone - gives the telephone number for the space.  If a domain name is passed, attempts (naively) to find its phone number.
Line 91: Line 107:
*time - Gives the date and time rather accurately
*time - Gives the date and time rather accurately
*unwatch
*unwatch
*users - Lists who is logged in to babbage
*users - Lists who is logged in to [[Equipment/Landin#Chomsky|Chomsky]]
*vrms
*vrms
*watch
*watch
Line 104: Line 120:
*morning - plays the first few seconds of [http://www.youtube.com/watch?v=PAbwMGZtIsY Edvard Grieg - Morning Mood], and cycles the light through dawny colours, and sets the board to say "Good Morning, hackspace"
*morning - plays the first few seconds of [http://www.youtube.com/watch?v=PAbwMGZtIsY Edvard Grieg - Morning Mood], and cycles the light through dawny colours, and sets the board to say "Good Morning, hackspace"
*patriot - initiates enforced patriotism mode
*patriot - initiates enforced patriotism mode


=== Proposed commands to be implemented soon ===
=== Proposed commands to be implemented soon ===
(work in progress by xk_id)
(work in progress by xk_id)
*ning - to work both as "good morning" and "good evening"
*noon - "good afternoon"
*last20 - PMs the most recent 20 chatlines (useful when you've just joined the room)
*last20 - PMs the most recent 20 chatlines (useful when you've just joined the room)
*addquote <x> - Adds the pasted quote
*addquote <quote> - used in PM only, it adds the quote to the wiki list of IRC quotes.
*quote [x] - returns either a random quote, or a quote that matches the keyword
 
== Administrative Notes ==
 
To start robonaut, from [[Equipment/Landin#Chomsky|Chomsky]] run the following commands:
 
# /etc/init.d/irccat start
 
For some bizzaro reason, irccat requires a TCP connection to localhost (and doesn't time out if it can't establish one), so I've also run this:
 
$ sudo ip6tables -I INPUT 2 -i lo -j ACCEPT
 
=== Important Paths ===
 
* Data directory: <code>/opt/irccat/irccat-data</code>
* Contributed scripts directory: <code>/opt/irccat/irccat-commands-contrib</code>
* Persistent scripts directory: <code>/opt/irccat/irccat-commands</code>
* IRCcat installation directory: <code>/opt/irccat/irccat-bin</code>
 
[[Category:Reference]]
[[Category:Software]]
[[Category:Infrastructure]]
[[Category:Guides]]
538

edits