Deploying DeadLetter Learn DeadCL DeadCL Tutorials Trusted Domains Publishers

Walk throughs

Author Keys Conversations Libraries Arrays

Network Status Community Hub Contact Us



Making a chat 'bot'

With Conversational Fluency

View tutorials overview

Introduction

By the time you've completed this tutorial you'll have successfully created a conversational tool using DeadCL, an Apache server, Dead Arrays and that's about it.

Everything shown in blue must be substituted with your own values.

Prerequisites

- A sudo user and firewall on your server: in this example we're using Ubuntu 18.04LTS
- Apache Web Server: DeadLetter requires a web server of some description.
- Sub domain: this tutorial requires your web server to be configured with the sub-domain dld.yourdomain.com

Step One

Our first step is to SSH into your server, and navigate to where you'd like to place your Author Key.

            

sudo [email protected]0.0.0.0 sudo mkdir /var/www/html/dld/

Step Two

Next you'll need to copy our Author Key template from Github.

            

cd /var/www/html/dld/ sudo curl -o AK.txt https://raw.githubusercontent.com/deadletter/AK_V1/master/YOUR-NAME-AK.txt

Step Three

Jump into Nano (or your preferred text editor) and replace the filler content.

            

nano AK.txt


The Author Key should look something like this, be sure to set a URL for at least one Conversation file, this will be needed later on.
            

@Do-ID:NAME_YOURNAME $* [email protected]{YOUR-AUTHOR-KEY-NAME} trusted_Cnvrstn//@CF-CON [email protected] ?bnd -- @_all @ = dld.domain.com domain.com =DOMAIN @import a: [MY-CF] ?DRP -- [email protected]+Cnvrstn$ *END*

Step Four

We'll need to edit a few settings within our Conversation, so lets open it with Nano.

            

sudo nano CF-CON.txt


You'll then need to copy the following;

            

dld.keyset('NAME_YOURNAME') *CATCH-lib -R word_interpretation_2018 *CATCH-lib -R PI_2019 *CATCH-lib -R OBJECT_MANAGEMENT_2019 *CATCH-lib -R DAW_EN_2018 *CATCH-lib -R PRONOUNS_EN_2018 *CATCH-lib -R NOUN_EN_2018 *CATCH-lib -R ADJECTIVES_EN_2018 *CATCH-lib -R ADVERBIALS_EN_2018 *CATCH-lib -R VERB_EN_2018 *CATCH-lib -R CPS_EN_2018 *CATCH-lib -R TIME_UNITS_2019 *CATCH-lib -R punctuation_EN_GB_2019 *Catch-lib -L @MY-CF *input, @in.html INPUT; X REACT; {reply to, respond} 'X', COMPARE 'Y' ^PAUSE POST, Y; {POST, on REACT} *END*


Simply put this assigns our input the value of 'X' and set replies as value 'Y'. Essentially we aren't creating any fixed values with this Conversation, which is reliant on libraries for almost all it's functions.


Step Five

Next we'll need to create a local library to define the parameters for both the array and the Conversation.

            

sudo nanoMY-CF.txt


Be sure to follow the structure shown below;

            

*lib - MY-CF *// Copyright 2019 YOUR NAME Management Library for Conversational Fluency, created FEBRUARY 26 2019 //* @; https://dld.domain.com/ _NAME, OB.D0 [ //O_POST [email protected]_MY-CF -- BND /RW CLASS #0.00 ] _USER, OB.D1 [ ^FUSE ?DLD.KEYSET_'NAME_YOURNAME' ] _AUTHORITY, OB.D2 [ //SET OB.D5 -- 00.000 ] [ //SET OB.D6 -- 00.000 ] _REQUEST, OB.D3 [ //CALL A: NUL ] _POST, OB.D4 [ //POST DLD.KEYSET-DO-ID: ] _OB.D5 [ SET _VAL 'X'] _OB.D6 [ SET MM* -- $ _VAL 'Y'] .PAUSE _VAL .8T.S /recall -- Oxford University Press *END*


Here we've combined both our array attributes and our broking files into a single library. There is nothing to be gained from separating these functions as the added redundancy is not needed.

We've also simply set 'X' and 'Y' as loose objects for the array; as a result each value has its own class.

Step Six

Finally you'll need to submit your Author Key to DeadLetter by entering its address at: https://ak.deadletter.io

            

https://dld.domain.com/dld/ak.txt


It can take up to 28 hours for an Author key to be trusted by DeadLetter; if you'd like to learn more visit our Author Key walk-through, or start a conversation on our Community Hub.

Conclusion

This example demonstrates the ease of conversational development with deadCL.

NOTE: This is not intended as a production ready Conversation, simply an example of deadCL. It is single user. The array is empty in the beginning and you populate it with information. DeadCF responses are based solely on the information provided.

A production or commercial application of DeadCF would need both user classes and sub-classes, at a minimum, to cater for multiple users.

Warning

Any conversational deployment will need to include an error handling callback, to avoid gibberish.

Possible uses

- Customer support: with hardcoded data-sets unique to your organisation, you could build a competence online - potentially over the phone customer support agent.
- Digital Friend: using a text to speech and speech to text service (or Amazon Alexa) you could create a digital companion