1
0
mirror of https://github.com/badkaktus/gorocket.git synced 2025-07-13 01:10:14 +02:00
Go to file
Thomas Buchinger c0295b8976 Do not exit the program on failed API Calls, return an error instead
Using log.Fatal() calls os.Exit(1) after the log message is printed.
os.Exit cannot be catched and exits the program without giving the
user a chance to recover from the error.
2022-03-07 13:19:29 +01:00
2020-04-30 17:36:31 +03:00
2020-08-25 00:21:08 +03:00
2020-08-29 22:56:09 +03:00
2020-09-08 00:27:48 +03:00
2020-05-04 22:25:06 +03:00
2020-09-07 23:29:07 +03:00
2020-08-25 00:21:08 +03:00
2020-09-08 23:21:44 +03:00
2020-09-08 23:16:54 +03:00
2020-08-07 12:09:49 +03:00

Golang Rocket Chat REST API client

Use this simple client if you need to connect to Rocket Chat in Golang.

How to use

Just import

import (
	"github.com/badkaktus/gorocket"
)

Create client

client := gorocket.NewClient("https://your-rocket-chat.com")

// login as the main admin user
login := gorocket.LoginPayload{
    User:     "admin-login",
    Password: "admin-password",
}

lg, err := client.Login(&login)

if err != nil {
    fmt.Printf("Error: %+v", err)
}
fmt.Printf("I'm %s", lg.Data.Me.Username)

Manage user

str := gorocket.NewUser{
    Email:                 "test@email.com",
    Name:                  "John Doe",
    Password:              "simplepassword",
    Username:              "johndoe",
    Active:                true,
}

me, err := client.UsersCreate(&str)
if err != nil {
    fmt.Printf("Error: %+v", err)
}
fmt.Printf("User was created %t", me.Success)

Post a message

// create a new channel
str := gorocket.CreateChannelRequest{
    Name:     "newchannel",
}

channel, err := client.CreateChannel(&str)
if err != nil {
    fmt.Printf("Error: %+v", err)
}
fmt.Printf("Channel was created %t", channel.Success)
// post a message
str := gorocket.Message{
    Channel:     "somechannel",
    Text:        "Hey! This is new message from Golang REST Client",
}

msg, err := client.PostMessage(&str)
if err != nil {
    fmt.Printf("Error: %+v", err)
}
fmt.Printf("Message was posted %t", msg.Success)

PS

Feel free to create issue for add new endpoint to this client

Description
golang library for rocket.chat
Readme MIT 263 KiB
Languages
Go 100%