Jake is an inteligent chatbot. It will answer questions and search things for you in google. The difference between Jake and Eliza is that Eliza will answer to a word
while Jake is able to answer to phrases. The best part is that if you make Jake answer to the question "What time is it?" and later ask him "wat taim it is?" it will answer you because he has a function that will calculate the % of match between the original phrase and the phrase said by an user, and if the match is 66% or +, it will answer.
Currently it has this options:
!on - Will activate jake
!off - Will desactivate jake
!help - Will show the help text
!google "word/s" [n_results] - Will search in google for the word/s that you typed and it will print on screen the X first results.
!define "word/s" [n_results] - Will try to explain you the meaning of a word (it will search the meaning in google)
!hour - Will show the current time
!date - Will show the current date
!state ["somebody@hotmail.com"] - Will show the actual state of the bot or if email passed as argument, it will show information about that person.
!learn "phrase" "response" - It will add the phrase and the response to its dictionary, so next time when someone tells him "phrase" it will answer with the "response"
!forget "phrase" - Will erase the phrase from the dictionary.
!youtube "phrase" [n_results] - Will search youtube for "phrase"
!expression <math expression> - Will calculate and return the result of the math expression. You can use a lot of functions, just type !expr help to see them.
!megaupload "phrase" [n_results] - Will search in MegaUploads database for a file.
!song "song/singer" [n_results] - Will give you a direct download link for the song you searched.
!translate to language phrase - Obviosly, it will transtale to the language that you want the phrase that you want. There are ~50 languages.
!weather "city" - Obviosly, it will show you the weather in that city.
The bot supports lang files, and, for now, there are Spanish and English translations (thanks to me)
(outdated)...and Italian translation (thanks to IlNidoDelChiurlo)
(outdated)...and French translation (thanks to Turak)
(outdated)...and Finnish translation (thanks to Stadt)
(outdated)...and Dutch translation (thanks to Marlon (htp://q00.nl))
NOTE: lang files are outdated, so, translators, please update them. Thanks!You can download the plugin from the main plugins page or update from SVN (amsn-extra) (there may be a little wait-time between I upload the files and billiob uploads them to SVN) (I can't upload directly to SVN)
Temporal link until SVN is updated:
http://rapidshare.com/files/328227327/jake_0.9.zipmirror:
http://www.megaupload.com/?d=EEG2YS0MTo update from the SVN just do this 2 easy steps:
Step 1: CD to your .aMSN's plugin directory
cd ~/.amsn/plugins/
Step 2: If this is the first time you download the plugin from SVN type this:
svn co https://amsn.svn.sourceforge.net/svnroot/amsn/trunk/amsn-extras/plugins/jake jake
If you already have downloaded it once from the SVN, just type this to update it:
svn update
Now restart aMSN and you'll have the latest SVN version of jake. (Don't forget to enable it!)
Screencast (sorry for not editing it, I really suck at editing vid's)
http://www.youtube.com/v/qI5n3g-Jijk== CHANGELOG ==ver: 0.9*ADD: Now
every single command is...
ASYNC! This means that no more freezes
while jake is searching for X song, or getting results from google or whatever you can think about.
*ADD: Now user can select if everyone can use !on and !off with jake, or just the user. (thanks to algeek for the suggestion)
*ADD: Now user can select if everyone can use !learn and !forget with jake, or just the user. (thanks to algeek for the suggestion)
*ADD: Now user can make jake be more human! It can make jake write X chars per sec, so this way
the bot will delay the answers. Currently, making jake write 6chars/sec is normal enough. If you wan't it to be
instant, just make jake write 100chars/sec.
NOTE: This doesn't affect commands (google searches)
*ADD: Now user is able to select from the config dialog the similarity percent of coincidence when searching for a valid answer!
*ADD: Now user is able to delete bot's name! Before you could delete the name, but you still had those
":" at the beggining of every phrase. Now it's possible to remove them too.
*ADD: !state "
mail@server.com" is now acting as a real help utility!
*ADD: !weather has been added! Try it out.
*FIX: State not showing last seen time, but last speak time.
*FIX: Now megaupload searches will work again!
*FIX: Now last said message can be multiline!
*FIX: Fixed some really serios bugs (inifinite loop making google temporaly ban you)
*FIX: Trying to open a file just after closing it in "lastSeen" proc will crash.
*FIX: Fixed detection method for "no answers/results" when searching in google/megaupload/etc
*FIX: Now number of searches can have spaces, tabs, enter before/after itself. This will help
when copy/paste last command and not pressing "erase" before "enter".
*FIX: Now jake will look for every config in it's namespace config instead of looking for global
vars.
*FIX: Some more code rewrite so other devs can read it without daying while reading it :p
*FIX: Fixed creation of "jake" folder at start up.
*FIX: Fixed problem when trying to start up jake (Plugins System: Can't initialize plugin: init procedure caused internal error)
Not stable enough for you? BLAME my betatesters! I mailed them every single beta and rc, and I didn't get any RE:

Anyways, more suggestions, bug-reports, or just "hey, you're doing it really good!" are acepted!
ver: 0.8 (STABLE)*ADD: Add support for optional number of results in all functions. Now when you search something in google, you can do it
like this: !google "something". In this case the default number of results are gonna be shown. But you can do it this
way too: !google "something" 8. So this way you'll get 8 results.
*ADD: Now all functions have page support. This means that now you can do !google "something" 999 and you'll
get all those 999 results.
*ADD: Last seen support. If you do !state "
a_friend_of_mine@hotmail.com" jake will tell you the last time that your
friend was online and the last word that he told to you.
*ADD: Better help support. Now you can do !help "!google" to get google's command help, or you can do just !help to see
the general help of jake.
*ADD: "You meant...?" This is really useful! If you do !google "someting" (instead of "something") jake will show you
that little text that appears on google's first page of results where it says "Do you meant "something"?".
*ADD: Timeout has been added to all internet functions to avoid freezing the chat window if that site is down in the
moment of the search.
*ADD: Full (and I mean _FULL_) UTF-8 support has been added everywhere. Now you can translate using non-ascii
character, you can search in google with non-ascii characters, you can view google's non-ascii characters results, etc...
*ADD: Full (and I mean _FULL_) HTML entities support. No more strange and weird characters like \u00236quot;
instead of the character " ...
*ADD: Added options in the config window of the plugin.
*ADD: I have rewriten the code to english (variable names, comments, etc) so if somebody want's to get
involved in jake's development he'll be thankful about this
*FIX: Music search engines have been fixed. (+page support) (+full utf8)
*FIX: Megaupload search engine have been fixed. (+page support) (+better file size support) (+full utf8)
*FIX: Google define and search engines have been fixed (+page support) (+you meant...) (+full utf8)
*FIX: Major improvements in the translate function. (+full utf8)
*FIX: Major improvement in the string detection functions and on the random answers.
*FIX: Fixed all (and I mean _ALL_) bugs related with the creation of config files, user files, description files, etc... (+checking for those)
*FIX: Fixed a lot of typos, descriptions, comments in the code, etc...
*FIX: The selection of "better" answers has been improved. Now when you search !songs "eminem 8 miles" and no one of the
results contains "eminem" AND "8" AND "miles" the results won't be shown, instead of that you'll get a message that no results
have been found.
*FIX: Fixed a lot of bugs and rewrote some parts of the code that were _really_ messy.
*FIX: Fixed a lot of problems with the !forget command happening because I wasn't closing a file after writing in it. (what a shame :oops: )
*FIX: Possible fix on !on and !off commands.
As you can see, the changelog is
impressive =P. My betatester told me that there are no bugs (after infinite beta's and rc's) so
you shouldn't find any bugs, but if you do find some, please feel free to report them here, writing me an email, or however you want so
I can fire my betatester and then fix them

(I'm joking Dansu, I won't fire you

).
As always, you can download jake 0.8 STABLE right from here, from the temporal link, or you can wait a few hours
until billiob commit the files on SVN.
ver: 0.8 (BETA)*FIX: When adding two equal words/phrases jake will store only the newer one.
*FIX: Not clenaning up when getting web-pages. (memory)
*FIX: Improved a lot the speed of the song's searcher. No more need of external webs for looking for the download link.
*FIX: Some _really_ strange things when transtaling to languages with totally different letters that latin charset.
*FIX: A lot of bugfixes while working will [trans ...] and lang files.
*ADD: Now jake is ran for every user.
*ADD: Now some users can enable (by their own) jake, and other ones can disable jake. So, you can have jake enabled in one chat-window and have it disabled in another one at the same time.
*ADD: Some improvements in the !state command.
*ADD: Some improvements when parsing html to text. No more < or > and family...
*ADD: !translate
*ADD: !song
NOTE: Jake's dictionary from releases <0.8 WON'T WORK. You'll have to make some things. Keep reading.First, go to
/home/your_user/.amsn/your_account_hotmail_com and create a folder called "jake". Now plase the dictionary.dic file there. (The dictionary is currently in
/home/your_user/.amsn/your_account_hotmail_com . Once done this, open the file with your favourite text editor and change it this way:
set "
diccionario(phrase)" "response" ---> set "
dictionary(phrase)" "response"
That's all.
ver: 0.6.2 (quick fix)*FIX: Malformed plugininfo.xml error message.
ver: 0.6.2 (quick fix and add !megaupload)*FIX: !youtube won't work, again?.
*FIX: !forget won't work, again?.
*FIX: !expr won't work?.
*ADD: !megaupload
ver: 0.6.1*FIX: !youtube won't work. Thanks to Turak's report.
*FIX: !google won't work. Thanks to Turak's report.
*FIX: !define won't work. Thanks to Turak's report.
*FIX: !forget won't return the right number of deleted phrases.
*ADD: French translation. Thanks to Turak!
ver: 0.6.0*ADD: LANG support
*ADD: !expr
*ADD: Now the internet functions will use ::http::getUrl instead of socket
*ADD: Italian translation. Thanks to IlNidoDelChiurlo!
ver: 0.5.0*ADD: !google
*ADD: !define
*ADD: !learn
*ADD: !forget
ver 0.2.0*ADD: Jake will now compare phrases and see how equal (in %) are they.
*ADD: Phrases will be stored in a file in the user's profile folder.
ver: 0.1.0Jake will answer some pre-defined simple phrases.
==
TODO ==
ADD-TODO
* !remind "time" "message" - Will send a message to the user at "time".
* !autolearn on/off - Will add phrases and answers by it's own, scaning your conversations.
* !screenshot "time" - Will make a screenshot in "time"(sec) and will send it to the person you're talking with.
* !rapidshare "phrase" - Will search in rapidshare's base for "phrase".
* custom sourcing dictionary
* dummy frases
FIX-TODO
* fix unicode translate (still bugging sometimes)
ADD: Be able to ..."wish"... things by it's own. As questions, say things when the other user stoped writing, thanks to marcos for the idea.
I can add more functions if you have ideas, just post!
NOTE: Functions wont work if the trans files are outdated!I write only English and Spanish trans files.
UPDATE: As I promised, I'm working on Jake2. You can keep an eye on it here: https://sourceforge.net/projects/python-jake/