rbot
15 years agoVersion 0.9.11-rc3 rbot-0.9.11-rc3
Giuseppe Bilotta [Fri, 18 Jul 2008 13:01:03 +0000 (15:01 +0200)] 
Version 0.9.11-rc3

15 years agorss plugin: strip whitespace from link, category and author
Giuseppe Bilotta [Fri, 18 Jul 2008 12:02:08 +0000 (14:02 +0200)] 
rss plugin: strip whitespace from link, category and author

15 years ago* (plugins/rss) more item uid calculation fixes
dmitry kim [Fri, 18 Jul 2008 11:51:52 +0000 (15:51 +0400)] 
* (plugins/rss) more item uid calculation fixes

15 years agoRevert "* use to_irc_netmask(:force => true) to unlink Netmasks from their Server...
Giuseppe Bilotta [Tue, 15 Jul 2008 22:38:04 +0000 (00:38 +0200)] 
Revert "* use to_irc_netmask(:force => true) to unlink Netmasks from their Server to prevent errors when dumping users"

This reverts commit 9a1cf6a11b12c06cd925dd6a789ec98fe750c8ad, since it
was a hack to work around the undumpable Channel (and consequently
Server and Netmask) caused by 847a977b228b35f5ab281a31dd3724a4db887dff
"#any? and #all? methods for Channel#mode to check if modes are set"
and fixed by 8f8205310518e7b0626d657ba9667f7bfc745371 "Dumpable
definition of #any? and #all? methods for Channel#mode"

15 years agoDumpable definition of #any? and #all? methods for Channel#mode
Giuseppe Bilotta [Tue, 15 Jul 2008 22:32:46 +0000 (00:32 +0200)] 
Dumpable definition of #any? and #all? methods for Channel#mode

Commit 847a977b228b35f5ab281a31dd3724a4db887dff "#any? and #all? methods
for Channel#mode to check if modes are set" turned Channel into a
non-marshallable object because of singleton methods.

Revert the commit and define an ad-hoc ModeHash class with the any? and
all? methods, to make Channel#mode of that class.

15 years agoplugins.rb: commands were being delegated even from ignored messages
Giuseppe Bilotta [Mon, 14 Jul 2008 10:05:29 +0000 (12:05 +0200)] 
plugins.rb: commands were being delegated even from ignored messages

15 years ago* use to_irc_netmask(:force => true) to unlink Netmasks from their Server to prevent...
Giuseppe Bilotta [Sun, 13 Jul 2008 22:57:43 +0000 (00:57 +0200)] 
* use to_irc_netmask(:force => true) to unlink Netmasks from their Server to prevent errors when dumping users

15 years agodo not crash when GetText.cached= is not defined
Yaohan Chen [Sat, 12 Jul 2008 00:43:18 +0000 (20:43 -0400)] 
do not crash when GetText.cached= is not defined

15 years agoVersion 0.9.11-rc2 rbot-0.9.11-rc2
Giuseppe Bilotta [Thu, 10 Jul 2008 12:26:58 +0000 (14:26 +0200)] 
Version 0.9.11-rc2

15 years ago* (plugins/rss) fixed item unique ids
dmitry kim [Thu, 10 Jul 2008 10:14:37 +0000 (14:14 +0400)] 
* (plugins/rss) fixed item unique ids

15 years agospell plugin: it's spell.path, not spell.program
Giuseppe Bilotta [Mon, 7 Jul 2008 21:38:01 +0000 (23:38 +0200)] 
spell plugin: it's spell.path, not spell.program

15 years agofreshmeat plugin: trap errors raised during XML parse
Giuseppe Bilotta [Mon, 7 Jul 2008 21:37:03 +0000 (23:37 +0200)] 
freshmeat plugin: trap errors raised during XML parse

15 years agohttputil: don't fail when b0rked servers put the charset in the content-encoding
Giuseppe Bilotta [Mon, 7 Jul 2008 21:14:24 +0000 (23:14 +0200)] 
httputil: don't fail when b0rked servers put the charset in the content-encoding

15 years agofreshmeat plugin: fix feed retrieval
Giuseppe Bilotta [Mon, 7 Jul 2008 20:52:21 +0000 (22:52 +0200)] 
freshmeat plugin: fix feed retrieval

