chat* JavaScript Chat System

chat* is a javscript based chat system that was created in 2007 and updated and released in 2008 by rednuht.

The browser (client) connects to a website (server) and downloads (via AJAX) details of existing chat sessions/users.

The web client is anonymous and does not require a password being automatically logged in with a random "web#NUM#" default name. The user can change this either by using the "/nick #newname#" command or typing over the username in the GUI and hitting return.

The adminbot will kick(disconnect) users for using bad language and continually monitors the channel.

All messages are logged, if you do not want your conversation logged please do not use chat*.

All messages are sent "in the clear" via HTTP to the server and could be "intercepted" or "snooped" at any number of points either on the clients network or the internet as a whole.

Well if you read this far you will probably not be too suprised to find chat* is "single user" system.

Although none of the above statements are false chat* is not what it first appears to be.

The chat* system was concieved a few years ago when I saw a website sporting a "terminal" like interface, you had to type in commands to navigate and it reminded of a small project I created back in the late 90s. The page was split into two frames(that was acceptable then) the left showing a control panel and the right a black "screen" with a flashing cursor identifying itself as "JS Telnet". The control panel asked the user to select a warhead, the launch location and the target location. On hitting "go" the terminal frame would spring into life and show what appeared to be a telnet session into a goverment server retriving launch keys and then telneting into a launch computer and setting up the launch and starting the countdown. After the countdown was complete the terminal "disconnected" and a popup window was opened containing a Java applet showing a map of the world. From predefined coordinates for the few countries/citys available in the initial selection, the missile is "tracked" across the map ending with a mushroom cloud image. I used to get emails from people trying to get hold of a JAvascript based telnet system, altavista (the google of those days) must have been serviing up the html file for the right hand frame only, I doubt they would have contacted me if they had seen it in the context of the control panel.

There are many web based chat systems with clients created in Java, Flash or just plain JavaScript hooking into true web server applications allowing anonymous users to "hook" into IRC channels. I found that I would often try one of these services out and find either, no one else was there, other users were not responding or users were deep in conversation and usualy annoyed at being disturbed.

The chat* system downloads XML files dependant on the time of day that contain the list of users and details of how they should act. Possible actions are based upon three basic sections in the XML, React, Script and Random. Various flags and commands can be used to give even more contol.

React simple defined a trigger/response mechanism that means the bots respond to specific words in lines the user enters.

e.g. User asks "are you ignoring me?" and the bot reacts with "we are not ignoring you !" becuase "ignoring me" was detected.
More advanced use of soley this mechinism allowed a bot called "knockknock" to participate in a knock knock joke.

Script was the meat of the XML files and consisted of scripted discussion amongst the bots, allowing the channel to look busy.

bot1: "what are you doing at the weekend?"
bot2: "going to the cinema"
bot1: "to see what?"
bot3: "I suggest that new horror movie"

Random allows random events to take place including users disconnecting, talking out of turn and a number of other things.

ninja-M "sets status to [away]"
^base "~~[wizamp notify :: track 9 :: (4:01)]"
adminbot "sets mode +I"

Conclusion: although all these processes work I, still feel the project is not very good, but so much time is required to create convincing scripts and I have moved on (see not below).

Logging: I found my host was logging all query string information so the chat* simply trys to download a zero.bytes file with the conversation details. This will allow me to pick up on trends and update the scripts to proved a more realistic experience once I parse the log files.

email [ (AT)]


This page is by me for me, if you are not me then please be aware of the following
I am not responsible for anything that works or does not work including files and pages made available here I am also not responsible for any information(or what you or others do with it) available here
In fact I'm not responsible for anything ever, so there!

[Pay4Foss banner long]