Leviathan was programmed as an improvement/replacement to Juggernaut. Juggernaut was fundamentally flawed. For examples of that, AIM and MSN users were recognized only by their username. But when IRC was added, AIM and IRC names could conflict, so IRC names were formatted to have an "IRC_" before them.
Another example is the message queue, the bot had one global queue that all the bots followed, when each bot should have had its own queue.
Also, Leviathan is an improvement to Juggernaut in its functionality. For example, Leviathan connects to Jabber, and the HTTP listener has been merged with the other bots.
Finally, here is the list of differences between the two templates:
Quote:
Bot data update: using "Client:" to identify the messenger no longer works, using "Listener:" is now used to define the messenger.
Client format update: The $listener has been dropped, and $client now is formatted as "SENDER-username" (i.e. MSN-name@domain.com, or AIM-screenname).
User data update: A few new keys have been introduced, including those used for temporary block systems. Also, there are 20 Custom Keys that you can use in commands, etc. for keeping your own types of data.
The Jabber listener has been introduced.
Message queueing now is per username, instead of having one global queue.
Alpha brain added.
Brains update: instead of having "_get" and "_load" files and subs, they are included in a single file. The returning hashref defines what the names of the subs are, so the bot can load them.
<*lazy*>Every*lazy*> included file returns information about itself in a hashref, not just commands.
Commands - The !menu command is more dynamic; adding a category is as simple as creating a command that ties to that category. The !menu command generates the category list dynamically.
Main configuration file is now in Perl form, allowing you to set any variable and not being limited to the ones Juggernaut gives you.
New Blocking Method: Anytime the bot has to block somebody by itself, it uses temporary blocks. The block equation is (number of times blocked)2 * 15 minutes. (thanks for help with the block time calculation, Mojave!)
BlackList Update: The !blacklist command now takes a <*lazy*>reason*lazy*> the user was banned; this reason is saved in the blacklist and returned to that user when they start a conversation (MSN).
Conversation Logs Update: Collective conversation logs are now kept in "logs/chat", and the top-level "logs" folder is used for smaller logs (i.e. alerts, warnings, etc.)
The $chaos hashref has been reorganized. Details:
Added Top-Level Keys: $chaos->{version} - Current program version number. $chaos->{author} - Program's author. $chaos->{debug} - Debug Mode On/Off.
Renamed/Moved Keys: $chaos->{_system} has been renamed to $chaos->{system} $chaos->{_users} has been renamed to $chaos->{clients} $chaos->{_data} has been renamed to $chaos->{data} Configuration data has been moved from $chaos->{_system}->{config} to $chaos->{config} Bot data has been moved from top-level keys into the $chaos->{bots} key.
Anyhow, the bot is attached, so you can download and test it. Unlike Juggernaut, this bot doesn't come with a big local library, the only local lib it has is only for the brain modules (Chatbot::Eliza, Chatbot::Alpha, CML, CML::Util).
Unlike Juggernaut, this bot is NOT for newbies. I expect that you know how to install Perl modules and how to understand the Perl errors that would tell you which modules are missing.
Download the bot and open "docs/index.html" -- recommended to use Internet Explorer when doing so -- it contains all the documentation and tutorials you should need.
If you want to report any bugs, or make any suggestions or request something be added to the documentation, e-mail feedback[at]aichaos[dot]com about it. _________________ Current Site (2008) http://www.cuvou.com/
<br /><br />:: Loading substitution data... Use of uninitialized value in hash element at ./Leviathan.pl line 166.<br /><br />Use of uninitialized value in hash element at ./Leviathan.pl line 166.<br /><br />Use of uninitialized value in hash element at ./Leviathan.pl line 167.<br /><br />Use of uninitialized value in hash element at ./Leviathan.pl line 166.<br /><br />Use of uninitialized value in hash element at ./Leviathan.pl line 167.<br /><br />Use of uninitialized value in hash element at ./Leviathan.pl line 166.<br /><br />Use of uninitialized value in hash element at ./Leviathan.pl line 167.<br /><br />Use of uninitialized value in hash element at ./Leviathan.pl line 166.<br /><br />Use of uninitialized value in hash element at ./Leviathan.pl line 167.<br /><br />Use of uninitialized value in hash element at ./Leviathan.pl line 166.<br /><br />Use of uninitialized value in hash element at ./Leviathan.pl line 167.<br /><br />Done!<br />:: Including Perl files...<br /><br /><br /><br />......<br />......<br />......<br />......<br /><br /><br />:: Indexing Commands... Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/administrators/promote.pl line 46.<br /><br />Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/administrators/socks.pl line 34.<br /><br />Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/botutil/powers.pl line 27.<br /><br />Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/botutil/tz.pl line 78.<br /><br />Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/copyright.pl line 25.<br /><br />Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/games/hang.pl line 130.<br /><br />Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/games/hang.pl line 368.<br /><br />Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/general/updates.pl line 35.<br /><br />Done!<br />
Then a lot of Lines like :
Code:
<br /><br />Use of uninitialized value in string eq at lib/Chatbot/Alpha.pm line 181.<br /><br />
and finally those :
Code:
<br /><br />:: Connecting the bots...<br /> Signing on sampleaim to AIM... Connection received!<br /> Connecting localhost:2001 to HTTP... Connection received!<br /> Signing on mrt-bot to IRC... Connection received!<br /> Signing on sample@jabber.com to Jabber... Connection received!<br /> Signing on xxxxx@hotmail.de to MSN... Connection received!<br />:: Initialization complete!<br /><br />print() on closed filehandle SAVE at ./Leviathan.pl line 520, <DATA> line 462.<br /><br />print() on closed filehandle VER at ./Leviathan.pl line 523, <DATA> line 462.<br /><br /><br />There was an error in the last call to Process that you did not check for and<br />handle. You should always check the output of the Process call. If it was<br />undef then there was a fatal error that you need to check. There is an error<br />in your program at ./subroutines/active.pl line 40<br /><br />
Line 40 of last error says :
Code:
<br /><br /> if ($chaos->{bots}->{$bot}->{listener} =~ /(aim|msn|irc)/i) {<br /><br />
Yeah, you e-mailed me that error too. If you post on Bot-Depot, don't e-mail me, I check Bot-Depot often.
Your problem was:
Quote:
:: Connecting the bots... Signing on sampleaim to AIM... Connection received! Connecting localhost:2001 to HTTP... Connection received! Signing on mrt-bot to IRC... Connection received! Signing on sample@jabber.com to Jabber... Connection received! Signing on xxxxx@hotmail.de to MSN... Connection received! :: Initialization complete!
The solution is:
Read the documentation, it gives clear description on how the bot files work and why you should remove the files (namely sample files) that you don't intend on using.
localhost:2001 is also a sample file for HTTP, but you may have actually intended to run an HTTP bot. But I'm 99% sure you don't own the names SampleAIM for AIM and sample@jabber.com for Jabber; so you need to remove files you don't plan on using.
Deleting the files is okay too, the original sample files can be found in the "templates" folder if you ever lose them (or you can always check the docs for how each type of connection is formatted!) _________________ Current Site (2008) http://www.cuvou.com/
Im getting this error whenever I launch the batch file
QUOTE(Error)
/Perl/site/lib .) at Leviathan.pl line 89. BEGIN failed--compilation aborted at Leviathan.pl line 89. Can't locate Net/Jabber.pm in @INC (@INC contains: ./lib ./libtwo C:/Perl/lib C: /Perl/site/lib .) at Leviathan.pl line 89. BEGIN failed--compilation aborted at Leviathan.pl line 89. Can't locate Net/Jabber.pm in @INC (@INC contains: ./lib ./libtwo C:/Perl/lib C: /Perl/site/lib .) at Leviathan.pl line 89. ... ... ... BEGIN failed--compilation aborted at Leviathan.pl line 89. Can't locate Net/Jabber.pm in @INC (@INC contains: ./lib ./libtwo C:/Perl/lib C: /Perl/site/lib .) at Leviathan.pl line 89. BEGIN failed--compilation aborted at Leviathan.pl line 89. Can't locate Net/Jabber.pm in @INC (@INC contains: ./lib ./libtwo C:/Perl/lib C: /Perl/site/lib .) at Leviathan.pl line 89. BEGIN failed--compilation aborted at Leviathan.pl line 89.
Ive read the documentation and deleted the bot files I wasnt planning on using (HTTP, Jabber, IRC)
You need to install Jabber.pm, thats what its telling you. _________________ Check out Botworld! A dev resource for things bot.
Downloads, articles, news, fourm and more.
http://botworld.marzopolis.com
Unlike Juggernaut, this bot is NOT for newbies. I expect that you know how to install Perl modules and how to understand the Perl errors that would tell you which modules are missing.
People can't seem to listen, can they? If you didn't know that your errors involved a missing module, you are NOT qualified to even begin to think about contemplating the idea of possibly running this program as your bot. Secondly, even if you did know that it was saying you're missing a module, you need to learn how to install modules before you even think about contemplating (etc..) running this bot.
____________________________
Quote:
also cer = in the menu how do you stop it showing how many commands in that catagory/folder
By editing commands/menu.pl _________________ Current Site (2008) http://www.cuvou.com/
What in the world would make you think any of that is going to fix his error? It specifically points out it's missing a module. NONE of the things you posted would fix that short of removing any mention of using net::jabber in the code...get a grip. _________________ Check out Botworld! A dev resource for things bot.
Downloads, articles, news, fourm and more.
http://botworld.marzopolis.com
I'm willing to bet he went and deleted EVERY file he found that said Jabber , including Jabber.pm _________________ Check out Botworld! A dev resource for things bot.
Downloads, articles, news, fourm and more.
http://botworld.marzopolis.com
Sounds like a suitably n00bish thing to do. Maybe Cer should have just PMed the 10 (or so) members on this forum who will be able to use it _________________ ~ Josh
[ Need bot hosting on a dedicated server? PM me. ]
I'm having a problem with Leviathan and I was hoping you could help me out. When I execute the script I get the following...
Quote:
v-strings are deprecated at Leviathan.pl line 7. v-strings are deprecated at /Library/Perl/5.8.1/Net/OSCAR.pm line 118. v-string in use/require non-portable at /Library/Perl/5.8.1/Net/OSCAR.pm line 118. v-string in use/require non-portable at Leviathan.pl line 7.
Use of uninitialized value in hash element at Leviathan.pl line 166.
Use of uninitialized value in hash element at Leviathan.pl line 166.
Use of uninitialized value in hash element at Leviathan.pl line 167.
The last two error messages repeat for a bit and then...
Quote:
:: Including Perl files... Including ./brains/alpha.pl... Done! Including ./brains/chaosml.pl... Done! Including ./brains/eliza.pl... Done! Including ./brains/juggernaut.pl... Done! Including ./brains/nexus.pl... Done! Including ./handlers/aim/aim_admin_error.pl... Done! Including ./handlers/aim/aim_admin_ok.pl... Done! Including ./handlers/aim/aim_buddy_icon_downloaded.pl... Done! Including ./handlers/aim/aim_buddy_icon_uploaded.pl... Done! Including ./handlers/aim/aim_buddy_in.pl... Done! Including ./handlers/aim/aim_buddy_info.pl... Done! Including ./handlers/aim/aim_buddy_out.pl... Done! Including ./handlers/aim/aim_buddylist_error.pl... Done! Including ./handlers/aim/aim_buddylist_ok.pl... Done! Including ./handlers/aim/aim_chat_buddy_in.pl... Done! Including ./handlers/aim/aim_chat_buddy_out.pl... Done! Including ./handlers/aim/aim_chat_closed.pl... Done! Including ./handlers/aim/aim_chat_im_in.pl... Done! Including ./handlers/aim/aim_chat_invite.pl... Done! Including ./handlers/aim/aim_chat_joined.pl... Done! Including ./handlers/aim/aim_error.pl... Done! Including ./handlers/aim/aim_evil.pl... Done! Including ./handlers/aim/aim_im_in.pl... Done! Including ./handlers/aim/aim_new_buddy_icon.pl... Done! Including ./handlers/aim/aim_rate_alert.pl... Done! Including ./handlers/aim/aim_signon_done.pl... Done! Including ./handlers/aim/aim_typing_status.pl... Done! Including ./handlers/msn/msn_add.pl... Done! Including ./handlers/msn/msn_answer.pl... Done! Including ./handlers/msn/msn_clientcaps.pl... Done! Including ./handlers/msn/msn_close.pl... Done! Including ./handlers/msn/msn_connected.pl... Done! Including ./handlers/msn/msn_disconnect.pl... Done! Including ./handlers/msn/msn_file.pl... Done! Including ./handlers/msn/msn_join.pl... Done! Including ./handlers/msn/msn_message.pl... Done! Including ./handlers/msn/msn_remove.pl... Done! Including ./handlers/msn/msn_ring.pl... Done! Including ./handlers/irc/irc_action.pl... Done! Including ./handlers/irc/irc_chat.pl... Done! Including ./handlers/irc/irc_connect.pl... Done! Including ./handlers/irc/irc_dcc.pl... Done! Including ./handlers/irc/irc_disconnect.pl... Done! Including ./handlers/irc/irc_init.pl... Done! Including ./handlers/irc/irc_names.pl... Done! Including ./handlers/irc/irc_nick_taken.pl... Done! Including ./handlers/irc/irc_pm.pl... Done! Including ./handlers/irc/irc_public.pl... Done! Including ./handlers/irc/irc_topic.pl... Done! Including ./handlers/jabber/jabber_message.pl... Done! Including ./handlers/http/http_im_in.pl... Done! Including ./handlers/http/http_receive.pl... Done! Including ./subroutines/active.pl... Done! Including ./subroutines/curses.pl... Done! Including ./subroutines/filter.pl... Done! Including ./subroutines/flood_check.pl... Done! Including ./subroutines/formal.pl... Done! Including ./subroutines/get_font.pl... Done! Including ./subroutines/get_timestamp.pl... Done! Including ./subroutines/isAdmin.pl... Done! Including ./subroutines/isBlocked.pl... Done! Including ./subroutines/isCommand.pl... Done! Including ./subroutines/isMaster.pl... Done! Including ./subroutines/isMod.pl... Done! Including ./subroutines/isWarner.pl... Done! Including ./subroutines/load_botfile.pl... Done! Including ./subroutines/load_brain.pl... Done! Including ./subroutines/load_commands.pl... Done! Including ./subroutines/load_userdata.pl... Done! Including ./subroutines/log_im.pl... Done! Including ./subroutines/modBlacklist.pl... Done! Including ./subroutines/modPoints.pl... Done! Including ./subroutines/on_im.pl... Done! Including ./subroutines/profile_get.pl... Done! Including ./subroutines/profile_send.pl... Done! Including ./subroutines/queue.pl... Done! Including ./subroutines/sentence.pl... Done! Including ./subroutines/startup.pl... Done! Including ./subroutines/statistics.pl... Done! Including ./subroutines/substitutions.pl... Done! Including ./subroutines/system_block.pl... Done! Including ./subroutines/timestamps.pl... Done! :: Indexing Commands... Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/administrators/promote.pl line 46.
Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/administrators/socks.pl line 34.
Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/botutil/powers.pl line 27.
Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/botutil/tz.pl line 78.
Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/copyright.pl line 25.
Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/games/hang.pl line 130.
Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/games/hang.pl line 368.
Ambiguous call resolved as CORE::join(), qualify as such or use & at ./commands/general/updates.pl line 35.
Done! :: Clearing temporary files... Done! :: Loading Userdata... Done! :: Loading the bots... Done! :: Loading bot profiles... Done! :: Loading bot reply data... Use of uninitialized value in string eq at lib/Chatbot/Alpha.pm line 181.
Use of uninitialized value in string eq at lib/Chatbot/Alpha.pm line 181.
The last errror message repeats for a bit and then...
Quote:
:: Connecting the bots... Signing on sixthtv to AIM... Connection received! :: Initialization complete!
ChaosAIM: Verifying buddy icon... ChaosAIM: Loading buddy icon (3.882 KB)... ChaosAIM: Buddy icon set! Use of uninitialized value in string at /Library/Perl/5.8.1/Net/OSCAR/Screenname.pm line 34.
Use of uninitialized value in string at /Library/Perl/5.8.1/Net/OSCAR/Screenname.pm line 34.
Use of uninitialized value in string at /Library/Perl/5.8.1/Net/OSCAR/Screenname.pm line 34.
Use of uninitialized value in sprintf at /Library/Perl/5.8.1/Net/OSCAR/Utility.pm line 56.
Use of uninitialized value in string at /Library/Perl/5.8.1/Net/OSCAR/Screenname.pm line 34.
Use of uninitialized value in length at ./handlers/aim/aim_signon_done.pl line 110.
Use of uninitialized value in length at ./handlers/aim/aim_signon_done.pl line 111.
Use of uninitialized value in numeric eq (==) at ./handlers/aim/aim_signon_done.pl line 120.
Use of uninitialized value in pack at /Library/Perl/5.8.1/Net/OSCAR/_BLInternal.pm line 247.
Use of uninitialized value in addition (+) at /Library/Perl/5.8.1/Net/OSCAR/TLV.pm line 55.
Use of uninitialized value in addition (+) at /Library/Perl/5.8.1/Net/OSCAR/TLV.pm line 55.
Use of uninitialized value in addition (+) at /Library/Perl/5.8.1/Net/OSCAR/TLV.pm line 55.
Use of uninitialized value in addition (+) at /Library/Perl/5.8.1/Net/OSCAR/TLV.pm line 55.
Use of uninitialized value in addition (+) at /Library/Perl/5.8.1/Net/OSCAR/TLV.pm line 55.
Use of uninitialized value in addition (+) at /Library/Perl/5.8.1/Net/OSCAR/TLV.pm line 109.
Use of uninitialized value in addition (+) at /Library/Perl/5.8.1/Net/OSCAR/TLV.pm line 109.
Use of uninitialized value in addition (+) at /Library/Perl/5.8.1/Net/OSCAR/TLV.pm line 55.
Use of uninitialized value in addition (+) at /Library/Perl/5.8.1/Net/OSCAR/TLV.pm line 55.
Use of uninitialized value in addition (+) at /Library/Perl/5.8.1/Net/OSCAR/TLV.pm line 109.
Use of uninitialized value in addition (+) at /Library/Perl/5.8.1/Net/OSCAR/TLV.pm line 55.
Use of uninitialized value in addition (+) at /Library/Perl/5.8.1/Net/OSCAR/TLV.pm line 55.
After that, nothing.
The bot does appear to connect, it just doesn't respond.
My bots sometimes lag a little bit after they sign on, because they're uploading their buddy icons and joining chat rooms and stuff. _________________ Current Site (2008) http://www.cuvou.com/