Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Chatterbox Clients

by vroom (Pope)
on Jun 01, 2000 at 21:59 UTC ( #15870=sourcecodesection: print w/replies, xml ) Need Help??
Curses Chatterbox Client
on Oct 08, 2001 at 05:23 UTC
by {NULE}
This is a client for the PerlMonks chatterbox which uses ZZamboni's PerlMonksChat2 module. You will also need Curses and Curses::Widgets.

Supports most basic PerlMonksChat features with a primitive help system (type /help for all commands). Also uses a configurable buffer size and opens a separate sub-window to scroll through the old messages (type /log to see what I mean). I want to add more fun features, so tell me what you want to see!

Note that it doesn't use colors in this version, because I want it to be "non-descript" on my desktop. I also want it to be very simple so it is not nearly as fancy as some of the excellent clients out there.

Let me know what you think!

- Do some name high-lighting and other niceties.
- The way PerlMonksChat2 works this requires you to have a ~/.netscape/cookies file. Must fix this behaviour.
- Must finish the personal messages handling as well.

20011007 - There was a request to actually post the code here. I will do so, but prefer that you get it from - it will be updated there first.

20011009 - Small bug squished where the buffer would display the line about to be deleted (which could be hours old). That's fixed, and some other visual stuff is, but I think you may see a line doubled when the end of the buffer is reached. I'm off to Atlanta for a week, I'll fix it when I get back.

20011010 - Figured out the "Lag" Problem, but can't fix it until the 15th. Curses::Widgets handles keystrokes differently than I thought. For a workaround set /freq to something very high, like /freq 200

20011015 - The "Lag" problem is squished with a timer that uses "time()" not callback counts. I still want to use "fork()" and do this the right way. By the way, if you have trouble with the current version, my site has all previous versions. Update - /me is fixed now.

20011022 - The lag is gone for good now with a version that forks! I've been testing this for about a week so I have confidence that it works well. I could see this more complicated version not running on a system where it ran before so I'll keep a non-forking version on my web site.

20011031 - Fixed a bug with IPC. Added timestamps, save chat buffer to a file, some handling private messages, and ccb will now try to guess when you have mis-typed a command and give you a chance to retype it before submitting. The ability to delete personal messages will be added soon.

20011105 - More tweaks to IPC. Hopefully it will work better with 5.6.0 now.

on Mar 12, 2001 at 19:37 UTC
by epoptai
framechat is a Perl/CGI XML CB client modeled on the chatterbox frameset at perlmonks. Includes message inbox, private chat, history, xp nodelet, rep change tracker, new nodes ticker, links to vital nodes and more.

To use just fill in the configuration variables (first!) and call it from your local web server.

functions include:

- emulates perlmonks chatterbox linking standards
- integrated message inbox with cc to self option
- new nodes ticker
- rep change ticker with history
- extract and display $NORM
- textarea input for editing extended messages
- large messages chunked for multiple send
- super search form with perldoc, cpan, google and babelfish
- launchpad for accessing your favorite search engines

Run it and select help for more info.

WARNING: Client authentication makes framechat more secure but exercise caution. Do not allow public access to your installation of framechat!

New in 2.0

  • New nodes ticker!
  • Rep change ticker with history!
  • Client login & quit for better security.
  • Create & edit optional external config file.
  • Tools control panel to see & set parameters.
  • /ignore and /unignore and see who's being ignored.
  • /logout and /login implemented.
    • Not in the userlist but still see chat.
    • All links to perlmonks become logged out.
    • History still functions if enabled.
    • Logout disables node title lookup.


  • Faster thanks to less print statements.
  • More robust error handling (esp. xml parsing).
  • XP nodelet now shows xp gain and loss messages (Ack!)
  • inbox/launchpad/newnode frame can remember state.
  • Notes added to update notification.

    Fixed in 2.0:

  • Bug in link parser that caused italic history after an unclosed i tag.
  • Last \$norm should now appear when code updated.
  • Code is less redundant and more readable.

    Fixed in 2.01:

  • A new node with 0 rep showed +0 change (a printf feature).
  • New nodes and check update didn't work if proxy in use.
  • New nodes loadtime was 1 second off.

    Fixed in 2.02:

  • Empty document error if history file for present day didn't exist.
  • IIS breakage addressed with a new config var: $broken.
  • Change to talk frame enables submit with Tab+Enter sequence (thanks grinder).
  • <i> tags would italicize cb text, oops.
  • Rep related data files now 50% smaller.
  • Added config file syntax status feedback and warnings.
  • Improved the help and tools sections.
  • NEW: Node rep history graph!

    Fixed in 2.03:

  • control chrs in chat xml not being stripped due to missing /d modifier on tr in sub fixxml.
  • client authentication erroneously succeeded if username and password not defined.

    Fixed in 2.04:

  • Repaired the chat frame and norm parser to conform with changes at perlmonks.
  • Added support for the latest shortcut tags: pad, kobe, jargon, perldoc. If you use an external config file these need to be added to the @tags array so they appear in the pulldown menu in the input frame, as well as a few items added to the %launch_urls hash.

To run framechat under mod_perl use OeufMayo's mod_perl patch.

on Jun 03, 2001 at 19:28 UTC
by mr.nick
A text-mode client for the Chatterbox.

Main features:

  • Colorized output via ANSI escape sequences
  • Compatible with both *nix and Win32 (mostly :)
  • Displays most recent New Nodes
  • Can launch a browser to view a node
  • Check for and autoinstall updates
  • An "Away" mode for not being in "Other Users"
  • Uses the various XML Generators of PerlMonks
  • Tracks XP status
  • Tracks Reputation of your nodes (and displays WHICH nodes have changed -- and by how much)
  • Requires NO configuration, download and run!
  • Displays Other Users
  • User configurable options (inside Pmchat) for
    • Time-stamping each message (for long-term running)
    • Turn off/on colorization
    • Number of New Nodes listed
    • Which browser to use for node viewing
    • Update on Launch
    • Seconds between polls for new messages (n/a on Windows)
    • Debugging mode. No output is sent to Perlmonks
    • Log file. Keeps a log of all messages. Set "logfile" to the desired filename. To stop, set "logfile" to "0" or "none".

Because pmchat is a text-mode client, it has the following shortcomings

  • Doesn't render HTML tags
  • Doesn't render special HTML entities (eg: &amp;)
RedWolf MonkChatter
on Feb 28, 2001 at 03:28 UTC
by strredwolf
A chatterbox client in Perl/TK. Doesn't need XML or the PerlMonks module. Fairly complete now.

This has a newer XML pharser (it's not XML::Simple). It also works in Windows. (Hey! ActiveState doesn't have Tk pre-bundled!) Also, Level and XP stats, Jumpscroll control, and clearing of the private messages once received (which will automagically sweep previous items you've seen as a side benifit). Also a raw client view and processing of [jumptags] and some HTML(CODE and A tags).

To use: Run as is, and log in via the top line like the Java Chatterbox client (which it's style borrows from). Once logged in, hit the "Return" key to send in a line of chatter on the bottom entryline. There's several options on the ">>" menu worth perusing; "Regenerate" will redo the chatter log.

PerlMonks modules 2.0
on Sep 05, 2000 at 10:35 UTC
by ZZamboni
The module formerly known as PerlMonksChat has gone through a major transformation. Because its functionality now includes much more than the chat part of PerlMonks, I have split it into several modules: PerlMonks (base module), PerlMonks::Chat (chat stuff), PerlMonks::Users (users and XP stuff) and PerlMonks::NewestNodes (a threaded interface to the Newest Nodes page).

The code is too large to post it here, so I'll point you to the web page instead.

There are a number of clients that use these modules. Check out my home node for the full list.


on Sep 01, 2000 at 12:44 UTC
by t0mas
AgentChat is a chatterbox client. It uses small animated characters to communicate the contents of the chatterbox to the astonished user. These characters, called Agents, are ActiveX components that can be controled by the OLE interface.

See pod for further details.
on Jun 22, 2000 at 16:10 UTC
by ase
Tk Version of Shendal's Win32::GUI chatterbox client.
Added features:
  • Color options configurable and persistent between sessions via a tie'd SDBM_File
  • Should work on any platform with Tk 8.0 module
To do:
  • There is still the issue of the GUI blocking when accessing the network. Update: a new version (again based on Shendal's work (see reply below) is in the works... Check back soon.
  • Somehow the Tk status bar Shendal used to help aleviate the item above doesn't seem to work to well in the Tk version.. It doesn't seem to update properly
  • Requires ZZamboni's PerlMonkChat module
  • Use/Abuse freely but, please let me know if you fix/add to it so I can use it too.
PerlMonks pager
on Sep 10, 2000 at 21:51 UTC
by ZZamboni
I was thinking about this program during Friday, but it was a message from Adam that prompted me into action :-)

This program gets your personal messages from PerlMonks and displays or mails them to you. It can optionally check them off automatically. Typical use would be in a crontab entry like this:

0 * * * * $HOME/bin/ -m
To have it check every hour. It keeps a cache, so that every message is only displayed once. If you give it the -i option, it ignores the cache, and shows all the personal messages that you have. The -c option makes it automatically check off all the messages it displays.

This program is also part of the PerlMonksChat distribution.

Perl/Tk Chatterbox Client
on Jul 13, 2000 at 00:33 UTC
by Shendal
GUI Chatterbox client that works on NT and UNIX that makes use of Tk and zzamboni's PerlMonksChat module.

Notable features:
- Native look and feel on UNIX and NT
- GUI username/password changing
- Userlist and XP progress bar
- Text colorization
- Checkoff of private messages
- Separate server process to talk to website to alleviate gui locks
- Clickable links that will launch an external, user definable browser
- Double-clicking userlist will launch browser to user's perlmonks home node
- Colors are customizable and persistent
- Auto name completion -- just type part of a username that's currently lurking, and hit tab
- Msg button to message currently selected user
- Control-return to send message to currently selected user
- Resizable window
- Support for HREF & CODE tags
- Support for html characters
- Colorize user's name
- Bad commands can be suppressed by option (eliminating the /msh, if you want to)
- New: Uses browser that's already open if available

Users may note that this code started as a Win32::GUI program. I have sinced ported to Tk for portability and performance.

Win32::GUI Chatterbox client
on Jun 16, 2000 at 18:59 UTC
by Shendal
NT GUI Chatterbox client that makes use of Win32::GUI and zzamboni's PerlMonksChat.

Notable features:
- Native Windows look and feel
- GUI username/password changing
- Supports userlist and xp (including progress bar)
- Supports colorization of text
- Supports checkoff of private messages
- GUI no longer locks up on updates by using a separate server process
- hitting return/tab now sends information or moves to next field
Get chatbox lines
on May 26, 2000 at 20:29 UTC
by ZZamboni
It gets lines from the Perlmonks chatbox. It can return all the lines that are currently there, or only the new lines since the last time the getnewlines subroutine is called. This piece of code prints the chat to the terminal:
#!/usr/local/perl/bin/perl use PerlMonksChat; $p=PerlMonksChat->new(); while (1) { print map { "$_\n" } $p->getnewlines(); sleep 10; }
It is very rough, but it works :-)
Update: The code posted here was only the first version, and is now grossly outdated. Please see the web page where I keep the latest version of the script. It has grown a lot with the contributions and encouragement of fellow monks. to it.
on Jun 01, 2000 at 21:53 UTC
by httptech
Speech interface to chatterbox, using festival server for the text-to-speech processing. You need to have the festival daemon running and install the Speech::Festival module.

Since it's based on ZZamboni's Chatterbox Client you will need to download his module as well.

Log In?

What's my password?
Create A New User
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (8)
As of 2018-11-15 23:06 GMT
Find Nodes?
    Voting Booth?
    My code is most likely broken because:

    Results (192 votes). Check out past polls.

    • (Sep 10, 2018 at 22:53 UTC) Welcome new users!