15 years agogenerate mo files only from existing po files, instead of for each plugin
Yaohan Chen [Mon, 7 Jul 2008 19:27:46 +0000 (15:27 -0400)] 
generate mo files only from existing po files, instead of for each plugin

15 years agouse msginit to generate po file when it does not exist
Yaohan Chen [Mon, 7 Jul 2008 18:14:29 +0000 (14:14 -0400)] 
use msginit to generate po file when it does not exist

15 years agoPO update
Giuseppe Bilotta [Mon, 7 Jul 2008 16:04:46 +0000 (18:04 +0200)] 
PO update

15 years agoRakefile: ensure that the placeholder PACKAGE VERSION is properly replaced
Giuseppe Bilotta [Mon, 7 Jul 2008 16:04:27 +0000 (18:04 +0200)] 
Rakefile: ensure that the placeholder PACKAGE VERSION is properly replaced

15 years agoRakefile: don't fail if .po or .pot file doesn't exist
Giuseppe Bilotta [Mon, 7 Jul 2008 15:22:30 +0000 (17:22 +0200)] 
Rakefile: don't fail if .po or .pot file doesn't exist

15 years agomo files are no longer included in gem but built as extension
Yaohan Chen [Mon, 7 Jul 2008 02:58:50 +0000 (22:58 -0400)] 
mo files are no longer included in gem but built as extension

15 years agoautoop plugin: stricter default permissions
Giuseppe Bilotta [Sun, 6 Jul 2008 15:27:50 +0000 (17:27 +0200)] 
autoop plugin: stricter default permissions

15 years agolastfm plugin: fail more graciously when no event is returned
Giuseppe Bilotta [Fri, 4 Jul 2008 23:09:25 +0000 (01:09 +0200)] 
lastfm plugin: fail more graciously when no event is returned

15 years agolastfm plugin: some formatting changes for events
Giuseppe Bilotta [Fri, 4 Jul 2008 22:59:40 +0000 (00:59 +0200)] 
lastfm plugin: some formatting changes for events

15 years agolastfm plugin: document compare command
Giuseppe Bilotta [Fri, 4 Jul 2008 22:51:17 +0000 (00:51 +0200)] 
lastfm plugin: document compare command

15 years agolastfm plugin: properly use CGI.escape instead of wrong URI.escape
Giuseppe Bilotta [Fri, 4 Jul 2008 22:47:50 +0000 (00:47 +0200)] 
lastfm plugin: properly use CGI.escape instead of wrong URI.escape

15 years agolastfm plugin: quoting sux, bolding rox
Giuseppe Bilotta [Fri, 4 Jul 2008 22:10:56 +0000 (00:10 +0200)] 
lastfm plugin: quoting sux, bolding rox

15 years agolastfm plugin: artist summary is HTML, IRC-ify it
Giuseppe Bilotta [Fri, 4 Jul 2008 22:09:01 +0000 (00:09 +0200)] 
lastfm plugin: artist summary is HTML, IRC-ify it

15 years agolastfm plugin: lastfm track search
Giuseppe Bilotta [Fri, 4 Jul 2008 22:02:32 +0000 (00:02 +0200)] 
lastfm plugin: lastfm track search

15 years agogrouphug plugin: help text simplification
Giuseppe Bilotta [Fri, 4 Jul 2008 16:14:54 +0000 (18:14 +0200)] 
grouphug plugin: help text simplification

15 years agogrouphug plugin: add support for posting confessions with 'create' auth.
Casey Link [Fri, 4 Jul 2008 15:37:50 +0000 (11:37 -0400)] 
grouphug plugin: add support for posting confessions with 'create' auth.

15 years agolastfm plugin: reinstate 1.0 API functions for which we don't have a working 2.0...
Giuseppe Bilotta [Thu, 3 Jul 2008 22:13:41 +0000 (00:13 +0200)] 
lastfm plugin: reinstate 1.0 API functions for which we don't have a working 2.0 routine yet

15 years agolastfm plugin: better handling missing album in playing info
Giuseppe Bilotta [Thu, 3 Jul 2008 19:57:18 +0000 (21:57 +0200)] 
lastfm plugin: better handling missing album in playing info

15 years agolastfm plugin: cleanup Event initialization and fix missing artist
Giuseppe Bilotta [Thu, 3 Jul 2008 17:19:41 +0000 (19:19 +0200)] 
lastfm plugin: cleanup Event initialization and fix missing artist

15 years agolastfm plugin: Tweak event handling, and add attendance to output.
Casey Link [Thu, 3 Jul 2008 16:46:23 +0000 (12:46 -0400)] 
lastfm plugin: Tweak event handling, and add attendance to output.

15 years agoutils.rb: added timeago and distance_of_time_in_words functions
Casey Link [Mon, 30 Jun 2008 23:44:05 +0000 (19:44 -0400)] 
utils.rb: added timeago and distance_of_time_in_words functions

15 years agolastfm plugin: a bit more polish. updated help, removed cruft.
Casey Link [Thu, 3 Jul 2008 15:29:04 +0000 (11:29 -0400)] 
lastfm plugin: a bit more polish. updated help, removed cruft.

15 years agosearch plugin: added a gcount function to return the number of results in a google...
Casey Link [Tue, 1 Jul 2008 04:05:22 +0000 (00:05 -0400)] 
search plugin: added a gcount function to return the number of results in a google query

15 years agolastfm.rb plugin: a minor bugfix and additional error handling case.
Casey Link [Tue, 1 Jul 2008 00:21:53 +0000 (20:21 -0400)] 
lastfm.rb plugin: a minor bugfix and additional error handling case.

15 years agolastfm.rb plugin: overhauled plugin to use the 2.0 api, added internationalization...
Casey Link [Thu, 3 Jul 2008 15:26:33 +0000 (11:26 -0400)] 
lastfm.rb plugin: overhauled plugin to use the 2.0 api, added internationalization to all strings, removed cruft.

Conflicts:

data/rbot/plugins/lastfm.rb

15 years agomarkov plugin: don't raise if seed message doesn't have enough words
Giuseppe Bilotta [Thu, 3 Jul 2008 13:27:40 +0000 (15:27 +0200)] 
markov plugin: don't raise if seed message doesn't have enough words

15 years agoUNO plugin: skip empty messages
Giuseppe Bilotta [Thu, 3 Jul 2008 13:21:34 +0000 (15:21 +0200)] 
UNO plugin: skip empty messages

15 years agoUNO plugin: round cards for late joiners up, not down
Giuseppe Bilotta [Thu, 3 Jul 2008 13:18:16 +0000 (15:18 +0200)] 
UNO plugin: round cards for late joiners up, not down

15 years agoUNO plugin: don't show user cards if the user is not playing
Giuseppe Bilotta [Thu, 3 Jul 2008 12:38:49 +0000 (14:38 +0200)] 
UNO plugin: don't show user cards if the user is not playing

15 years agoItalian PO fix
Giuseppe Bilotta [Wed, 2 Jul 2008 16:34:48 +0000 (18:34 +0200)] 
Italian PO fix

15 years agorss plugin: comment out a couple of potentially oververbose debug lines
Giuseppe Bilotta [Wed, 2 Jul 2008 13:54:36 +0000 (15:54 +0200)] 
rss plugin: comment out a couple of potentially oververbose debug lines

15 years agoVersion 0.9.11-rc1 rbot-0.9.11-rc1
Giuseppe Bilotta [Mon, 30 Jun 2008 23:48:37 +0000 (01:48 +0200)] 
Version 0.9.11-rc1

15 years agoRakefile: update list of binaries
Giuseppe Bilotta [Mon, 30 Jun 2008 23:48:27 +0000 (01:48 +0200)] 
Rakefile: update list of binaries

15 years agoItalian PO typo
Giuseppe Bilotta [Mon, 30 Jun 2008 21:10:18 +0000 (23:10 +0200)] 
Italian PO typo

15 years agofiglet plugin: check paths and fonts using Utils.safe_exec
Giuseppe Bilotta [Mon, 30 Jun 2008 14:08:47 +0000 (16:08 +0200)] 
figlet plugin: check paths and fonts using Utils.safe_exec

15 years ago* external execute plugin default to non-absolute paths
Giuseppe Bilotta [Mon, 30 Jun 2008 13:55:23 +0000 (15:55 +0200)] 
* external execute plugin default to non-absolute paths

15 years ago* markov: lowered the priority of the learning thread
dmitry kim [Mon, 30 Jun 2008 13:58:01 +0000 (17:58 +0400)] 
* markov: lowered the priority of the learning thread

15 years ago+ markov: sleep() some in the learning thread
dmitry kim [Mon, 30 Jun 2008 13:45:00 +0000 (17:45 +0400)] 
+ markov: sleep() some in the learning thread

15 years agoAdd a host.path setting to set the path to the host command.
Diego 'Flameeyes' Pettenò [Mon, 30 Jun 2008 09:39:36 +0000 (11:39 +0200)] 
Add a host.path setting to set the path to the host command.

15 years agoAdd a cal.path option with the path to the cal program.
Diego 'Flameeyes' Pettenò [Mon, 30 Jun 2008 09:37:37 +0000 (11:37 +0200)] 
Add a cal.path option with the path to the cal program.

15 years agoReplace spell.program option with a spell.path one.
Diego 'Flameeyes' Pettenò [Mon, 30 Jun 2008 09:34:31 +0000 (11:34 +0200)] 
Replace spell.program option with a spell.path one.

The new option follows the same format as figlet.path and
fortune.path, and has the full path to the spell program.

15 years agoItalian translation update
Giuseppe Bilotta [Mon, 30 Jun 2008 09:08:57 +0000 (11:08 +0200)] 
Italian translation update

15 years agoadd task for normalizing po files
Yaohan Chen [Sun, 29 Jun 2008 21:32:39 +0000 (17:32 -0400)] 
add task for normalizing po files
translators should run normalizepo task after editing po files, before commiting to
version control

15 years agonormalize pot and po files
Yaohan Chen [Sun, 29 Jun 2008 21:23:20 +0000 (17:23 -0400)] 
normalize pot and po files

15 years agomake gettext tasks only update a file with new msg/msgid, normalize po/pot files
Yaohan Chen [Sat, 28 Jun 2008 21:58:04 +0000 (17:58 -0400)] 
make gettext tasks only update a file with new msg/msgid, normalize po/pot files

15 years agosearch plugin: fix gcalc regexp
Giuseppe Bilotta [Mon, 30 Jun 2008 08:47:03 +0000 (10:47 +0200)] 
search plugin: fix gcalc regexp

15 years ago* AUTHORS: jsn-: i refuse to use gmail.org!
dmitry kim [Sun, 29 Jun 2008 23:48:01 +0000 (03:48 +0400)] 
* AUTHORS: jsn-: i refuse to use gmail.org!

15 years agomessage.rb: suppress warning about duplicate method
Giuseppe Bilotta [Sun, 29 Jun 2008 19:55:59 +0000 (21:55 +0200)] 
message.rb: suppress warning about duplicate method

15 years ago* fix handling of IDENTIFY_MSG
Giuseppe Bilotta [Sun, 29 Jun 2008 18:19:41 +0000 (20:19 +0200)] 
* fix handling of IDENTIFY_MSG

When a server has IDENTIFY-MSG, we would expect identification in any
PRIVMSG or NOTICE, even on those generated from the bot. This caused
lots of spurious warnings, and would lead to mislogging when a
bot-generated message started with + or -.

Fix this by only handling IDENTIFY-MSG on server-generated messages.

15 years agoircbot.rb: @bot.topic() can also be used to retrieve topic information instead of...
Giuseppe Bilotta [Sat, 28 Jun 2008 19:06:29 +0000 (21:06 +0200)] 
ircbot.rb: @bot.topic() can also be used to retrieve topic information instead of setting it

15 years agoNew IRC framework: allow RPL_TOPIC(_INFO) for channels we are not on, since some...
Giuseppe Bilotta [Sat, 28 Jun 2008 19:01:19 +0000 (21:01 +0200)] 
New IRC framework: allow RPL_TOPIC(_INFO) for channels we are not on, since some networks allow it

15 years agofiglet plugin: make it more friendly to external usage
Giuseppe Bilotta [Fri, 27 Jun 2008 17:03:03 +0000 (19:03 +0200)] 
figlet plugin: make it more friendly to external usage

15 years agoircbot.rb: make #mode()'s third argument optional
Giuseppe Bilotta [Thu, 26 Jun 2008 19:35:19 +0000 (21:35 +0200)] 
ircbot.rb: make #mode()'s third argument optional

15 years agobans plugin: fix bans rm badword :regexp
Giuseppe Bilotta [Thu, 26 Jun 2008 17:18:06 +0000 (19:18 +0200)] 
bans plugin: fix bans rm badword :regexp

15 years ago* plugins/bans: show the bad word message in channel before the (kick)ban
dmitry kim [Thu, 26 Jun 2008 17:00:07 +0000 (21:00 +0400)] 
* plugins/bans: show the bad word message in channel before the (kick)ban

15 years ago* plugins/bans: fix timed bans
dmitry kim [Thu, 26 Jun 2008 16:47:15 +0000 (20:47 +0400)] 
* plugins/bans: fix timed bans

15 years agoUpdate PO
Giuseppe Bilotta [Thu, 26 Jun 2008 12:49:15 +0000 (14:49 +0200)] 
Update PO

15 years agoconfig.rb: localize git date in version
Giuseppe Bilotta [Thu, 26 Jun 2008 12:45:41 +0000 (14:45 +0200)] 
config.rb: localize git date in version

15 years agomessage.rb: saner \#inspect() for BasicUserMessage and derivatives
Giuseppe Bilotta [Wed, 25 Jun 2008 22:23:23 +0000 (00:23 +0200)] 
message.rb: saner \#inspect() for BasicUserMessage and derivatives

15 years agomarkov plugin: use plain message
Giuseppe Bilotta [Wed, 25 Jun 2008 21:01:29 +0000 (23:01 +0200)] 
markov plugin: use plain message

15 years ago* (plugins/urban): fix the errors introduced by jsn- in the previous commit
dmitry kim [Wed, 25 Jun 2008 20:03:38 +0000 (00:03 +0400)] 
* (plugins/urban): fix the errors introduced by jsn- in the previous commit

15 years agourban plugin: when urbandictionary.com goes offline, don't throw errors.
Spencer RInehart [Wed, 25 Jun 2008 19:21:08 +0000 (15:21 -0400)] 
urban plugin: when urbandictionary.com goes offline, don't throw errors.

15 years agoscript plugin: store channels as strings
Giuseppe Bilotta [Wed, 25 Jun 2008 19:33:24 +0000 (21:33 +0200)] 
script plugin: store channels as strings

15 years agomarkov plugin: do learning in one thread, instead of threading for each message
Yaohan Chen [Wed, 25 Jun 2008 19:27:38 +0000 (15:27 -0400)] 
markov plugin: do learning in one thread, instead of threading for each message

15 years agoallow multi-line (artificial) messages be delegated and handled
Yaohan Chen [Tue, 24 Jun 2008 17:45:56 +0000 (13:45 -0400)] 
allow multi-line (artificial) messages be delegated and handled

15 years agoextends.rb: suppress warning
Giuseppe Bilotta [Tue, 24 Jun 2008 17:32:09 +0000 (19:32 +0200)] 
extends.rb: suppress warning

15 years agoircbot.rb: create the appropriate directories when updating botclass dir from template
Giuseppe Bilotta [Tue, 24 Jun 2008 16:53:45 +0000 (18:53 +0200)] 
ircbot.rb: create the appropriate directories when updating botclass dir from template

15 years agobans plugin: badword checks on plain message
Giuseppe Bilotta [Tue, 24 Jun 2008 15:30:04 +0000 (17:30 +0200)] 
bans plugin: badword checks on plain message

15 years agomessage handling: improve IRC format handling for received messages
Giuseppe Bilotta [Tue, 24 Jun 2008 15:27:30 +0000 (17:27 +0200)] 
message handling: improve IRC format handling for received messages

Rather than stripping colors all around and keeping other format codes,
we only strip initial and final formatting before parsing the message.

We store the original, unstripped message in #logmessage() and a
fully stripped copy of the message in #plainmessage()

This means that most plugins will now have full formatting of arguments
preserved, while stupid IRC usage of formatting whole lines will not
interfere with bot usage. Plugins that need a fully stripped version of
the message can still access it.

15 years agolastfm plugin: code cleanup and warning suppression
Giuseppe Bilotta [Tue, 24 Jun 2008 13:47:40 +0000 (15:47 +0200)] 
lastfm plugin: code cleanup and warning suppression

15 years agofiglet plugin: fix font usage and defaults
Giuseppe Bilotta [Tue, 24 Jun 2008 13:45:17 +0000 (15:45 +0200)] 
figlet plugin: fix font usage and defaults

