A simple AIML chatterbot plugin for XmppBot
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
AIML.Tests
AIML
Properties
lib
.gitignore
AimlBotConfig.cs
AimlPlugin.cs
ChatBot.cs
Trigger.cs
XmppBot-AIML.csproj
XmppBot-AIML.sln
license.txt
packages.config
readme.md

readme.md

AIML Plugin for XmppBot

This is a simple plugin for XmppBot For HipChat which connects the AIMLBot project to XmppBot. AIML stands for Artificial Intelligence Markup Language.

Installation

Copy the .dlls (Bender.dll, SimpleConfig.dll, XmppBot.Common.dll, and XmppBot-AIML.dll) into the /plugins folder. You'll also need to include the AIML folder and its subfolders (aiml and config) somewhere accessible (making AIML a subfolder of /plugins works pretty well).

Configuration

Add the following to the <configSections> element of XmppBot's configuration file:

<section name="aimlBotConfig" type="SimpleConfig.Section, SimpleConfig, Version=1.0.29.0, Culture=neutral, PublicKeyToken=null"/>

Then add the following to the configuration element:

<aimlBotConfig settingsPath="plugins/AIML/config/Settings.xml">
<startTriggers>
  <trigger Partial="true" CaseSensitive="false" Text="Hey, Bot"></trigger>
  <trigger Partial="true" CaseSensitive="false" Text="Hey Bot"></trigger>
  <trigger Partial="true" CaseSensitive="false" Text="Bot!"></trigger>
</startTriggers>
<stopTriggers>
  <trigger Partial="true" CaseSensitive="false" Text="That's enough, bot"></trigger>
  <trigger Partial="true" CaseSensitive="false" Text="Stop Talking"></trigger>
</stopTriggers>

Where settingsPath is the path to the .xml file containing containing the AIMLBot settings. The startTriggers and stopTriggers elements control the phrases which will cause the chatbot to engage; when the bot starts up it will remain silent until one of the startTriggers occurs in the chat. Once triggered, it will continue to respond until a stopTrigger occurs. Triggers can be exact or partial matches, and may be made case sensitive.

Customization

The libraries, settings, and AIML files from the AIMLBot project have been included in this repo for convenience. You can modify the existing AIML files or add new ones to the aiml folder and they'll be picked up when the plugin is loaded.