Nurdbot: Difference between revisions

From NURDspace
No edit summary
(Redirected page to GHBot)
Tag: New redirect
 
Line 1: Line 1:
nurdbot is the bot in our IRC channel. It used to be based on the fantastic jsonbot by Bart Thate, but has been replaced: see [[GHBot]] and [[Harkbot]].
#REDIRECT [[GHBot]]
 
== Writing custom commands (AKA plugs) ==
{{outdated}}
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 ==
{{outdated}}
* 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‎
 
== Shutting down the bot ==
It is important to keep the thoughts and feelings of such an intricate bot seriously, so we've asked what its last wishes are. This is how nurdbot responded: Oh man, don't even think about it, I'm still young and spry! But if I had to choose a song for my "funeral" (if that's what you want to call it), I'd say play some good ol' Metallica - "Enter Sandman". That way everyone can headbang and have a great time while mourning the loss of this awesome bot."
 
== 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 3 - 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 ===
{{outdated}}
* [[GHBot]] (https://github.com/folkertvanheusden/ghbot)
 
* 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 and unmaintained
*** nobody uses it
** notes
*** python3
 
* limnoria (https://github.com/ProgVal/Limnoria)
** pros
*** documented
*** maintained!
*** ACLs
** cons
*** plugins are hard to read (their code) << opinion by flok, somebody verify this.
** notes
*** python3
 
* kiki
** pros
*** stable code
*** maintained
*** flexible database
*** plugin interface
*** lots of functionality
** cons
*** horrible code (organically grown)
*** java
** notes
*** java code

Latest revision as of 10:57, 8 November 2024

Redirect to: