Skip to main content

Eyeson Go SDK

A golang client for the Eyeson Video Conferencing API.

Usage

// Get your api-key at https://eyeson-team.github.io/api
client, err := eyeson.NewClient(eyesonApiKey)
room, err := client.Rooms.Join("standup meeting", "mike")
room.Links.Gui // https://app.eyeson.team/?sessionToken URL to eyeson web GUI
err = room.WaitReady()
overlayUrl = "https://eyeson-team.github.io/api/images/eyeson-overlay.png"
// Set a foreground image.
err = room.SetLayer(overlayUrl, eyeson.Foreground)
// Send a chat message.
err = room.Chat("Welcome!")

In order to receive events from the running meeting, connect on the observer socket like this:

client, _ := eyeson.NewClient(eyesonApiKey)
room, _ := client.Rooms.Join("standup meeting", "mike")
msgCh, _ := client.Observer.Connect(context.Background(), room.Data.Room.ID)
for {
select {
case msg, ok := <-msgCh:
if !ok {
fmt.Println("Channel closed. Probably disconnected")
return
}
fmt.Println("Received event type: ", msg.GetType())
switch m := msg.(type) {
case *eyeson.Chat:
fmt.Printf("Chat: %s - %s\n", m.ClientID, m.Content)
}
}
}

Development

make test # run go tests
# run an example program that starts a meeting, adds an overlay and sends
# a chat message.
API_KEY=... go run examples/meeting.go
# run an example program that listens for webhooks. please ensure the endpoint
# is public available.
API_KEY=... go run examples/webhook-listener.go <endpoint-url>