/*
**  $VER: doTalk.rexx 01.11 (13.09.95) © Aris Basic
**
**
**  PROGRAMNAME:
**      doTalk.rexx
**
**  FUNCTION:
**
**      Does an UNIX Compatabile Talk or AmiChat Request.
**
**      This macro needs AmiTCP (© AmiTCP/IP Group) or somthing similar
**      and AmiTALK for Talk Request and AmiCHAT for Chat Request (bot © Brian Gunn)
**
**      WARNING !!! bot programs should be in AMITCP:bin/ or INET:bin/
**
**  STARTING:
**      From any where with Args path : TALK/S,CHAT/S or without Args
**      ABook Server or ABook must be Running !!!
**
**  $HISTORY:
**
**   11.05.95 : 01.00 : initial release
**   06.09.95 : 01.10 : addapted to ABook 01.00
**   13.09.95 : 01.11 : some dummy things removed :)
**
**
*/

path='amitcp:bin/'

/*
**  CONVERT THIS TO INET: WHEN YOU HAVE MLINK OR AS225
*/

OPTIONS RESULTS
PARSE ARG mode
mode=UPPER(mode)

IF ~Show('P','ADDRESS_BOOK.1') THEN DO
                                    IF Show('P','ABOOK_SERVER') THEN CALL server()
                                    SAY 'Kann Address-Book oder ABook-Server nicht finden!'
                                    EXIT 10
                                  END
ADDRESS 'ADDRESS_BOOK.1'
'FIRST SELECTED'
lock=RESULT
IF ((lock='RESULT')|(lock=0)) THEN DO
                    IF Show('P','ABOOK_SERVER') THEN CALL server()
                    'REQUESTRESPONSE PROMPT="Kein Eintrag selektiert!" TITLE="FEHLER"'
                    EXIT 10
                    END
main:
'LOCK ENTRY='lock
IF rc=5 THEN DO
    'REQUESTRESPONSE PROMPT="Eintrag wird bereits benutzt!" TITLE="FEHLER" BUTTONS="OK"'
    call ende()
    END
IF rc=10 THEN call ende()
'QUERY STEM='DATA.
IF rc=5 THEN DO
    'REQUESTRESPONSE PROMPT="Lock Fehler !" TITLE="FEHLER" BUTTONS="OK"'
    call ende()
    END
IF DATA.EMAIL.COUNT=0 THEN CALL noemail()

DO a=1 TO DATA.EMAIL.COUNT
    desc=UPPER(DATA.EMAIL.a.DES)
    IF ((desc='CHAT')&(mode='CHAT')) THEN DO
                                platz=POS(@,DATA.EMAIL.a.ADR)
                                lange=LENGTH(DATA.EMAIL.a.ADR)
                                user=SUBSTR(DATA.EMAIL.a.ADR,1,platz-1)
                                email=SUBSTR(DATA.EMAIL.a.ADR,platz+1)
                                cmd=path||'chat '||email||' '||user  
                                ADDRESS COMMAND 'RUN '||cmd
                                call ende()
                                END
    IF (desc='TALK') THEN DO
                                         cmd=path||'talk '||DATA.EMAIL.a.ADR 
                                         ADDRESS COMMAND 'RUN '||cmd
                                         call ende()
                                         END
    IF desc='INTERNET' THEN DO
                            IF mode='TALK' THEN cmd=path||'talk '||DATA.EMAIL.a.ADR
                            IF mode='CHAT' THEN DO
                                platz=POS(@,DATA.EMAIL.a.ADR)
                                lange=LENGTH(DATA.EMAIL.a.ADR)
                                user=SUBSTR(DATA.EMAIL.a.ADR,1,platz-1)
                                email=SUBSTR(DATA.EMAIL.a.ADR,platz+1)
                                cmd=path||'chat '||email||' '||user
                            END
                            IF ((mode='') & (mode=' ')) THEN cmd=path||'talk '||DATA.EMAIL.a.ADR
                            ADDRESS COMMAND 'RUN '||cmd
                            call ende()
                            END
END
ende:
'UNLOCK 'lock
EXIT 0
server:
ADDRESS 'ABOOK_SERVER'
'SELECT STEM='VAR.
lock=VAR.1
call main()
noemail:
'UNLOCK 'lock
'REQUESTRESPONSE PROMPT="Dieser Eintrag hat keine Email!" TITLE="FEHLER" BUTTONS="OK"'
Exit 10


