public
Description: erlang irc bot
Homepage: http://github/pizza/abbot
Clone URL: git://github.com/pizza/abbot.git
pizza (author)
Mon Sep 14 19:49:28 -0700 2009
commit  3d60b72c8917cb3fe7bc8c6d82f8093f2122b355
tree    f4783239c53a2329f3403f39ed47193eafc18325
parent  4cbc5cfb88cfe00530045f85bb83bc2048cb7cea parent  f7bdbe3d1d48b49951744fbad24964617b640834
abbot /
name age message
file README Loading commit data...
directory src/
README
%           _     _           _   
%     /\   | |   | |         | |  
%    /  \  | |__ | |__   ___ | |_ 
%   / /\ \ | '_ \| '_ \ / _ \| __|
%  / ____ \| |_) | |_) | (_) | |_ 
% /_/    \_\_.__/|_.__/ \___/ \__|
%

abbot() ->
  "goal is simple bot:",
  "correct, clear, concise, limber",
  "learning erlang -- fun()".

get_started() ->
  install_erlang(),
  "git clone git://github.com/pizza/abbot.git ~/abbot",
  "cd ~/abbot/src",
  "modify bot.erl 'master', 'pass' and 'chan' -defines",
  "make",
  "./abbot.sh",
  % in shell type:
  Bot0 = spawn(bot, go, ["irc.dal.net"]).

kill_bot() ->
  Bot0 ! quit.

plugin_hot_reload() ->
  % how to modify plugins and reload them on the fly...
  % NOTE: works for plugins and any code EXCEPT bot.erl
  "modify plugin foo",
  % in shell...
  cd(plugin),   % chdir
  c(foo),       % compile
  foo:test(),   % test, optional
  l(foo).       % replace old with new

plugins_reload() ->
  % NOTE: plugins must be compiled and loaded first;
  % for develop you probably want plugin_hot_reload() instead
  Bot0 ! {reload, plugins}. % reload all plugins