|
Project Information
Featured
Downloads
Links
|
Welcome to JSONBOTJSONBOT is a remote event-driven framework for building bots that talk JSON to each other over XMPP. This distribution provides bots built on this framework for console, IRC, XMPP, Convore and WWW on the shell. the jsb pakage contains the following programs:
note: JSONBOT is in BETA stage right now and still subject to change of protocols and API. see http://jsonbot.googlecode.com. see http://jsonbot.org for documentation on the bot. if you want the GAE part of the bot install from mercurial repo.
licenseJSONBOT is free code (MIT) and can be cloned where needed. contact the developer
urls
plugins
bart@monster:~/dev/last/first$ ./bin/jsb descriptions
descriptions:
jsb.plugs.common.8b - run the eight ball.
jsb.plugs.common.ask - ask a user a question and relay back the response.
jsb.plugs.common.colors - use the morph to add color to selected words.
jsb.plugs.common.controlchar -
command to control the control (command) characters. The cc is a string
containing the allowed control characters.
jsb.plugs.common.feedback - give feedback on the bot to dunker@jsonbot.org. connects to jsonbot.org if no jabber bot exists.
jsb.plugs.common.forward - forward incoming trafic on a bot to another bot through xmpp.
jsb.plugs.common.gcalc - use google to calculate e.g. !gcalc 1 + 1
jsb.plugs.common.googletranslate - use google translate.
jsb.plugs.common.hubbub -
the hubbub mantra is of the following:
use the hb-register <feedname> <url> command to register url and start a feed in in one pass.
jsb.plugs.common.idle - show how long someone has been idle.
jsb.plugs.common.imdb - query the imdb database.
jsb.plugs.common.ipcalc - IP subnet calculator. this module allows you to perform network calculations.
jsb.plugs.common.koffie - schenk wat koffie!
jsb.plugs.common.learn - learn information items .. facts .. factoids.
jsb.plugs.common.quote - manage quotes.
jsb.plugs.common.relay - relay to other users/channels.
jsb.plugs.common.remind - remind people .. say txt when somebody gets active
jsb.plugs.common.rss -
the rss mantra is of the following:
1) add a url with !rss-add <feedname> <url>
2) use !rss-start <feed> in the channel you want the feed to appear
3) run !rss-scan <feed> to see what tokens you can use .. add them with !rss-additem <feed> <token>
4) change markup with !rss-addmarkup <feed> <markupitem> <value> .. see !rss-markuplist for possible markups
5) check with !rss-feeds in a channel to see what feeds are running in a channel
6) in case of trouble check !rss-running to see what feeds are monitored
7) enjoy
jsb.plugs.common.seen - nick tracking.
jsb.plugs.common.shop - maitain a shopping list (per user).
jsb.plugs.common.tinyurl - tinyurl.com feeder
jsb.plugs.common.todo - manage todo lists per users .. a time/data string can be provided to set
time on a todo item.
jsb.plugs.common.topic - manage topics.
jsb.plugs.common.twitter - a twitter plugin for the JSONBOT. uses tweepy oauth.
jsb.plugs.common.url - maintain log of urls.
jsb.plugs.common.urlinfo -
Catches URLs on channel and gives information about them like title, image size, etc.
Uses http://whatisthisfile.appspot.com/ via XMLRPC
Example:
19:20 <@raspi> http://www.youtube.com/watch?v=9RZ-hYPAMFQ
19:20 <@bot> Title: "YouTube - Black Knight Holy Grail"
19:28 <@raspi> test http://www.raspi.fi foobar http://raspi.fi/wp-includes/images/rss.png
19:28 <@bot> 1. Title: "raspi.fi" Redirect: http://raspi.fi/ 2. Image: 14x14
jsb.plugs.common.watcher - watch channels. channels events can be of remote origin.
jsb.plugs.common.weather - show weather based on Google's weather API
jsb.plugs.common.wikipedia - query wikipedia .. use countrycode to select a country specific wikipedia.
jsb.plugs.core.admin - admin related commands. these commands are mainly for maintaining the bot.
jsb.plugs.core.alias -
this alias plugin allows aliases for commands to be added. aliases are in
the form of <alias> -> <command> .. aliases to aliases are not allowed,
aliases are per channel.
jsb.plugs.core.botevent - provide handling of host/tasks/botevent tasks.
jsb.plugs.core.chan - channel related commands.
jsb.plugs.core.choice - the choice command can be used with a string or in a pipeline.
jsb.plugs.core.core - core bot commands.
jsb.plugs.core.count - count number of items in result queue.
jsb.plugs.core.data - data dumper commands.
jsb.plugs.core.dispatch - this is the dispatch plugin that dispatches events to commands.
jsb.plugs.core.echo - echo typed sentences.
jsb.plugs.core.fleet -
The fleet makes it possible to run multiple bots in one running instance.
It is a list of bots. This plugin provides commands to manipulate this list of bots.
jsb.plugs.core.gatekeeper - gatekeeper commands.
jsb.plugs.core.grep - grep the output of bot comamnds.
jsb.plugs.core.ignore - no docstring available
jsb.plugs.core.irc - irc related commands.
jsb.plugs.core.misc - misc commands.
jsb.plugs.core.more - access the output cache.
jsb.plugs.core.nickcapture - nick recapture callback.
jsb.plugs.core.nickserv - authenticate to NickServ.
jsb.plugs.core.not - negative grep.
jsb.plugs.core.outputcache - outputcache used when reply cannot directly be delivered.
jsb.plugs.core.plug - plugin management.
jsb.plugs.core.rc - jsonbot resource files .. files with the .jsb extension which consists of commands to be executed.
jsb.plugs.core.remotecallbacks - dispatch remote events.
jsb.plugs.core.reverse - reverse pipeline or reverse <txt>.
jsb.plugs.core.sort - sort bot results.
jsb.plugs.core.tail - tail bot results.
jsb.plugs.core.test - test plugin.
jsb.plugs.core.to - send output to another user .. used in a pipeline.
jsb.plugs.core.underauth - handle non-ident connection on undernet.
jsb.plugs.core.uniq - used in a pipeline .. unique elements.
jsb.plugs.core.user - users related commands.
jsb.plugs.core.userstate - userstate is stored in jsondata/state/users/<username>.
jsb.plugs.core.welcome - send welcome message.
jsb.plugs.core.xmpp - xmpp related commands.
jsb.plugs.socket.chatlog -
log irc channels to [hour:min] <nick> txt format, only
logging to files is supported right now.
jsb.plugs.socket.dns - do a fqdn loopup.
jsb.plugs.socket.geo - This product includes GeoLite data created by MaxMind, available from http://maxmind.com/
jsb.plugs.socket.kickban - kickban functionality for IRC.
jsb.plugs.socket.mpd - music player daemon control.
jsb.plugs.socket.restserver - no docstring available
jsb.plugs.socket.udp -
the bot has the capability to listen for udp packets which it will use
to /msg a given nick or channel.
1) setup
* do !reload udp to enable the udp plugin
* call !udp-cfgsave to generate a config file in gozerdata/plugs/udp/config
* edit this file .. esp. look at the udpallowednicks list
* run ./bin/jsb-udp -s to generate clientside config file "udp-send"
* edit this file
* test with:
::
echo "YOOO" | ./bin/jsb-udp
2) limiter
on IRC the bot's /msg to a user/channel are limited to 1 per 3 seconds so the
bot will not excessflood on the server. you can use partyudp if you need no
delay between sent messages, this will use dcc chat to deliver the message.
on jabber bots there is no delay
|