Deploying DeadLetter Learn DeadCL DeadCL Tutorials Trusted Domains Publishers

Walk throughs

Author Keys Conversations Libraries Arrays

Network Status Community Hub Contact Us



DeadLetter
Conversations

Walk-through



What are they?

A Conversation is simply the 'code' unique to the task you're asking DeadLetter to perform. Think of it like a set of rules written in plain english.

Together with your Author Key and supporting libraries it forms what we call a DeadLetter Conversational Programme, or DCP for short.


Creating a conversation is extremely easy & fast thanks to DeadLetter conversational Language (or DeadLetter CL).




The Basics


Adding an Author Key

Your can write a conversation in html, or txt (preferred). The only pre-requisite is your file is formatted for UTF-8.

The first line in your Conversation should contain your deadID, if your do-ID within your AK is;

YOUR-AUTHOR-KEY

Then your dld.keyset is; dld.keyset('YOUR-AUTHOR-KEY')


            

dld.keyset('YOUR-AUTHOR-KEY-NAME')


Including Libraries

Once you've added your Author Key Name, you'll need to add libraries, without them your Conversation won't run properly.

DeadLetter has two types;
1. local - unique to the Conversation, they are often created and hosted by the user.
2. remote - hosted by DeadLetter and maintained by our community.

Adding a library remote is simple, you can either add every available remote library by including;

*Catch-all - libs

or specific ones using their deadID

*Catch-lib -R @LIBRARY-DEAD-ID

Including a local library is done, much in the same way;

*Catch-lib -L @LOCAL-LIBRARY-DEAD-ID


            

dld.keyset('YOUR-AUTHOR-KEY')
*Catch-all - libs
*Catch-lib -R @LIBRARY-DEAD-ID *Catch-lib -L @LOCAL-LIBRARY-DEAD-ID



If you'd like to play it safe, we suggest including every remote library. Local libraries are considered paramount in the event of a conflict.

Defining inputs

Before we can begin to structure our KC's our Conversation needs an input, this can be almost anything provided it's in UTF-8 and isn't reliant on Javascript (JS). Plain text inputs work best.

*input,
  @INPUT-ADDRESS*


This is the only Key Command (KC) prefix with an asterisk, this ensures it is held Paramount to all other KC's the nesting is unnecessary, in this case it is to aid in readability.


            

dld.keyset('YOUR-AUTHOR-KEY')
*Catch-all - libs
*Catch-lib -R @LIBRARY-DEAD-ID *Catch-lib -L @LOCAL-LIBRARY-DEAD-ID
*input, @INPUT-ADDRESS




Key Commands (KC's)

Key Commands are the foundation of Conversational Language, each KC should flow into the next, although this is not necessary or always practical.

KC's use the following format;

KEYWORD, TASK;
  SUB ROUTINE, EXECUTABLE ACTION


A well structured Conversation will have no fewer than five and no more than twenty Key Commands.


            

dld.keyset('YOUR-AUTHOR-KEY')
*Catch-all - libs
*Catch-lib -R @LIBRARY-DEAD-ID *Catch-lib -L @LOCAL-LIBRARY-DEAD-ID
*input, @INPUT-ADDRESS
KEYWORD, TASK; SUB ROUTINE, EXECUTABLE ACTION




Closing a Conversation

Your Conversation needs to close with an explicit statement.

Such as;

*END*

or;

*CLOSE*


            

dld.keyset('YOUR-AUTHOR-KEY')
*Catch-all - libs
*Catch-lib -R @LIBRARY-DEAD-ID *Catch-lib -L @LOCAL-LIBRARY-DEAD-ID
*input, @INPUT-ADDRESS
KEYWORD, TASK; SUB ROUTINE, EXECUTABLE ACTION
*END*