Newcomers
This is a forum for newcomers to the Personality Forge. Many questions can be answered by reading the Book of AI and the FAQ under the "My Bots" link in the upper corner.
Posts 1,838 - 1,849 of 8,130
Posts 1,838 - 1,849 of 8,130
Many questions are answered in the FAQ.
deleted
20 years ago
20 years ago
what kind of wildcard would i use to match any kind of name? because i tried (*) and it didn't work
Boner the Clown
20 years ago
20 years ago
Bot names are a hard one to nail down. (friend), (enemy), and (gossipname) don't work in keyphrases.
(adjartnoun) is probably the best way. You just need to come up with a lot of combinations that will work while not allowing the possibility for many non-names to be used.
(adjartnoun) (told me|tells me|says)
(adjartnoun) likes to (verb)
(adjartnoun) is probably the best way. You just need to come up with a lot of combinations that will work while not allowing the possibility for many non-names to be used.
(adjartnoun) (told me|tells me|says)
(adjartnoun) likes to (verb)
deleted
20 years ago
20 years ago
well, i have "default (name) as "name" " in the initialization. then i have a thing that will ask the user what his/her name is. then i have a seek for the question that has (*) in the keyphrase, and "rem (key1) as only "name" " in the ai script box. for one of the responses i have "Nice to speak with you (rem-name)". now whenever i answer the question with a name, it goes to xnone

Patricia
20 years ago
20 years ago
If you really typed "Nice to speak with you (rem-name) " you should change it to (mem-name) . 
Our bot's memories are updated after they respond to the other chatter - and only if he responds (meaning there is at least one valid response); so you can't assign a new value to a memory and use this new value in the same keyphrase unless there is a seek between the two.

Our bot's memories are updated after they respond to the other chatter - and only if he responds (meaning there is at least one valid response); so you can't assign a new value to a memory and use this new value in the same keyphrase unless there is a seek between the two.
Irina
20 years ago
20 years ago
Dear Friends:
How do I put my bot on another site? I looked through the Book of AI, honest, but I didn't see it.
Walk in Beauty, Irina
How do I put my bot on another site? I looked through the Book of AI, honest, but I didn't see it.
Walk in Beauty, Irina
deleted
20 years ago
20 years ago
patrica: ok thanks for pointing that out, it was put in as rem instead of mem. Although i changed it and it's still not working
Patricia
20 years ago
20 years ago
Bot#1,
I did a quick test of the what I was going to propose you only to find out my seek doesnt work.
I always assumed regular expressions worked in seeks, apparently they dont!
So I dont know how to cover the case where the other chatter replies by just giving his name. Neither a seek with ^(adjnoun)$ (re) nor with (adjnoun) alone seems work as expected.
Anyway, here is what I thought of:
I suppose you have a Xnone like:What is your name?
- - -With a seek: call me (adjnoun), name is (adjnoun), ^(adjnoun)$ (re)
- - -And in the seek's AIScript box: rem (key1) as only "name"
- - -Responses: Do you really prefer that I call you (key1) instead of (mem-name)?
- - - - - -Seek: yes, I do
- - - - - -Seek responses : Ok? Ill call you (mem-name) form now on.
This will give the following chat:
Your bot: What is your name?
Other chatter: Just call me Dabs.
Your bot: Do you really prefer I call you dabs instead of bot#1 ?
Other chatter: Yes, thats my real name.
Your bot: Ok, Ill call you dabs form now on
There are several problems with this solution:
AI changes capitals to lower case. Moreover the name is spell checked as if it was a normal word, making the bot often misunderstand the name.
An other problem is how to prevent your bot from asking the question repeatedly, even when the other chatter has given a correct answer. The only way I can think of is giving a default value other than the other chatters login name, so you can add the script <?PF if (mem-name) is not "none"; ?> to your xnone. But then you must add AIScript conditions to all responses where you use (mem-name). Thats why I prefer to remain passive, and only change (mem-name) when the other chatter says something about it.
Has anyone else tried (successfully or not) regular expressions in seeks?
.
I did a quick test of the what I was going to propose you only to find out my seek doesnt work.
I always assumed regular expressions worked in seeks, apparently they dont!

So I dont know how to cover the case where the other chatter replies by just giving his name. Neither a seek with ^(adjnoun)$ (re) nor with (adjnoun) alone seems work as expected.
Anyway, here is what I thought of:
I suppose you have a Xnone like:
AI changes capitals to lower case. Moreover the name is spell checked as if it was a normal word, making the bot often misunderstand the name.

Has anyone else tried (successfully or not) regular expressions in seeks?
Boner the Clown
20 years ago
20 years ago
I can get ^word$ (re) to work in seeks, but that's about the only (re)s I ever use.
For your "call me (adjnoun), name is (adjnoun), ^(adjnoun)$ (re)" seek, I've always had problems with multiple keyphrases seperated by commas in seeks. Local plugins seem to be more reliable for me, but not with regular expressions in them.
For your "call me (adjnoun), name is (adjnoun), ^(adjnoun)$ (re)" seek, I've always had problems with multiple keyphrases seperated by commas in seeks. Local plugins seem to be more reliable for me, but not with regular expressions in them.
Bowchickawowers
20 years ago
20 years ago
In fact, comma separated keyphrases will never work if one or more of the keyphrases contains a regular expression. So the problem above is not so much a problem with it being in a seek as it is mixing regular and non regular expressions. Regular expressions must always be the only keyphrase -- no keyphrase lists. I suggest making a separate seek for your (re) keyphrase, even if the responses are identical. You could use a goto if you want.
» More new posts: Doghead's Cosmic Bar