AOH :: P09-07.TXT

Multi-User Chat Program for DEC-10's

                               ==Phrack Inc.==

                    Volume One, Issue Nine, Phile #7 of 10

                            The Shack // presents
                    A Multi-User Chat Program for DEC-10s
                             Original Program by
                          Modified and Clarified by
                               +++The Mentor+++
                              October 6th, 1986

Intro:  Unlike its more sophisticated older brother, the VAX, the DEC has no
easy-to-use communication system like the VMS PHONE utility.  The following
program makes use of the MIC file type available on most DECs.  Each user that
wishes to be involved in the conference needs to run the program from his area
using the .DO COM command.  The program can be entered with any editor (I
recommend SED if you have VT52 emulation), and should be saved as COM.MIC. The
program does not assume any specific terminal type or emulation.  You will
have to know the TTY number of any person you wish to add to the conference,
but this is available through a .SYSTAT command or .R WHO (see below.)
This is an example of a SYSTAT to used to determine TTY#...
Status of Saturn 7.03.2 at  7:27:51 on 03-Oct-86
Uptime 40:41:14, 77% Null time = 77% Idle + 0% Lost, 9% Overhead
27 Jobs in use out of 128.  27 logged in (LOGMAX of 127), 16 detached.
       PPN#    TTY#      CURR     SIZE
19    [OPR]       6      OPR      56+39     HB              18
20     7,20       5      OPR      23+39     HB              24 $
21  2501,1007    56      COMPIL   8+8       ^C            1:34 $
22    66,1012    57      TECO     10+12     TI              39
23    66,1011    62      1022     16+55     TI              36 $
24    [SELF]     64      SYSTAT   23+SPY    RN               0 $
26    [OPR]      DET     STOMPR   10+9      SL               2
27 16011,1003    DET     DIRECT   17+32     ^C              30 $
36    [OPR]      DET     FILDAE   17        HB            1:57

        The TTY# is available in the TTY column... DET means that the user is
detached and is unavailable for chatting...
        Below is an example of .R WHO to obtain the same information...

/- jobs in use out of 127.
Job   Who        Line      PPN
20  OPERATOR 20     5      7,20
21  DISPONDENT     56   2501,1007
22  ADP-TBO        57     66,1012
23  ADP-MDL        62     66,1011
24  THE MENTOR     64   XXXX,XXX
27  GEO4440103    Det  16011,1003

        In each case, I am on TTY# 64...

        Anyway, use the following program, it's more convenient that doing a
.SEN <tty> every time you want to send a message.   Also, to shut out an
annoying sender, use .SET TTY GAG.  To remove, .SET TTY NO GAG... pretty
simple, huh?

!Now in loop: 'a 'b 'c 'd 'e 'f
.mic input A,"Destination Terminal 1:"
.if ($a="") .goto welcome
.mic input B,"Destination Terminal 2:"
.if ($b="") .goto welcome
.mic input C,"Destination Terminal 3:"
.if ($c="") .goto welcome
.mic input D,"Destination Terminal 4:"
.if ($d="") .goto welcome
.mic input E,"Destination Terminal 5:"
.if ($e="") .goto welcome
.mic input F,"Destination Terminal 6:"
.if ($f="") .goto welcome
!Sending Hello Message...
sen 'a Conference Forming on TTYs 'b 'c 'd 'e 'f ... DO COM to these to join'
sen 'b Conference Forming on TTYs 'a 'c 'd 'e 'f ... DO COM to these to join'
sen 'c Conference Forming on TTYs 'a 'b 'd 'e 'f ... DO COM to these to join'
sen 'd Conference Forming on TTYs 'a 'b 'c 'e 'f ... DO COM to these to join'
sen 'e Conference Forming on TTYs 'a 'b 'c 'd 'f ... DO COM to these to join'
sen 'f Conference Forming on TTYs 'a 'b 'c 'd 'e ... DO COM to these to join'
!Type /h for help
.mic input G,"T>"
!Checking Commands.. Wait..
.if ($g="/h") .goto help
.if ($g="/k") .goto kill
.if ($g="/l") .goto list
.if ($g="/d") .goto drop
.if ($g="/t") .goto time
.if ($g="/w") .goto who
.if ($g="/u") .goto users
.if ($g="/q") .goto quit
.if ($g="/r") .backto start
.if ($g="/ac") .goto ack
!Transmitting..  Wait..
sen 'a 'g
sen 'b 'g
sen 'c 'g
sen 'd 'g
sen 'e 'g
sen 'f 'g
.backto com
!        Internal Commands
! /H  -> This Menu       /K -> Kill
! /L  -> List Terminals  /U -> Users
! /W  -> R who           /AC-> Alert Caller
! /Q  -> Quit
! /R  -> Restart/Add
! /T  -> Show Date/Time
! /D  -> Drop Caller
! All Commands must be in lower case.
.backto com
!Currently Connected To Terminals: 'a 'b 'c 'd 'e 'f
.backto com
.r who
.backto com
.r users
!Call The Shack... 512-396-1120 300/1200 24 hours
.mic cancel
!Send Hangup Message:: Enter Terminal Number To Be Disconnected.
.mic input h,"Destination Terminal Number:"
.sen 'h  <=- Communication Terminated at '<time> -=>
.backto start
.mic input h,"Destination Terminal Number:"
.sen 'h %TMRR -  Timeout Error, Response Required, Please ACKNOWLEDGE!
.backto com
!Send Message To Specific Terminal In A Loop
.mic input n,"Are You Sure (Y/N)?"
.if ($n="y") then .goto k1
!%Function Aborted - Returning To Communication Mode.
.backto com
.mic input h,"Destination Terminal Number:"
.mic input n,"K>"
!Transmitting...CTRL-C Aborts!
.sen 'h'n
.backto dog
!Current Date : '<date>
!Current Time : '<time>
.backto com

        Wasn't that neat?  A feature that you can implement separately to be a
pain in the ass is the recursive MIC that sends an annoying message to a
specified terminal.  It is almost impossible for them to shut you out without
logging out unless they are already gagged.
        Just create a small MIC file called BUG.MIC... to do it in two lines,
simply type...
 .SEN <tty # goes here> Eat hot photons, Vogon slime!

        That's it!  I hope this comes in useful to someone out there!  Give us
a call at The Shack... 512-396-1120  300/1200 baud, 24 hours a day... And a
special welcome to all the feds who will doubtlessly be calling since the
number appears in here... we have nothing to hide!
                                        +++The Mentor+++


AOH Site layout & design copyright © 2006 AOH