ChatBot

Runes of Magic/Radiant Arcana (http://www.runesofmagic.com)
Post Reply
Message
Author
Scrap
Posts: 3
Joined: Tue Jan 01, 2013 1:06 pm

ChatBot

#1 Post by Scrap » Tue Jan 01, 2013 1:09 pm

Hello.
Does anyone have any similar bot?
You whisper "hello", bot them "hi" or "hello"
You whisper "bot", then bot them "no" or "Get out!"
You whisper "pick them up", bot them "ok" or "try"
You whisper "to join the guild?", Bot them "no" or "step into diamonds for 1000"
You whisper, "Go away," bot "no!" or "*******************"
The point is made.
Can anyone share such a wonderful thing?

User avatar
Ego95
Posts: 564
Joined: Tue Feb 28, 2012 12:38 pm
Contact:

Re: ChatBot

#2 Post by Ego95 » Tue Jan 01, 2013 2:30 pm

This is a nice idea. The only thing I have thought about until now is a userfunction that can answer other people but this is impossible. Just to check for a few keywords is a much better idea.

This does not exist but it would not really hard to make it. Maybe you can start with lisas madman addon. The only things that have to get changed are to set more than one keyword and the action that will be done. Ok, to make it more realistic other things have to be added. For example, no one can type while moving and no one can type a sentence in 1 second, so it has to wait a few seconds, maybe do 1-3 jumpfs after it.

But I can't do anything like this so someone else has to do this.

AlterEgo95

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: ChatBot

#3 Post by lisa » Tue Jan 01, 2013 4:27 pm

Creating an addon would be the way to go with this, I did think about it many many many moons ago( a while ago) but replying ilogically would make you seem like more of a bot than anything.

Let's just say you set a response to "guild" and "bot"

<Random character> "Hi, my guild is awesome"
<Bot> "I don't want to join your guild"
<Random character> "I never asked if you wanted to join my guild"
<Bot> "I don't want to join your guild"
<Random character> "Stop with the join guild chat, sheeesh"
<Bot> "I don't want to join your guild"
<Random character> "Why don't you bother to loot the mysterious bags??"
<Bot> "I am not a bot, go away"
<Random character> "You sure sound like a bot"
<Bot> "I am not a bot, go away"
<Random character> "Haha you are a bot"
<Bot> "I am not a bot, go away"

Notice it responded to "bother" because it has "bot" in the word.

At the end of the day the solution I came up with was to "respond" in another language that most people wouldn't know, just don't do this on a character you actually use to chat in world or even zone chat as people may know you speak the same language as them.
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

User avatar
grande
Posts: 261
Joined: Tue Jun 28, 2011 4:46 pm

Re: ChatBot

#4 Post by grande » Tue Jan 01, 2013 7:41 pm

This is something I've thought about quite a bit but like most things LUA/Scripting I just haven't mustered the time/motivation to put more effort into it. I think there exists already extensive framework to implement. Such as Lisa's GM Detect. To me, this makes me think of AI and is just a few RNG and extendable table implements away from achieving AI.

I'm surprised at how little RNG is actually used. I should use it more often really. But if it can pull from a table based on outcome of RNG, say 500*math.random(8) or variants thereof then the responses can become less predictable dependent on the quality of the table and complexity of the math used. The other tricky parts would be to eliminate table values that have already been used so that we don't sound "bottish" repeating the same dribble over and over.

So as this dialogue goes back and forth the aim is always the same: WE DON'T WANT TO BE BOTHERED, SO PLZ MOVE ON. So, to that end this application should also reach our limit (maybe after five whispers/tells) at which point we would say something like, "Hey pal, it's pretty obvious you are harrassing me. I'm screen shotting this, putting you on ignore and reporting you. GLTU." Of course then you'd want about 20 variation of that and the same process for elimination mentioned above.

Now about adding to the table which would really add to the "self-aware" AI capability.. Okay, maybe far fetched but... maybe not to much. Initially it could be a simple parrot function as in mocking someone when they use poor communication such as foul language or possible insults. So for example we have another table that includes all sorts of possible insult values, "bot, loser, life, suck, fck, you," (notice "you" is commonly followed up or preceded by some insult)... Now when the key word is detected the bot would capture up to so many words before and after the key word and repeat it back to the sender with something added to the end like, "seriously?"

Wish we could all get together for a wine and cheese party and hammer something like this out lol. I have mediocre scripting knowledge so getting the true knowledge owners here along with some !! brainstorming from lesser bees like me would be awesome. But I'm so busy with work/study.. and moving again pretty soon (georgia to alaska...) Any how, it's a very compelling idea this chat bot thing. If done thoughtfully it can be very useful.

Oh wait, there's more.. what if it's someone that is a friend? Of course a separate table is needed for that. And also to detect if that name is dropped such as, "hey man, what's wrong with you, this is James.. don't be a d!ck!" To which some response comes, "oh, **James** lol, had no idea...err sorry man, let me hit you back in a few"

Scrap
Posts: 3
Joined: Tue Jan 01, 2013 1:06 pm

Re: ChatBot

#5 Post by Scrap » Wed Jan 02, 2013 4:28 am

Does anyone do something like this?
Or tell me how to do this.

Jandrana
Posts: 187
Joined: Thu Jul 05, 2012 5:53 am

Re: ChatBot

#6 Post by Jandrana » Wed Jan 02, 2013 4:49 am

Perhaps it would be possible to adapt "Eliza" and make a LUA implementation. Maybe there is already one?

For all that do not know Eliza:

en.wikipedia.org/wiki/ELIZA

Just stumbled over a successor of Eliza, called ALICE:

http://www.alicebot.org/


Edit: Yes, there seems to be a simple Eliza implementation in LUA: http://lua-users.org/wiki/SciteElizaClassic

User avatar
grande
Posts: 261
Joined: Tue Jun 28, 2011 4:46 pm

Re: ChatBot

#7 Post by grande » Wed Jan 02, 2013 10:59 am

Wow, this "http://lua-users.org/wiki/SciteElizaClassic" is pretty straight forward. I would change a lot of it and would still want to implement some limits. Such as a goodbye message and ignore statement when someone gets to the point of harrassing. And of course I struggle with implementation... this would just go into the addon/userfunction folder and then be called from an /onload, or even could be added to a default profile /onload portion right?

Oh yeah, and delays would be needed. Should be random delays in response.

And of course I would completely rewrite all the scripted responses in my own character. That is the fun part once the mechanics are done

Other prospects: Perl's Chatbot-Eliza...sure there are others too like you mention above

jah jah, this is looking nice: http://search.cpan.org/~jnolan/Chatbot- ... t/Eliza.pm

Scrap
Posts: 3
Joined: Tue Jan 01, 2013 1:06 pm

Re: ChatBot

#8 Post by Scrap » Thu Jan 03, 2013 8:07 am

We can also solve the problem another way.
Sometimes bot say "jump if not a bot." After receiving a whisper, the client makes a sound, it can be changed to jump.
The bot can put silence that he could not communicate (and hence the answering machine and do not need to be).
How you such an idea?

User avatar
BlubBlab
Posts: 948
Joined: Fri Nov 30, 2012 11:33 pm
Location: My little Pony cafe

Re: ChatBot

#9 Post by BlubBlab » Thu Jan 03, 2013 1:03 pm

No what you need to do is let the bot memorize the disscussion an alter the answer from each point bevor.
What do you have then is a graph (math) basicly this is a neural network (computer science).

This way you can change the flow of a disscussion.
example:
Player:Hi are you a bot?
Bot: No I am not( L1[x])
Player:Are you sure?
Bot: Like I said yes i do (L1[x]->follow(L1[x])[x])
Player:But your move seems strange
Bot: Shout up you go to BL(L1[x]->follow(L1[x])[x]->follow(L2[x])[x] --L2=follow(L1[x])[x]
Player: Are you crazy?
Bot:""(L1[x]->follow(L1[x])[x]->follow(L2[x])[x]->follow(L3[x])[x]
...

But this has the limit of the situation of which you can forseen
Jack-of-all-trades, but master-of-only of a few :D

My Reps:
https://github.com/BlubBlab/Micromacro-with-OpenCV (My version of MM2 with OpenCV and for MS Visual Studio)
https://github.com/BlubBlab/rom-bot (rombot with no stop WP and advanced human emulation mode and some other extensions)
https://github.com/BlubBlab/Micromacro-2-Bot-Framework ( A work in progress )
My Tools : viewtopic.php?f=10&t=6226

Jandrana
Posts: 187
Joined: Thu Jul 05, 2012 5:53 am

Re: ChatBot

#10 Post by Jandrana » Fri Jan 04, 2013 5:23 am

If people ask you, whether you are a bot, then your script is bad. This mostly happens when you
are running against obstacles or are doing things for an unusual amount of time.
These situations should be avoided. If running in the open world, I think the current logic to
detect if you are running against an obstacle is reacting to slow. This looks suspicious.

What also looks suspicious if you are running a small waypoint path in a short amount of time.
People will notice that your char is visiting the same spots all the time -> bot.

I was thinking to extend the waypoint format with a "deviation" factor for each waypoint.
This deviation factor could be used to randomize the waypoint coordinates a bit and make
the waypoints look less botish. If the deviation is not specified, it works like it does currently.

Things that happened to me:

random people whisper to me with something like that "hey, lets kill XXX together. let's make a group."

people send group invites, without any wisper - if you decline and don't say anything, they get
suspicious.

If you are a priest or a druid, it happend to me that people ask for resurrection.

If there are people that know your char, you might get wispers "wanna go to instance XXX".
Of course you might be afk, but if there are indications that you are not afk, they might
get suspicious too.

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: ChatBot

#11 Post by rock5 » Fri Jan 04, 2013 8:22 am

Jandrana wrote:people send group invites, without any wisper - if you decline and don't say anything, they get
suspicious.
I don't believe that. If people ask me to group without asking me if I'm interested why would I bother saying something when I decline? I think most people, who ask others to join a party without saying anything first, don't expect a reply if they decline.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: ChatBot

#12 Post by lisa » Fri Jan 04, 2013 9:20 am

It may be because I have a better knowledge of bots than most players but I can spot a bot a mile away and no auto response code would make me change my mind, I never whisper them anyway, I just chuckle to myself and keep doing what I was doing lol
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

User avatar
grande
Posts: 261
Joined: Tue Jun 28, 2011 4:46 pm

Re: ChatBot

#13 Post by grande » Fri Jan 04, 2013 9:30 am

Jandrana wrote:... This mostly happens when you
are running against obstacles or are doing things for an unusual amount of time.
These situations should be avoided. If running in the open world, I think the current logic to
detect if you are running against an obstacle is reacting to slow. This looks suspicious.

What also looks suspicious if you are running a small waypoint path in a short amount of time.
People will notice that your char is visiting the same spots all the time -> bot.
...
All valid points regarding bot usage in general BUT this thread is more focused on the concept of a ChatBot.

Even with a perfect WP and normal time use there will still be pesky groupies/wannabes/whatever that love nothing more than to harrass and annoy and to me that's where a chat bot can help. Again, it gets to the concept level and to me it's a matter thought quality to produce a useful tool.

The idea is to keep an eye on the prize/goal/bottom line which so far is to entertain harrassers long enough to come back to them when you feel like it.

Once the end result is kept in mind, things like neural networks which may seem overly complicated can actually be simplified to meet the very simple and basic goal of the tool.

Jandrana
Posts: 187
Joined: Thu Jul 05, 2012 5:53 am

Re: ChatBot

#14 Post by Jandrana » Fri Jan 04, 2013 10:17 am

All valid points regarding bot usage in general BUT this thread is more focused on the concept of a ChatBot.

Even with a perfect WP and normal time use there will still be pesky groupies/wannabes/whatever that love nothing more than to harrass and annoy and to me that's where a chat bot can help.
Depends what you like to achieve. I don't think a chat bot will help in these situations. I think it is already too late, if somebody is whispering and accusing you running a bot. The best reaction would be to play a sound warning, so you can intervene manually. Avoid using this char in the region he was detected for several days, maybe even longer.

I think the time to develop a chat bot should better be invested into removing the weaknesses of the current bot, your scripts. Sure it would be nice to have something that can react on a whisper, but if it is not extremely "intelligent" (which is a huge project on it's own) you will make it look like a bot even more. Just my humble opinion.

User avatar
BlubBlab
Posts: 948
Joined: Fri Nov 30, 2012 11:33 pm
Location: My little Pony cafe

Re: ChatBot

#15 Post by BlubBlab » Fri Jan 04, 2013 12:34 pm

Yeah Lisa is right but also true is that a chatbot is something nice to have.
I thought about it of my own I think the main reason why I can see bots so easily is they move in point.
Player dont do that by the way industrial robots dont do that either if not nessecary.
I mentioned it bevor they use fly-over-point the math beyond this is not easy(called Überschleifkugel in german) I tried the last days to dumb it down still in progress

(sry for my bad english)
Jack-of-all-trades, but master-of-only of a few :D

My Reps:
https://github.com/BlubBlab/Micromacro-with-OpenCV (My version of MM2 with OpenCV and for MS Visual Studio)
https://github.com/BlubBlab/rom-bot (rombot with no stop WP and advanced human emulation mode and some other extensions)
https://github.com/BlubBlab/Micromacro-2-Bot-Framework ( A work in progress )
My Tools : viewtopic.php?f=10&t=6226

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 33 guests