Nurdbot: Difference between revisions

From NURDspace
(16 intermediate revisions by 4 users not shown)
Line 14: Line 14:


<code>screen ~/jsonbot/botstart.sh</code>
<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 ==
== Our custom commands ==
* !badum - for terrible jokes
* !badum - for terrible jokes
* !wikipedia - customised from the basic version
* !bclabel - Prints [[Bookcrossing]] labels @ [[Labelprinter]] @ [[SlabPi]]
* !fluoro - controls the fluorescent lights
* <s>!fluoro - controls the fluorescent lights</s>
* !wol - Performs wake-on-lan actions for machines in the space
* !label - Prints labels with free text @ [[Labelprinter]] @ [[SlabPi]]
* !janee - response in the affirmative or negatory sense to inquiries
* !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
* !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
* !wau-temp - Read the external temperature from the WUR sensors
* !label - Prints labels @ [[Slabpi]]
* !wikipedia - customised from the basic version
* ~power - Current power consumption
* !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


==WIP==
== Bot replacement requirements ==
* !speak - Text to speach using Festival on [[Slabpi]]
* Dynamically reloadable plugins
* !espeak / !espreek / !edire / !esprech - Text to speach using espeak on [[Slabpi]] (different languages yay \o/)
* 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

Revision as of 23:08, 17 October 2020

NURDbot is a small IRC bot based on the fantastic jsonbot by Bart Thate. It runs on nurdbot.vm.nurd.space.

Writing custom commands (AKA plugs)

Extensions go in /home/nurdbot/.jsb/myplugs/socket. In theory you could load a plugin with:

!plug-enable <plugin name>

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

screen ~/jsonbot/botstart.sh

  • 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
  • !fluoro - controls the fluorescent lights
  • !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 Home assistant
  • !ot-set - Updates OpenTherm thermostat setpoint through Home assistant
  • !sensors - Queries sensors from 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 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

  • Dynamically reloadable plugins
  • 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