====== Introduction ====== We now have a basic IRC bot (Latobius((http://en.wikipedia.org/wiki/Latobius))) for the #ukhasnet channel. At present it doesn't do much (apart from logging channel activity) but the aim is to make it do useful stuff (querying node information and providing interactive updates for interesting nodes e.g. Balloons and Sea Bouys). ====== Implemented Commands ====== ===== !node ===== !node List details from a node. At present this will show which gateways uploaded the most recent packet and when it was received. Example: 20:26 < mfa298> !node P01 20:26 -Latobius:#ukhasnet- Node P01, Uploaded by DB01 at 2014-08-29 15:37:54.96105 id is 1188446, Uploaded by DB01 at 2014-08-29 15:37:55.68918 id is 1188447 This shows that the node P01 was received twice via DB01 (these are via different paths). In future the paths will be listed and it will be possible to get the uploaded packet via the !upload command ====== In progress Commands ====== These commands are currently being worked on ===== !msg ===== !msg @ Send a message to a particular node Needs Bot code finalising and updates to API and gateway code ===== !upload ===== !upload This will show the raw packet as received by the gateway and uploaded to the API. ====== Planned Commands ====== ===== !follow (not implimented) ===== !follow For certain types of node (e.g. Balloons) this command will monitor uploads and report if it sees a new packet from that node. Due to the traffic this could cause on the channel there are likely to be some limits in place: * Rate Limited updates * Limited node types allowed * Limited people that can use the command It should be possible to use the command from a PM with fewer limits (some rate limiting may still be applied) ===== !seen (not implimented) ===== !seen The Bot will remember when it's seen people in a channel. This command will display a message of when the person was last seen. ===== !admin (not implimented) ===== !admin Admin functions for the bot. Limited to certain people (for obvious reasons) ====== Easter Eggs ====== Some (potentially planned) commands may already respond in a possibly witty way. Finding these is left to the reader. ====== Twitter Following ====== Functionality similar to tweetBot in #highaltitude, where the bot posts all tweets containing '#ukhasnet' into the channel There is a C++ library: [[https://code.google.com/p/twitcurl/|twitcurl]] ====== Code ====== The Code is written in multi-threaded C++ and aims to be easily extended by adding to the Handler Class (with the ultimate aim of being able to add Handlers that auto register themselves) Current code base [[https://github.com/m1ari/UKHASnet-bot]] and the channel is using release v0.1. The bot is capable of connecting to multiple IRC servers and channels and is configured via a json file.