|
|
(9 intermediate revisions by 4 users not shown) |
Line 1: |
Line 1: |
| NURDbot is a small IRC bot based on the fantastic jsonbot by Bart Thate. It runs on nurdbot.vm.nurd.space.
| | #REDIRECT [[GHBot]] |
| | |
| == Writing custom commands (AKA plugs) ==
| |
| Extensions go in ''/home/nurdbot/.jsb/myplugs/socket''. In theory you could load a plugin with:
| |
| | |
| <code>!plug-enable <plugin name></code>
| |
| | |
| In practice it turns out you have to kill the bot, start it again (see below how) and then do the !plug-enable.
| |
| | |
| == Reloading the bot ==
| |
| | |
| * kill process starting with "python2.7 ./bin/jsb-irc"
| |
| * as user nurdbot, run the following
| |
| | |
| <code>screen ~/jsonbot/botstart.sh</code>
| |
| | |
| * restarting the mqtt connection (for eg the temperature sensors):
| |
| ** kill and restart: /usr/bin/screen -d -m -S 'mqtt-to-sqlite3' /home/nurdbot/mqtt-to-sqlite3.py
| |
| | |
| | |
| == Our custom commands ==
| |
| * !badum - for terrible jokes
| |
| * !bclabel - Prints [[Bookcrossing]] labels @ [[Labelprinter]] @ [[SlabPi]]
| |
| * <s>!fluoro - controls the fluorescent lights</s>
| |
| * !label - Prints labels with free text @ [[Labelprinter]] @ [[SlabPi]]
| |
| * !janee - response in the affirmative or negatory sense to inquiries
| |
| * !mpdtube - Sends search query or url to [[MPDTube]]
| |
| * !ot - shows OpenTherm data from [[Jarvis|Home assistant]]
| |
| * !ot-set - Updates OpenTherm thermostat setpoint through [[Jarvis|Home assistant]]
| |
| * !sensors - Queries sensors from [[Jarvis|Home assistant]]
| |
| * !speak / !spreek / !dire / !sprech / !habla - Text to speach using espeak on [[SlabPi]] (different languages yay \o/)
| |
| * !statustoggle - (temp) manually switch the space from closed to open
| |
| * !sth - temps and humidities of the different rooms
| |
| * !ticker sends text to [[Led ticker]]
| |
| * !toggle - toggles switches (Sonoff, epc, pdu) through [[Jarvis|Home assistant]]
| |
| * !toggle-list - shows a list of IDs that !toggle can use
| |
| * !wau-temp - Read the external temperature from the WUR sensors
| |
| * !wikipedia - customised from the basic version
| |
| * !who - Checks which known devices are connected to the Wifi (if you want to be on here, see [[Jarvis#Enable_tracking_for_your_MAC_address]])
| |
| * !wol - Performs wake-on-lan actions for machines in the space
| |
| * !power - Current power consumption
| |
| * !sensor - Read sensors from hass
| |
| | |
| == Bot replacement requirements ==
| |
| * Python - to make it less of a pain to convert the plugins
| |
| * ACL/Groups - current ones are for example SPACE , USER , MPD , SPEAK
| |
| * Nickserv integration - so we don't need to track users ourselves, perhaps, optional
| |
| | |
| === possible replacements ===
| |
| | |
| * pyaib (https://github.com/facebookarchive/pyaib)
| |
| ** pros
| |
| *** dynamic loadable plugins
| |
| *** simple code
| |
| *** nickserv tracking
| |
| ** cons
| |
| *** some cry babies will complain that it was originally made by facebook
| |
| *** documentation is scarce
| |
| *** old
| |
| | |
| * limnoria (https://github.com/ProgVal/Limnoria)
| |
| ** pros
| |
| *** documented
| |
| *** maintained?
| |
| *** ACLs
| |
| ** cons
| |
| *** plugins are hard to read (their code)
| |
| ** notes
| |
| *** based on sopel
| |