aMSN Forums
February 11, 2012, 12:18:14 am *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: New forum for aMSN !!
 
   Home   Help Search Login Register  
Pages: [1] 2
  Print  
Author Topic: [Jul-05] Jake 0.9 | Jake2 0.1 (chatbot) (NOT Eliza copy)  (Read 11334 times)
alexandernst
Developers
Super Power User
*
Offline Offline

Posts: 748



View Profile
« on: June 26, 2009, 10:57:17 am »

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.zip
mirror: http://www.megaupload.com/?d=EEG2YS0M

To update from the SVN just do this 2 easy steps:

Step 1: CD to your .aMSN's plugin directory

Code:
cd ~/.amsn/plugins/

Step 2: If this is the first time you download the plugin from SVN type this:

Code:
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:

Code:
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:  Angry
Anyways, more suggestions, bug-reports, or just "hey, you're doing it really good!" are acepted!  Smiley

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 Smiley
*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 Smiley  (I'm joking Dansu, I won't fire you Wink).

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 &lt; or &gt; 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.0

Jake 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/
« Last Edit: July 05, 2010, 12:03:16 am by alexandernst » Logged
marlonguppy
Newbie

Offline Offline

Posts: 6



View Profile WWW
« Reply #1 on: June 30, 2009, 08:19:29 pm »

Cool! I translated even to dutch, But can i post it here?
EDIT:
I mailed it to you Wink
Logged

alexandernst
Developers
Super Power User
*
Offline Offline

Posts: 748



View Profile
« Reply #2 on: June 30, 2009, 08:33:45 pm »

Yes, you can post it here or send it to me via email (alexandernst@gmail.com)
Logged
Turak
Newbie

Offline Offline

Posts: 34



View Profile
« Reply #3 on: July 02, 2009, 05:41:52 pm »

Great to see that you've created a new version !

About the translations, I think you should add the new lines in all the language files so that the newest functions would work even if the files have not been translated yet.
If you could also mark the new lines (I don't know how... perhaps with a special character before the line ?), the translations would be done quicklier !

I've mailed the french translation.
Logged
alexandernst
Developers
Super Power User
*
Offline Offline

Posts: 748



View Profile
« Reply #4 on: July 02, 2009, 08:41:42 pm »

Thanks for the trans file Turak Wink
Oh, about the functions.If specific lang file is not traduced, jake will use langen file, so, if "define" is not traduced to X language, you'll have to write "define".

About the second thing... I think it's not possible... It's just a simple text file.

cya
Logged
Dodow
Newbie

Offline Offline

Posts: 6


View Profile
« Reply #5 on: August 21, 2009, 10:08:29 pm »

Hi,
everything working fine, !song & !translate are very funnies & useful.
But… !on !off dont work anymore =/
Kinda strange…
Logged
alexandernst
Developers
Super Power User
*
Offline Offline

Posts: 748



View Profile
« Reply #6 on: August 21, 2009, 10:25:52 pm »

Hi, thanks for reporting those bugs Smiley
I'll release very soon 0.9, so I'll make sure to check that before releasing Wink.

BTW, I need 1 betatester. Could anybody help me? (the first one in mading a post requesting that will be the one)
Logged
Stadt
Newbie

Offline Offline

Posts: 25


View Profile
« Reply #7 on: September 01, 2009, 03:11:10 pm »

I can betatest it.  :wink:
Logged
alexandernst
Developers
Super Power User
*
Offline Offline

Posts: 748



View Profile
« Reply #8 on: September 01, 2009, 05:42:15 pm »

Great Smiley
Add me,my msn is: alexandernst@gmail.com
Logged
alexandernst
Developers
Super Power User
*
Offline Offline

Posts: 748



View Profile
« Reply #9 on: October 16, 2009, 10:47:32 am »

Ok everyone, I know that right now nothing works (no songs support, no megavideo, no dictionary, no nothing). I'm really sorry about that. It suddenly happened because of some changes in the websites that I search in.
Nevermind, I'm going to release (probably) 0.8 STABLE this weekend Smiley

It has a lot of improvements, so just stay tuned and you'll see them. I'm just waiting my betatester to confirm that everything works OK.
Logged
alexandernst
Developers
Super Power User
*
Offline Offline

Posts: 748



View Profile
« Reply #10 on: October 18, 2009, 01:02:18 pm »

As I promissed, now 0.8 STABLE is ready for use Smiley
+info on the first post on this thread.
Thanks for reading.
Logged
alexandernst
Developers
Super Power User
*
Offline Offline

Posts: 748



View Profile
« Reply #11 on: December 17, 2009, 01:59:41 am »

I know that jake doesn't work anymore with svn >11843, and I'm fixing it atm. Stay tunned, I'll release 0.9 soon.
btw, I finally detected that stupid annoying bug that prevented jake from being installed in almost any pc.
Logged
alexandernst
Developers
Super Power User
*
Offline Offline

Posts: 748



View Profile
« Reply #12 on: December 31, 2009, 05:03:06 am »

New release!! Look at first post & Happy New Year! Smiley
Logged
Dodow
Newbie

Offline Offline

Posts: 6


View Profile
« Reply #13 on: January 03, 2010, 04:53:55 pm »

Great job & happy new year to you ! Tongue
Thanks a lots for that fix : *FIX: Fixed problem when trying to start up jake (Plugins System: Can't initialize plugin: init procedure caused internal error) Grin
Every new upgrades look really cool Wink
Logged
alexandernst
Developers
Super Power User
*
Offline Offline

Posts: 748



View Profile
« Reply #14 on: April 08, 2010, 04:30:54 am »

I just wanted to say you all that I'm rewriting Jake in python with qt4.
It will support everything that the current version supports, and much more!

The basic idea is to have Jake as a normal desktop app running in background and at certain keyhit (global shortcut)
it will appear (just like yakuake in KDE4).
Because it will be a desktop app it will support a lot more things, like downloading vids from youtube and converting them
or extracting only the sound, etc...

At this moment Jake is at really early stage of development, but I'll make my best to do it as quick as possible.

Any suggestions/ideas or even help it will be appreciated Smiley
Logged
Pages: [1] 2
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!