![]() ![]() |
Home |
How it works |
Projects archive |
Contact Us Air Compressor Bot |
|
| The Career Path of Freelance Programming Jobs |
ANY Language AIM Bot |
![]() |
Bidding Time: |
01/06/2005 20:25 - 06/07/2005 00:00 |
Budget: |
$100-300 |
Status: |
Closed |
|
|
|
Job Type: |
|
Description: |
The goal is to create an AIM Bot that can recognize certain keywords and provide appropriate responses (URLs to the requested information). [Specifically for the restaurant industry] +I also have a deadline which is the 15th of June because this is for a marketing project which I hope will earn me a scholarship into a business school.+ Also any advice, questions or comments are welcome. If you can do all/or any part of this I'd welcome your help. <> The script has 4 parts, listed below in order of their priority. (So when you build it, you do not necessarily have to do it in the order presented.) -----I. Core (HelperBot) AutoResponder----- a. Would give all users an initial 'Welcome' message. b. If a user does not send anything within 10 minutes of his last message then the 'Welcome' message will be resent. c. Keyword Recognition: 1. If a user writes "Pizzahut" or any combination (i.e. "Pizza Hut"; "kjpizzaiHut"; also some misspelling variants "PizaHat", etc.) then it will respond with a "Menu of choices that will say: "If you'd like more information on Pizzahut, please type one of the following:" It would then give the user a set of choices that are detailed next. 2. If a user writes any of the keywords from #1 and then an additional keyword (i.e. "Pizzahut Menu" "Pizzahut Specials"; "Pizzahut Photos"; "Pizzahut Reviews" etc) then it will respond with the appropriate response (i.e. "Here is the link to Pizzahut Reviews.", etc) 3. Specifically these combinations will be the standard set displayed as choices, and recognized as commands (# represents the name of the restaurant)[also to include the proper keyword variant recognition]: - "# Info" (and variant "Information") - this would respond with hours, phone number, link to website, link to specials, link to photos, etc..see below - "# Phone" (and variant "Phone Number")etc - "# Hours" (and variant "Hour")etc - "# Menu" (and variant "Prices")etc - "# Specials" (and variant "Special"; "Discount(s)")etc - "# Photos" (and variant "Photo")etc - "# Reviews" (and variant "Review")etc - "# Order Now" (and variant "Orders")etc - "# (Get) Directions" (and variant "Direction) etc (Also potential flexibility to add more secondary keywords? If possible?) 4. If the user enters a general word such as "List Chinese (Food)" or "List Italian" (Or other relevant keywords, if they said "List Steak" I would provide a list of places that respond to that keyword request) with the prefix 'List' as the constant then it would respond with all of the restaurants in that category (hyperlinked to their URLs). 5. If the user enters gibberish ("asdofjsiojdf") or a restaurant not in the database then give a standard error message (i.e. "I'm sorry, I do not recognize what you are saying, please check your spelling and try again." 6. The script would also have to NOT autorespond to ANY messages from the nick 'IMserv' because it often sends notification messages, and if the bot responds it'll be a load on the server and the rate limit.) *(I realize there's a lot of keyword recognition pathways [and I guess keyword order priority? here and stuff...so If it's too complicated you can let me know and/or simply it.] I don't have much experience, but maybe there could be databases etc. or specific keyword database variation hives...or any better ways to do it. I'm not sure, but as long as you understand the concept and provide the best solution to your ability then I'm satisfied.) -----II. (MainBot) Traffic Regulation----- a. A useful setup would be where there is one Main bot (traffic director) and then perhaps another 10 Helper bots (the ones that do the actual autoresponding). b. When a user messages the Main bot they would get a standard message. c. Then... -Ideally, the Main bot would send a signal to either a sequential, or randomly chosen HelperBot to send a message to that user. -Or Alternatively, the Main bot would just display a message saying "To help reduce server load, please send a message to HelperBot1(1-10)" or "To help reduce server load, HelperBot1(1-10) will message you shortly." [once again, sequential or randomly chosen] d. The Main bot would then ignore (not autorespond) to any other messages from that user for 10 minutes. Once 10 minutes are up (from the INITIAL message, not the last one) then it would autorespond again. *(I'm not sure how this would work in the sense that I don't know if/how there can be multiple nicks on MirC or whether this script would work Per/Nick or Per/All messages. For an example of an AIM itnerface you can test out the IRC to AIM portal that this coudl be designed for at http://www.zevils.com/programs/imirc/ and you can view the IRC servers its currently on at http://www.zevils.com/programs/imirc/imstat/) -----III. (HelperBot) Traffic Regulation----- a. Each Helper bot would try to prevent flooding or excessive use by ignoring (not autoresponding) to a users messages given certain parameters. b. This would be on a Per/User basis. An estimated setup would be if an individual user sends more than 5 messages in one minute then the bot would give a warning alert on the 5th one (i.e. "You have exceeded the recognition quota of our system, please wait a few minutes and try again.") and suspend all autoresponses to that user for a period of 3 minutes. *(If you can think of any alternate/additional overall or per/bot rate-limit violation preventing strategies, please feel free to share and/or implement.) -----IV. XML Retrieval and Parsing----- a. When a user enters "# Specials" (Refer to section I-C-3) instead of displaying a URL, the script would retrieve a XML file on the Internet (determined by the value of # [= the restaurant]) and parse and display the descriptions. (I would probably have the XML file to only display 5, but if the script could only display the last 5 that would be nice, totally optional) b. When a user enters "List Specials" the script would go to a URL, just like in A (above) and list the last 10. *(I know it would be easer to use information from local files, so if you can find an application that periodically goes to RSS feeds and then saves each one into an individual text file, then you can just have the script use that method.) ------V. Misc.----- Also, I had a conversation with a mIRC scripter about a similar type of script...maybe the things he mentioned might be of use to you. -To have the availability to freely add more slave bots (easily) in case of traffic increase or decrease. [Probably done manually] -To have each slave bot connect to a different IRC to AIM server (there are over 10) -To possibly have a slave bot notify and ignore any IMs sent to it that were not sent originally to the MasterBot...(to prevent people from just adding the slavebot to their buddy list and IMing it directly) Also some of his recommendations: He said the use of regular expressions might be helpful. - ie Pizz?as?h(u|a)t Also, distance matching. - $hmatch to match the entire string against a hash table -only check the edit distance for the query (up to the length of whatever I'm comparing it against) But parallel checking/matching is ultimately better because it doesn't take so long to process. Thank you for taking the time to read this. This is very important to me so let me know what you can do. Additional information submitted: 06/07/2005 at 22:20 EDT: This project is the proprietary information of .
Click here to remove this project from OUR database.
|
Operating System: |
(None) |
Database System: |
(None) |
| <<< back |
|
| Home | Projects archive | RSS | Resources | Links | Contact Us | © 2004-2008 ProjectsList.biz /5.842 |