Messaging in Plang
Ingi
Posted on July 19, 2024
This article explores Plang, an intent-based programming language designed to interpret natural language. For more information, visit plang.is or take your first steps
Plang has built-in messaging. It uses the Nostr protocol by default to do this.
Before We Start
Make sure to install Plang.
Note that building code in Plang costs money as it uses LLM. If you have an OpenAI key, you can use that. Instructions are available on your first build.
Plang is a programming language where you write the code in natural language. I call it intent programming because you just need to write your intent and the LLM will figure out what you would like to do.
To understand it, make sure to go through some of the lessons we have.
Prepare
There are some Nostr clients out there. I recommend Damus (iOS) and Amethyst (Android).
Download either of these clients to your phone. This allows us to communicate with the Plang app we are building in this tutorial.
After you have set it up, create a new account and find the public address by clicking your profile picture and going into your profile.
The public address will start with 'npub.....'
.
Copy this address, so you have 'npub.....'
in your clipboard.
Set Up Code
Let's get started. You should have Plang installed and create a new folder on your computer (you choose the location).
Let's create the folder MessageTest
. Inside the folder, create a file called Start.goal
. This is the default entry point into your app.
Now write the code:
Start
- get the public address for message, write to %publicAddress%
- write out 'Your address is: %publicAddress%'
- listen to message from 'npub...',
on new message call ProcessMessage, content of goes into %message%
ProcessMessage
- write out 'Message from phone: %message%'
Now build and run it:
plang exec
It should now print out the Nostr public address and listen for messages:
Your address is: npub....
Try sending a message from your phone to the npub
address that was printed out.
Send a Message
Now we want to send a message to our phone.
Create a new file SendMessage.goal
:
Make sure to put in you npub address from your phone instead of 'npub....'
SendMessage
- send a message to 'npub....',
content=%content%
Build the code:
plang build
And run the code with some content:
plang SendMessage content="Hello"
Your phone should receive a message with the content "Hello."
More Information
If Plang is interesting to you, you should dig a bit deeper:
- Basic concepts and lessons
- Simple Todo example is a good start
- Documentation on the message module
- Check out the GitHub repo
- Meet up on Discord to discuss or get help
Posted on July 19, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.