Go
Robin for Messaging with Go
Add live messaging to your Go applications with the Core Go SDK. Take advantage of the Robin API and deploy messaging solutions in very little time.
Prerequisites
The following are required to use the SDK:
Go 1.1.6 or greater is required
API Key - Learn about how to get your API Keys in Setting up your Robin account
Install the Go SDK
go get robin.io-go
Sending your first message
Follow the step-by-step instructions below to send your first message using the Go SDK
Step 1: Create a Robin Instance
To create a Robin
instance, pass the Secret
as the first argument, and the optional Tls
argument as the second in the Robin(Secret, Tls)
constructor.
robin := Robin{
Secret: "YOUR_API_KEY",
Tls: true,
}
Initializing the Chat SDK at the top of your Go file is recommended.
Step 2: Connect to Robin Server
You can connect to the Robin server using the Connect(user_token)
method from the Robin
instance. If you do not have a Robin User Token (user_token), you would have to create one. What is the Robin User Token (RUT)?(specific link to create user token) is a good place to start.
// call back for a successful connection
func connected(socket gowebsocket.Socket) {}
// call back for an unsuccessful connection
func disconnected(err error, socket gowebsocket.Socket) {}
// call back for when a message is recieved via the connection
func text_recieved(msg string, socket gowebsocket.Socket) {}
conn, err := robin.Connect(connected, nil, disconnected, text_recieved, nil, nil, nil)
if err != nil {
println(err)
}
Step 3: Create a Conversation
Before sending a message, you need to create a Conversation
conv, err := robin.CreateConversation("SENDER_NAME", "SENDER_TOKEN", "RECEIVER_TOKEN", "RECEIVER_NAME")
if err != nil {
fmt.Println(err)
}
Step 4: Send a message to Conversation
Now, you can send a message to a conversation with the robin.SendMessage()
method.
err := robin.SendMessage("CHANNEL_NAME", map[string]interface{} {
"name":"SENDER_NAME",
"user_token":"SENDER_TOKEN",
"msg":"MSG CONTENT",
})
Last updated
Was this helpful?