OBJ is a package that provides an object class that can save/load objects in JSON format.
OBJ is a pure python package that provides an object class that can save/load objects in JSON format to disk, thus providing persistence to objects. Files are saved with a timestamp in their filename, so that searching in a time related manner becomes possible.
OBJ has a “no-clause MIT license” that should be the most liberal license you can get at the year 2018.
source code is available with:
hg clone http://bitbucket.org/bthate/obj
OBJ is on pypi, see https://pypi.org/project/obj
you can install it with:
pip3 install obj
to edit config options use the ed command:
obj ed obj.shell.Cfg channel \#obbot ok channel="#obbot"
Programming your own commands is easy, your can load your own module with the -m option. A command is a function with one argument, the event that was generated on the bot.
def mycommand(event): <<< your code here >>>
You can use event.reply() to send response back to the user.
The following modules can be loaded from the ob package space:
base - the base module containing the Object class providing load/save to JSON functionality. event - the Event class generated on bots when data is read from the socket. fleet - list of registered bots managed in the Fleet class. handler - the event handler of the bot. loader - Loader class to load modules from ob space into the program. shell - shell related startup, cli arguments parsing and logging. store - database functionality that can search through objects stored on disk. task - thread module to launch, kill Tasks.