]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/commitdiff
Wed Aug 03 00:31:41 BST 2005 Tom Gilbert <tom@linuxbrit.co.uk>
authorTom Gilbert <tom@linuxbrit.co.uk>
Tue, 2 Aug 2005 23:32:05 +0000 (23:32 +0000)
committerTom Gilbert <tom@linuxbrit.co.uk>
Tue, 2 Aug 2005 23:32:05 +0000 (23:32 +0000)
  * Added Rakefile, tweaked gemspec

ChangeLog
INSTALL
README [new file with mode: 0644]
REQUIREMENTS
Rakefile [new file with mode: 0644]
TODO
bin/rbot
lib/rbot/ircbot.rb
rbot.gemspec [deleted file]

index 78d551bf93d48906827a76add9cbbfac476ad045..614e20e287ed78731da775d6e1d5f150e8773628 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Wed Aug 03 00:31:41 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
+
+  * Added Rakefile, tweaked gemspec
+
 Tue Aug 02 16:27:36 BST 2005  Tom Gilbert <tom@linuxbrit.co.uk>
 
   * Fixed the new http.proxy* settings, they work!
diff --git a/INSTALL b/INSTALL
index 0ae1bdd1e40855ee5afb71fe22b39e7d8dc707aa..3885f2dcdb660ca92918c6ee02481e61c9a12d03 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,8 @@
-Just stick the directory somewhere for now, edit rbotconf/conf.rbot and run
-./rbot.rb.
+Just run rbot, it'll ask you for any core information it needs before it can
+start, after that you can configure everything else online using the config
+module.
 
-You can maintain multiple configurations at once, start rbot with the
-location you want it to store runtime data in. By default, running ./rbot.rb
-uses the rbotconf subdirectory which contains a sample configuration. If you
-run ./rbot.rb ~/.rbot, then the configuration will be stored and read from
-there instead.
+You can maintain multiple configurations at once. Start rbot with the
+location you want it to store runtime data in. By default, running rbot
+uses the ~/.rbot config directory. If you run 'rbot /path/to/foo', then the
+configuration will be stored to and read from there instead.
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..38792ed
--- /dev/null
+++ b/README
@@ -0,0 +1,44 @@
+rbot README
+===========
+
+rbot is a ruby IRC bot. Think of him as a ruby bot framework with a highly
+modular design based around plugins.
+
+rbot features
+=============
+
+* Runtime configuration via irc chat
+* User authentication and access levels for using different bot features
+* Built in infobot-style keywords. See example session below.
+* Support for underlying fact database (infobot fact files), which can
+  be overridden or supplemented by runtime keyword controls
+* Multi-language support - comes with english, dutch and german definitions
+  so far - more translations welcome
+* Powerful plugin architecture, comes with plugins for:
+  o DNS queries
+  o Babelfish translation
+  o Google searching
+  o Excuse generation
+  o Insult generation
+  o Karma
+  o Checking the weather
+  o Querying slashdot
+  o Doing Math
+  o Per-channel quote storage, searching and retrieval
+  o Reminders
+  o rot13 translation
+  o Check the spelling of a word
+  o Webserver Server: header examination
+  o RPG dice rolling
+  o larting people
+  o conversation stats
+  o more... 
+
+Thanks are owed to the infobot developers - several of rbot's features are
+inspired by infobot and so are some of the default plugins. Thanks are also
+owed to RADKade1, as rbot's quote plugin is a direct reimplementation of his
+"quotesaq" - simply because it's a great quote interface.
+
+Mainly, rbot's fun to play with, although the plugin architecture can be used
+to write very useful modules
+
index 068c1b9a1b829cb6327a75e9ba681bf7da49dad9..7b3473418c65c6240458751f7712627c0322b3ab 100644 (file)
@@ -16,14 +16,7 @@ function)
 babelfish, wserver:
       net/http 1.2+
 
-
-excuse,insult:
-      net/telnet
-
-nslookup:
-      resolv-replace (optional)
-
-slashdot:
+slashdot, freshmeat, rss:
       REXML
 
 External programs needed for rbot
