Use AI tools to create custom code
Did you know that you can use external AI tools like ChatGPT to create code for Crossers’ custom code modules? Low code is great but eventually you might run into limitations and need to enhance the process with custom code. If you feed tools like ChatGPT with reference code from the Crosser examples, you can ask these tools to create code specified for your requirements, executable in Crosser.
C# Example:
ChatGPT prompt
Here is some C# code examples in Crosser from the C# module documentation:
// just return a new object
return new {num = 123, str = "ABC"};
// return the data part from the object coming in
return msg.data
Create C# code that adds a GUID on the property data.guid. Also return the entire object 'data'.
ChatGPT Output
// Ensure the incoming message has a data property and initialize it if necessary
if (msg.data == null)
{
msg.data = new { };
}
// Add a GUID to the data property
msg.data.guid = Guid.NewGuid().ToString();
// Return the entire data object
return msg.data;
Debug message in Crosser
{
"crosser": {
"success": true
},
"guid": "54e3ec1f-ccef-467f-b4ea-bf6be59d3dad",
"pressure": 268,
"temp": 27
}
Python Bridge Example:
ChatGPT prompt
Here is a Python code examples in Crosser:
import json # feel free to alter/add, but do not remove the definition msg_handler
def msg_handler(msg, module):
print(json.dumps(msg))
# pass the message to the next module
module.next(msg)
Create Python code that adds a GUID on the property data.guid. Also return the entire object 'data'.
ChatGPT Output
import json
import uuid
# feel free to alter/add, but do not remove the definition `msg_handler`
def msg_handler(msg, module):
# Check if 'data' exists in the message
if 'data' in msg:
# Add a GUID to the 'data' property
msg['data']['guid'] = str(uuid.uuid4())
# Print the modified message for debugging purposes
print(json.dumps(msg))
# Pass the modified message to the next module
module.next(msg)
Debug message in Crosser
{
"crosser": {
"success": true
},
"data": {
"guid": "ca0f2053-093e-4763-9fb1-a9eabd4afbb7",
"pressure": 487,
"temp": 89
},
"id": 10,
"name": "machine"
}
Note: In this case ChatGPT created code that returns the entire message (msg) and not just the property 'data'.
Tip: Make sure to ask ChatGPT to put the code in try/except clause to ensure stability. The more you work in the chat the better the results will be over time.