====== What is forkb0t? ====== forkb0t is a b0t. He is a fork of snackb0t, based off "snack v1" (Python snackb0t). Though he originated as a joke, his life was extended "temporarily" while snackb0t was recreated in Java. His existence continues while "snack v2" (Java snackb0t) is proprietaryware. forkb0t has evolved a great deal since his creation. The main difference from "snack v1" is that forkb0t is now plugin-based. This was done to ensure that his features are more or less b0t independent. The goal is to make plugin interface as generic as possible, so that plugins can be loaded by another b0t (such as Java snackb0t) with ease. Ask krushia if you have any questions. ====== User docs ====== Use "!forkhelp" to get a list of available commands on IRC. Extended docs are listed here. [[forkb0t:plugins:calc]] ==== CTCP ==== Below is a list of CTCP request/reply commands that forkb0t supports. ACTION CLIENTINFO PING TIME URL USERINFO VERSION And these will be supported soon... UTC http://irchelp.org/irchelp/ircii/commands/CTCP/CTCP DCC ====== Bugs ====== ^ Summary ^ Affects ^ | Special stuff like & is not converted | Probably all plugins that load a web page | | need to use google api instead of hax | gigblast, google, search | | gigablast doesn't like ' or " | gigablast, search | | should allow "=" in place of "is" | my, set, setprivate | | plugin configs don't get merged unless newly enabled | forkdev | | need to add more complete star catalog | astrobody | | forkdev up creates too much spam | forkdev | | keywords must start with ! (besides *) | forkdev | | a corrupt plugin config can render whole b0t unusable | forkdev | | possible to exploit via __init__.py | plugger, forkdev | | getting "cannot connect" on first attempt | wikipedia | | core doesn't handle dead sockets and reconnect | core | | if keyword is * then plugin will silently fail checkHaxors() | plugger | | first !forkdev up on new plugin doesn't show text from enable | forkdev | | !calc in channel with no snackb0t causes fail when he speaks to you in pr0n | hackery | | planetary satellite earth facing coordinate system is incorrect | astrobody | ====== To Do List ====== ^ Description ^ Status ^ | Come up with proper web code repo | | | Proper bug tracker | | | online debugging IDE | | | online interface to user settings | | | automagically scrape location from snackb0t queries | | | automagically handle changed nicknames | | | forkcast plugin | | | .si forecasts | | | dynamic keyword mapping | | | dynamic network add/remove | | | reconnections | | | cia.vc | | | apropos plugin | | | !help like --help | | | gendevinfo plugin | | | speak4me plugin | | | vulnerability test plugin | | | scanme plugin | | | client feature test | | | dcc | | ====== Development ====== forkb0t is in the early stages of becoming a community project. Currently his plugins are developed in a collaborative source tree. See [[forkb0t:creating_plugins]] Code for his core can be seen at [[forkb0t:code:core]] See [[forkb0t:crap]] for old stuff and random fail.