houjunchen / stream-chat-go

Stream Chat official Golang API Client

Home Page:https://getstream.io/chat/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

stream-chat-go

build godoc

the official Golang API client for Stream chat a service for building chat applications.

You can sign up for a Stream account at https://getstream.io/chat/get_started/.

You can use this library to access chat API endpoints server-side, for the client-side integrations (web and mobile) have a look at the Javascript, iOS and Android SDK libraries (https://getstream.io/chat/).

Installation

go get github.com/GetStream/stream-chat-go/v3

Documentation

Official API docs

Supported features

  • Chat channels
  • Messages
  • Chat channel types
  • User management
  • Moderation API
  • Push configuration
  • User devices
  • User search
  • Channel search
  • Message search

Quickstart

package main

import (
	"os"

	stream "github.com/GetStream/stream-chat-go/v3"
)

var APIKey = os.Getenv("STREAM_CHAT_API_KEY")
var APISecret = os.Getenv("STREAM_CHAT_API_SECRET")
var userID = "" // your server user id

func main() {
	client, err := stream.NewClient(APIKey, []byte(APISecret))
	// use client methods

	// create channel with users
	users := []string{"id1", "id2", "id3"}
	channel, err := client.CreateChannel("messaging", "channel-id", userID, map[string]interface{}{
		"members": users,
	})

	// use channel methods
	msg, err := channel.SendMessage(&stream.Message{Text: "hello"}, userID)
}

Contributing

Contributions to this project are very much welcome, please make sure that your code changes are tested and that follow Go best-practices.

About

Stream Chat official Golang API Client

https://getstream.io/chat/

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Go 99.7%Language:Shell 0.3%