D3 and mvBase

 View Only
  • 1.  Bulk Text Messaging, Natural Language Processing

    Posted 05-24-2023 02:35
    Edited by Robert Davenport 05-24-2023 23:34

    I have put together a JAVA/DataBasic  program for D3 that works with https://messagemedia.com Bulk SMS texting API if anyone's interested goto http://www.custlang.nz -> utilities->SMS for notes and to try it, see also other things such as a Natural Language Demo.



    ------------------------------
    Robert Davenport
    Programmer
    Custom Language Solutions
    Auckland NZ
    ------------------------------



  • 2.  RE: Bulk Text Messaging, Natural Language Processing

    PARTNER
    Posted 05-25-2023 08:50

    We are using twilio.com for inbound/outbound SMS and MMS communication with D3.
    Twilio has no monthly fees, SMS inbound/outbound cost below one cent, phone# lease about $1, MMS about cent or two. They have international phone# as well as other options e.g. whatsapp.



    ------------------------------
    Chris Wolcz
    Senior Software Developer
    Execontrol Global Solutions
    Clifton Park NY US
    ------------------------------



  • 3.  RE: Bulk Text Messaging, Natural Language Processing

    Posted 05-25-2023 20:52
    Edited by Robert Davenport 05-25-2023 22:06

    Thats very cheap. Please find the program S below which searches the TCL-stack for a string "S string" its very handy when working at TCL, I use it all the time. Please try my Natural Language program ELF at http://www.custlang.nz 10min, be shure to "create logon" first so it can assign you a file. Because it uses sentences it will also work via text message.

    ! searches TCL-stack for string,catalog as "S" then
    ! "S string" will bring up tcl-stack items that match from where they can be executed
    ! with .x
    ! it will search back 44 lines to search further go "S nolines string"
    ! executes ED-with 'ex' so it cant harm TCL-stack
    ! ED must have line3=cunpl in MD
    tclread var
    nolines=field(var,' ',2)
    if num(nolines) then
      srchstr=field(var,' ',3)
      strtno=3
    end else
      srchstr=field(var,' ',2);nolines=44
      strtno=2
    end
    fnd=1
    for strtcnt=strtno+1 to 99 while fnd
      varfld=field(var,' ',strtcnt)
      if varfld='' then
        fnd=0
      end else
        srchstr=srchstr:' ':varfld
      end
    next strtcnt
    execute 'who' capturing whostr
    usercd=field(whostr,' ',3)
    if usercd#'sysprog' then
      !sysprog who format differs
      usercd=field(whostr,' ',2)
    end
    data 'b'
    data 'u':nolines
    data 'l':nolines:'/':srchstr
    data 'ex'
    !exits item-cannot harm tcl-stack
    !execute 'ed tcl-stack dm' capturing rsltstr
    execute 'ed tcl-stack ':usercd capturing rsltstr
    norslt=dcount(rsltstr,char(254))
    rsltstr=delete(rsltstr,1,0,0);norslt=norslt-1
    rsltstr=delete(rsltstr,1,0,0);norslt=norslt-1
    rsltstr=delete(rsltstr,1,0,0);norslt=norslt-1
    rsltstr=delete(rsltstr,1,0,0);norslt=norslt-1
    rsltstr=delete(rsltstr,1,0,0);norslt=norslt-1
    rsltstr=delete(rsltstr,1,0,0);norslt=norslt-1
    rsltstr=delete(rsltstr,norslt,0,0);norslt=norslt-1
    rsltstr=delete(rsltstr,norslt,0,0);norslt=norslt-1
    rsltstr=delete(rsltstr,norslt,0,0);norslt=norslt-1
    sstr=rsltstr<norslt>
    tclcnt=field(sstr,' ',1)
    msk=''
    for rsltno=1 to norslt-1
      str=rsltstr<rsltno>
      strlnno=field(str,' ',1)
    !  stklnno=tclcnt-strlnno;!+1
      stklnno=tclcnt-strlnno+1
    !  str=str[7,999]
    !  str=field(str,char(0),2)
      nmbr=field(str,' ',1)
      str=str[len(nmbr)+3,999]
    !  str=stklnno'r%5':' ':str
      if msk='' then msk='r%':len(stklnno)+1
      str=stklnno msk:' ':str
      crt str
    next rsltno



    ------------------------------
    Robert Davenport
    Programmer
    Custom Language Solutions
    Auckland NZ
    ------------------------------