15 years agoircsocket.rb: use syswrite since ruby's buffered io is racy
Giuseppe Bilotta [Tue, 24 Jun 2008 13:30:54 +0000 (15:30 +0200)] 
ircsocket.rb: use syswrite since ruby's buffered io is racy

In some situations a PRIVMSG could be output twice in sequence with no
intervening newline when using the Socket#puts function. Use syswrite to
skip Ruby's buffered IO.

15 years agofake_message duplicates m.reply and m.in_thread from the :from message
Yaohan Chen [Tue, 24 Jun 2008 03:29:51 +0000 (23:29 -0400)] 
fake_message duplicates m.reply and m.in_thread from the :from message
this makes it possible to create a fake message, override its reply method in order
to get its "return value", even if the fake message will be handled by creating
another fake message.

15 years agofake messages will use the originating message's reply method
Yaohan Chen [Mon, 23 Jun 2008 23:30:29 +0000 (19:30 -0400)] 
fake messages will use the originating message's reply method
this allows shell plugin to capture replies of a command even if this command is
run because of a fake message

15 years agoircbot.rb: copy missing template files on startup
Giuseppe Bilotta [Tue, 24 Jun 2008 10:08:40 +0000 (12:08 +0200)] 
ircbot.rb: copy missing template files on startup

15 years agoconfig.rb: system wide overrides in /etc/rbot.conf
Giuseppe Bilotta [Tue, 24 Jun 2008 09:01:48 +0000 (11:01 +0200)] 
config.rb: system wide overrides in /etc/rbot.conf

15 years agoPO update
Giuseppe Bilotta [Tue, 24 Jun 2008 00:24:14 +0000 (02:24 +0200)] 
PO update

15 years agoFrench translation
Marc Lagrange [Mon, 23 Jun 2008 23:58:30 +0000 (01:58 +0200)] 
French translation

15 years agofiglet plugin: toilet support
Giuseppe Bilotta [Tue, 24 Jun 2008 00:17:56 +0000 (02:17 +0200)] 
figlet plugin: toilet support

15 years agospell plugin: command line option
Giuseppe Bilotta [Mon, 23 Jun 2008 23:33:48 +0000 (01:33 +0200)] 
spell plugin: command line option

15 years agospell plugin: use case instead of if/elsif/.../end and wrap in rescue
Giuseppe Bilotta [Mon, 23 Jun 2008 23:20:17 +0000 (01:20 +0200)] 
spell plugin: use case instead of if/elsif/.../end and wrap in rescue

15 years agospell plugin: spell program is a config option
Giuseppe Bilotta [Mon, 23 Jun 2008 22:56:37 +0000 (00:56 +0200)] 
spell plugin: spell program is a config option

15 years agoFollow pagination of results
Spencer RInehart [Mon, 23 Jun 2008 22:20:42 +0000 (18:20 -0400)] 
Follow pagination of results

15 years agolastfm plugin: tries to parse the current station. will show just listened track...
Casey Link [Mon, 23 Jun 2008 18:58:00 +0000 (14:58 -0400)] 
lastfm plugin: tries to parse the current station. will show just listened track if real time data isn't there.

15 years agoSet GetText.cached = false so that mo files are reloaded when setting locale
Yaohan Chen [Mon, 23 Jun 2008 20:30:59 +0000 (16:30 -0400)] 
Set GetText.cached = false so that mo files are reloaded when setting locale

15 years agodict.rb plugin: fixes the oxford parser so it doesn't spit out a bunch of extra crap
Casey Link [Mon, 23 Jun 2008 22:00:08 +0000 (18:00 -0400)] 
dict.rb plugin: fixes the oxford parser so it doesn't spit out a bunch of extra crap

before:
[13:45:29] <insanity> fruitful: adjective 1 producing much fruit; fertile. 2 producing good results; productive. DERIVATIVES fruitfully adverb fruitfulness noun.
Perform another search of the Compact Oxford English Dictionary About this dictionary The Compact Oxford English Dictionary of Current English contains 145,000 words,
phrases, and definitions. Find out more about Oxford's range of English dictionaries Sign up for the AskOxford Word of...

after:
[13:58:36] <VanGogh> fruitful: adjective 1 producing much fruit; fertile. 2 producing good results; productive. DERIVATIVES fruitfully adverb fruitfulness noun.