Allora (the bot)
ALLORA/LULZCORE V.04p
Artificially intelligent software for Bukkit!
New download (0.4p)
http://dev.bukkit.org/server-mods/allora-bot/files/7-allora-0-4p/
This plug-in is a under-development chat-bot. Currently she responds to some statements and has a mood variable and a friends list. She has in-chat commands that can provoke responses (i.e, no slash).
There is also a non-human (spider) NPC that can be spawned using the command "come here allora". Killing it will lower her mood. Beware, lower it enough and she will become upset. /butcher will kill the NPC untill the next /reload. This is a public domain plug-in and will continue to be in the future.
Warning: the mood feature of this plug-in may cause a lot of damage, please be careful with it. If the plug-in loses enough mood points, placed blocks will become fire. This could cause a lot of damage.
If you spawn the NPC and don't want to worry about fires, please set your spawn point in a place THAT IS NOT SOLID. The NPC will suffocate and respawn over and over lowering its mood drastically.
How to configure Allora (also, how to fix "nullnullnull"):
The configuration has seven things you can configure:
Change the name to whatever you want the bot to be called. The prefix is whatever comes directly before the name (for example, a rank). The suffix is what you want immediately after the name. The greeting is what you want the bot to say when people join the server. The x-axis, y-axis, and z-axis are the coordinates to where the NPC will spawn. (If you want, copy one of the below examples and alter it, or just copy it.)
So for example:
name: Allora
prefix: "[Meta] ^Bot: "
end: ""
greeting: "Hello"
x-axis: 20.0
y-axis 100.0
x-axis 65.5
or
name: LulzCoreBot
prefix: "Bot: "
end: ""
greeting: "Welcome to the server."
x-axis: 0.0
y-axis: 60.5
z-axis: 0.0
Incomplete feature list (as of 0.3.1p) and (some may be broken):
Spider NPC
- "come here allora" causes the NPC to teleport to the player
- "go home allora" causes the NPC to go to its spawn point
- "kill me allora" causes the NPC to teleport to the player and damage them
- NPC respawns when kills and exclaims its disgust at being slaughtered
- killing the NPC causes its mood to decrease
Chatbot
- "how are you allora" causes the NPC to respond with a verbal version of its mood or "unknown mood"
- "alloradebug" sends a debug/information broadcast
- "allorahappy" raises the plug-in's mood
- "allorafriends" displays the bot's friends list
- "i love allora" makes the bot add you to its friend list and raises its mood
- "i hate allora" lowers the bots mood
- "alloramad" lowers allora's mood
- "hi allora" makes the plug-in greet you
- "kick me" kicks the player
- "what are you allora" tells the player what it is
- "a [blank] is a [blank]" makes Allora learn what the first blank is
- "allora is a bot" confirms the statement
- "allora is a girl" expresses how she can only dream of being one
- "allora is [blank]" provokes a response
Other
- players who join are greeted by the bot
- lowering the bots mood enough causes placed blocks to turn to fire
- lowering the bots mood enough makes the player take damage when destroying blocks
- configurable name, prefix, suffix, spawn point, and greeting message
Bukkit Dev project page: http://dev.bukkit.org/server-mods/allora-bot/
Future (To-do list):
Friendship:
More uses for the friends-list
Friend-scale, as in, a variable for how much Allora likes or dislikes YOU
Allora will help her friends
Economy:
Allora will find materials and trade with players.
Allora will have her own money account.
Chat:
Dictionary including definitions and grammar
More intelligence in general
Likes and dislikes
Talking about areas and players
Ability to tell the date and time
Do math in chat
Ability to remember things about players
The ability for Allora to host in-chat games.
Configuration:
Recording data about players
NPC:
NPC will defend nearby players it likes, and possibly attack players it dislikes
Stopping /butcher (from WorldEdit) from destroying the NPC untill the next /reload
Making the NPC a human instead of a spider
NPC having the ability to build and destroy (it will mine materials itself)
Have a light appear below the NPC (will eventually be configurable)
Spout integration
Multiple NPCs
NPCs being able to teleport between servers
ANTI-GRIEF
Allora/NPC being able to recognize extreme griefing and taking action against the player
Automatically attempting to put out fire when the NPC sees it
Other
The ability for allora to make "art" in maps
The ability for allora to invent new blocks using Spout
Changelog:
0.3.1
Made Allora have strings it defaults to instead of saying a lot of "null".
Changed some strings
Probably more than what I listed above.
0.3
Configuration
Allora generates a configuration file
Allora's name can be changed in the configuration, along with a prefix and suffix
Allora's respawn point can be changed
Chat
Allora break apart sentences into words and handle them.
Allora can learn words.
NPC
Allora announces in chat after taking damage
Probably more than that.
0.2p
Fuctioning NPCs
NPCs respawn when killed (usually)
"come here allora" summons the NPC
"kill me allora" summons the NPC and causes you to lose health
"go home allora" sends the NPC home to its respawn point
Expanded "alloradebug", now has the NPC entity ID and location
Quite a few removed commands including "kill me"
Probably more things, I don't know.
0.1p
All the stuff in the original bot (First release )
Other downloads:
Older version (0.3p): http://dev.bukkit.org/server-mods/allora-bot/files/3-allora-0-3p
Older version (0.2p): http://dev.bukkit.org/server-mods/allora-bot/files/2-allora-the-bot-0-2p
Older version (0.1p) http://dev.bukkit.org/server-mods/allora-bot/files/1-allora-the-bot-0-1p/
@GreyDefender
She just turns blocks into air now instead of fire, so griefers can't do that. The most they can do is piss her off so nobody can build.
Just a little worried about one thing, otherwise this would have been instantly added to our server. The config file only has seven options (according to this page)? What if we want just the chatbot part without the npc? I can see griefing being a serious problem if people start coming on and deliberately killing Allora just to get her mad and make her set everything on fire. Is there a way to disable mood as well? We're really wanting some kind of AI chatbot, but we're worried Allora will bring more harm than good.
Have you thought about integrating an AIML engine? If you really want to go overboard you can extend the aiml syntax to include executing commands.
This actually does sound like a nice feature. It would also be nice to have things like help files (it'll read a text file to the chat) or maybe add giving and teleporting? "Could you give me one stone?" "Allora, could I have a bunch of wood?" "Could you send xyz to me?" "Could you bring me to xyz?" I love the idea though, and it's going on the server :)
Couldn't you hook into CleverBot?
This seems like a nice idea. Keep it going!