diff --git a/Rakefile b/Rakefile
new file mode 100644 (file)
index 0000000..18c66a0
--- /dev/null
+++ b/Rakefile
@@ -0,0 +1,37 @@
+require 'rubygems'
+require 'rake'
+require 'rake/gempackagetask'
+
+task :default => [:package]
+
+spec = Gem::Specification.new do |s|
+  s.name = 'rbot'
+  s.version = '0.9.9'
+  s.summary = <<-EOF
+    A modular ruby IRC bot.
+  EOF
+  s.description = <<-EOF
+    A modular ruby IRC bot specifically designed for ease of extension via plugins.
+  EOF
+  s.requirements << 'Ruby, version 1.8.0 (or newer)'
+
+  #  s.files = Dir.glob("**/*").delete_if { |item| item.include?(".svn") }
+  s.files = FileList['lib/**/*.rb', 'bin/*', 'data/**/*', 'AUTHORS', 'COPYING', 'README', 'REQUIREMENTS', 'TODO', 'ChangeLog', 'INSTALL', 'rbot.gemspec', 'Usage_en.txt', 'setup.rb'].to_a
+  s.executables << 'rbot'
+
+  s.autorequire = 'rbot/ircbot'
+  s.has_rdoc = true
+  s.rdoc_options = ['--exclude', '(post-config.rb|rbotconfig.rb)',
+  '--title', 'rbot API Documentation', '--main', 'README', 'README']
+
+  s.author = 'Tom Gilbert'
+  s.email = 'tom@linuxbrit.co.uk'
+  s.homepage = 'http://linuxbrit.co.uk/rbot/'
+  s.rubyforge_project = 'rbot'
+end
+
+Rake::GemPackageTask.new(spec) do |pkg|
+  pkg.need_zip = true
+  pkg.need_tar = true
+end
+
diff --git a/TODO b/TODO
index 6c9bae1ff07a4b76c2972b42812eeb6c1ac5a817..ff120780c9f27d85eae1c9290a1a4f06baa3b842 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,8 +1,5 @@
-o runtime language changing
-o maybe runtime language configuration?
 o freeze/thaw factoids (make them readonly) at higher auth
 o respond to insults
 o feed back errors from plugins (optional)
 o Allow users to leave messages to named users.
 o wtf plugin (bsdgames)
-o weather plugin C->F conversion is wrong?
index 38cf7e49ef9e58642fce3f905bed985017146dcb..886f820aa1d97162fd04dd0bd5d7d7675a387095 100755 (executable)
--- a/bin/rbot
+++ b/bin/rbot
@@ -36,7 +36,7 @@ rescue LoadError => e
 end
   
 $debug = false
-$version="0.9.8"
+$version="0.9.9"
 $opts = Hash.new
 
 # print +message+ if debugging is enabled
index 2dcede3ea924749201c65661e95958056c229fde..5f05129035c6c8beb68e205ead2d2fa269c0b6b2 100644 (file)
@@ -1,24 +1,3 @@
-# Copyright (C) 2002 Tom Gilbert.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies of the Software and its documentation and acknowledgment shall be
-# given in the documentation and software packages that this Software was
-# used.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-# THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
 require 'thread'
 require 'etc'
 require 'fileutils'
@@ -43,8 +22,8 @@ require 'rbot/httputil'
 
 module Irc
 
-# Main bot class, which receives messages, handles them or passes them to
-# plugins, and stores runtime data
+# Main bot class, which manages the various components, receives messages,
+# handles them or passes them to plugins, and contains core functionality.
 class IrcBot
   # the bot's current nickname
   attr_reader :nick
diff --git a/rbot.gemspec b/rbot.gemspec
deleted file mode 100644 (file)
index c63f383..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-require 'rubygems'
-
-spec = Gem::Specification.new do |s|
-
-  #### Basic information.
-
-  s.name = 'rbot'
-  s.version = '0.9.9'
-  s.summary = <<-EOF
-    A modular ruby IRC bot.
-  EOF
-  s.description = <<-EOF
-    A modular ruby IRC bot specifically designed for ease of extension via plugins.
-  EOF
-
-  s.requirements << 'Ruby, version 1.8.0 (or newer)'
-
-  #### Which files are to be included in this gem?  Everything!  (Except .svn directories.)
-
-  s.files = Dir.glob("**/*").delete_if { |item| item.include?(".svn") }
-
-  #### C code extensions.
-
-  # s.require_path = '.' # is this correct?
-  # s.extensions << "extconf.rb"
-
-  #### Load-time details: library and application (you will need one or both).
-  s.autorequire = 'rbot/ircbot'
-  s.has_rdoc = true
-  s.rdoc_options = ['--include', 'lib', '--exclude',
-  '(post-config.rb|rbotconfig.rb)', '--title', 'rbot API Documentation',
-  '--main', 'lib/rbot/ircbot.rb', 'lib', 'bin/rbot']
-
-  #### Author and project details.
-
-  s.author = 'Tom Gilbert'
-  s.email = 'tom@linuxbrit.co.uk'
-  s.homepage = 'http://linuxbrit.co.uk/rbot/'
-  s.rubyforge_project = 'rbot'
-end