The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
TalkerBot Add-on - Learning System Details »» | |||||||||||||||||||||||||
TalkerBot Add-on - Learning System - Working Beta for VB3 RC2
This modification is an addition to the Talkerbot Hack by C.Birch, Rapid Gaming, eXtremeTim and a rendition of the ideas presented by Martin64 in the Teachbot hack for vb2.x This hack will not effect the code of the original Talkbot hack and works in a side-car fashion. Talkerbots and variants: VB2: C. birch https://vborg.vbsupport.ru/showthread.php?t=48053 VB3: Rapid Gaming https://vborg.vbsupport.ru/showthrea...t=60013&page=1 Extremetim https://vborg.vbsupport.ru/showthread.php?t=60329 Teachbot for Vb2 https://vborg.vbsupport.ru/showthrea...light=teachbot And based around Program E. Copyright 2002, Paul Rydell Portions by Jay Myers Program E is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. A major shout out to whoever wrote the Branch on Count functions, the guy who invented the internet and my mom of course... Wouldn't want to forget to credit anybody eh? Enough of that, here is the description: This hack allows you to teach your bot to answer questions that you specify. To teach the bot you simply post in a specified bot-teaching thread. The subject of your post is the question, and the body of your post is the answer. The subject can be a word, and the body can be the definition. The subject can be a phrase, and the body can be a response. Posts are accumulated in the bot-teaching thread until you run a botlearner script. This allows you to moderate the questions and answers your users might contribute before entering them into the bots knowledge base. Running the botlearner script will do the following: add posts to the bots knowledge move posts from learning thread into a "bot-learned" thread The bot-learned thread is an archive of everything you have taught your bot. This way you can reset your bot if necessary without losing all that knowledge. You can also SHARE! what you have taught your bot with other users of the Talkerbot Hack. Share what your bot has learned! Use http://www.yoururl.com/forum/externa...type=AIMLSHARE INSTALLATION INSTRUCTIONS: -------------------------- Backup your stuff if you desire. Create 2 threads where you want them, a bot-learned thread and a bot-teaching thread. Make note of the threadid numbers of both threads and the postid number of the first post in the bot-teaching thread. You will need them in a minute. In external.php: Find the switch statement. Code:
switch ($_REQUEST['type']) { case 'JS': case 'XML': case 'RSS2': break; default: $_REQUEST['type'] = 'RSS'; } case 'AIMLSHARE':into it. Like so: Code:
switch ($_REQUEST['type']) { case 'JS': case 'XML': case 'AIML': case 'AIMLSHARE': case 'RSS2': break; default: $_REQUEST['type'] = 'RSS'; } Still in external.php insert this block into the if-else chain. Replacing TEACHINGTHREADID,TEACHINGTHREADFIRSTPOSTID, and BOTLEARNEDTHREADID, BOTLEARNEDFIRSTPOSTID with the appropriate numbers. Code:
else if ($_REQUEST['type'] == 'AIML') { // XML/AIML output $posts = $DB_site->query(" SELECT post.title, post.pagetext, post.postid FROM post WHERE post.threadid=TEACHINGTHREADID AND post.postid!=TEACHINGTHREADFIRSTPOSTID"); $postcache = array(); while ($post = $DB_site->fetch_array($posts)) { // fetch the posts $postcache[] = $post; } // set XML type and nocache headers header('Content-Type: text/xml'); header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); // print out the page header echo '<?xml version="1.0" encoding="' . $stylevar['charset'] . '"?>' . "\r\n"; echo '<aiml version="1.0">'; foreach ($postcache AS $post) { echo "<category>"; echo "<pattern>"; echo strtoupper($post[title]); echo "</pattern>\r\n"; echo "<template> \r\n"; echo $post[pagetext]." \r\n"; echo "</template> \r\n"; echo "</category> \r\n"; $DB_site->query("UPDATE post SET threadid=BOTLEARNEDTHREADID WHERE postid=".$post[postid]); } echo "\r\n</aiml>"; } Still in external.php insert this block into the if-else chain. Replacing BOTLEARNEDTHREADID, BOTLEARNEDFIRSTPOSTID with the appropriate numbers. Code:
else if ($_REQUEST['type'] == 'AIMLSHARE') { // XML/AIML output $posts = $DB_site->query(" SELECT post.title, post.pagetext, post.postid FROM post WHERE post.threadid=BOTLEARNEDTHREADID AND post.postid!=BOTLEARNEDFIRSTPOSTID"); $postcache = array(); while ($post = $DB_site->fetch_array($posts)) { // fetch the posts $postcache[] = $post; } // set XML type and nocache headers header('Content-Type: text/xml'); header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); // print out the page header echo '<?xml version="1.0" encoding="' . $stylevar['charset'] . '"?>' . "\r\n"; echo '<aiml version="1.0">'; foreach ($postcache AS $post) { echo "<category>"; echo "<pattern>"; echo strtoupper($post[title]); echo "</pattern>\r\n"; echo "<template> \r\n"; echo $post[pagetext]." \r\n"; echo "</template> \r\n"; echo "</category> \r\n"; } echo "\r\n</aiml>"; } should be /forum/alice/src/admin/ In file learnwhat.xml change the line to fit your forum, Code:
<learn>http://www.yourforums.com/yourforumdir/external.php?type=AIML</learn> Code:
To get your bot to use this insert the line: <learn>http://www.shared.com/forum/external.php?type=AIMLSHARE</learn> on a sidenote if you changed the name of your bot and it's info in startup.xml you'll want to change it here in learnwhat.xml as well you can do this by making a copy of startup to be the new learnwhat.xml and changing the line <learn>*</learn> to: <learn>learnwhat.xml<learn> Back to the straight story: Upload learnwhat.xml to your AIML dir. should be /forum/alice/aiml/ Go test things out. Please let me know if I am an idiot and messed up the process here.. Show Your Support
|
Comments |
#82
|
|||
|
|||
Has anybody else gotten this to work out for them with success?
|
#83
|
|||
|
|||
We have gotten this to work on my forums & is a great add-on!
Clicks install. Although I am wondering if there is a way to put in "key words" such as dogs, cats, birds,fish, gerbils And if somebody says any of the key words in a sentence "Do you like dogs?" Then it will come back with the responce that I programmed in?? |
#84
|
|||
|
|||
Does it work with 3.0.3?
Are there any special instructions I need to be looking out for or things that I need to watch? I don't have a bot on my localhost and don't want to risk killing my live one by trying it if the chance of success is low. |
#85
|
||||
|
||||
Sounds like a great addition but every time I run the botlearner script :-
DONE LOADING Inserted 0 categories into database WARNING! You should password protect the admin directory or remove the botloader.php script or people may be able to abuse your server. Click here to talk to the bot execution time: 0.220095 Templates per second=0 Templates per minute=0 |
#86
|
||||
|
||||
Ok .. got the bot learning, but not transferring. Guess I can live with that and just delete the messages after running the botlearner script.
Solved it .. bot now learns and moves learned items into Botlearned category after running botlearner script. |
#87
|
|||
|
|||
I've got it working with VB 3.06. Just follow the instructions carefully and it will work! Here's my site if anyone wants to take a look.
Link for the talkerbot: http://defend.net/deluxeforums/forumdisplay.php?f=42 Here is the link to my learning forum: http://defend.net/deluxeforums/forumdisplay.php?f=46 username - testing password - test Tim |
#88
|
|||
|
|||
"threadid numbers of both threads and the postid number "
Okay I know how to get the threadid but how does one find the postid number? Sorry for the newbie question. |
#89
|
|||
|
|||
Loading learnwhat.xml
Loading data aiml file: http://www.xxxxxxxxxxxxxxxxxx/forum/....php?type=AIML XML error: mismatched tag at line 2 When I run botlearner I now get this, what do I need to look for? |
#90
|
|||
|
|||
Quote:
|
#91
|
|||
|
|||
Quote:
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|