ocs

package
Version: v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2021 License: Apache-2.0 Imports: 2 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// MessageComment is a Nextcloud Talk message that is a comment
	MessageComment MessageType = "comment"

	// MessageSystem is a Nextcloud Talk message that is a system
	MessageSystem MessageType = "system"

	// MessageCommand is a Nextcloud Talk message that is a command
	MessageCommand MessageType = "command"

	// MessageDelete is a Nextcloud Talk message indicating a message that was deleted
	//
	// If a message has been deleted, a message of MessageType MessageSystem is
	// sent through the channel for which the parent message's MessageType is MessageDelete.
	// So, in order to check if a new message is a message deletion request, a check
	// like this can be used:
	// msg.MessageType == ocs.MessageSystem && msg.Parent != nil && msg.Parent.MessageType == ocs.MessageDelete
	MessageDelete MessageType = "comment_deleted"

	// ActorUser is a Nextcloud Talk message sent by a user
	ActorUser ActorType = "users"

	// ActorGuest is a Nextcloud Talk message sent by a guest
	ActorGuest ActorType = "guests"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ActorType added in v0.1.4

type ActorType string

ActorType describes what kind of actor a returned Nextcloud Talk message is from

type Capabilities added in v0.0.2

type Capabilities struct {
	Data struct {
		Capabilities struct {
			SpreedCapabilities SpreedCapabilities `json:"spreed"`
		} `json:"capabilities"`
	} `json:"data"`
	// contains filtered or unexported fields
}

Capabilities describes the response from the capabilities request

type MessageType

type MessageType string

MessageType describes what kind of message a returned Nextcloud Talk message is

type RichObjectString added in v0.1.0

type RichObjectString struct {
	Type RichObjectStringType `json:"type"`
	ID   string               `json:"id"`
	Name string               `json:"name"`
	Path string               `json:"path"`
	Link string               `json:"link"`
}

RichObjectString describes the content of placeholders in TalkRoomMessageData

type RichObjectStringType added in v0.1.0

type RichObjectStringType string

RichObjectStringType describes what a rich object string is describing

const (
	// ROSTypeUser describes a rich object string that is a user
	ROSTypeUser RichObjectStringType = "user"
	// ROSTypeGroup describes a rich object string that is a group
	ROSTypeGroup RichObjectStringType = "group"
	// ROSTypeFile describes a rich object string that is a file
	ROSTypeFile RichObjectStringType = "file"
)

type SpreedCapabilities added in v0.0.2

type SpreedCapabilities struct {
	Features []string `json:"features"`
	Config   struct {
		Attachments struct {
			Allowed bool   `json:"allowed"`
			Folder  string `json:"folder"`
		} `json:"attachments"`
		Chat struct {
			MaxLength   int `json:"max-length"`
			ReadPrivacy int `json:"read-privacy"`
		} `json:"chat"`
		Conversations struct {
			CanCreate bool `json:"can-create"`
		} `json:"conversations"`
		Previews struct {
			MaxGifSize int `json:"max-gif-size"`
		} `json:"previews"`
	} `json:"config"`
}

SpreedCapabilities describes the Nextcloud Talk capabilities response

type TalkRoomMessage

type TalkRoomMessage struct {
	OCS talkRoomMessage `json:"ocs"`
}

TalkRoomMessage describes an ocs response for a Talk room message

func TalkRoomMessageDataUnmarshal added in v0.1.1

func TalkRoomMessageDataUnmarshal(data *[]byte) (*TalkRoomMessage, error)

TalkRoomMessageDataUnmarshal unmarshals given ocs request data and returns a TalkRoomMessageData

type TalkRoomMessageData

type TalkRoomMessageData struct {
	Error             error                       `json:"-"`
	Message           string                      `json:"message"`
	ID                int                         `json:"id"`
	ActorType         ActorType                   `json:"actorType"`
	ActorID           string                      `json:"actorId"`
	ActorDisplayName  string                      `json:"actorDisplayName"`
	SystemMessage     string                      `json:"systemMessage"`
	Timestamp         int                         `json:"timestamp"`
	MessageType       MessageType                 `json:"messageType"`
	Deleted           bool                        `json:"deleted"`
	Parent            *TalkRoomMessageData        `json:"parent"`
	MessageParameters map[string]RichObjectString `json:"-"`
}

TalkRoomMessageData describes the data part of a ocs response for a Talk room message

Error will be set if a message request ran into an error.

func (*TalkRoomMessageData) DisplayName added in v0.1.4

func (m *TalkRoomMessageData) DisplayName() string

DisplayName returns the display name for the sender of the message (" (Guest)" is appended if sent by a guest user)

func (*TalkRoomMessageData) PlainMessage added in v0.1.0

func (m *TalkRoomMessageData) PlainMessage() string

PlainMessage returns the message string with placeholders replaced

* User and group placeholders will be replaced with the name of the user or group respectively.

* File placeholders will be replaced with the name of the file.

type TalkRoomSentResponse

type TalkRoomSentResponse struct {
	OCS talkRoomSentResponse `json:"ocs"`
}

TalkRoomSentResponse describes an ocs response for what is returned when a message is sent

func TalkRoomSentResponseUnmarshal added in v0.1.1

func TalkRoomSentResponseUnmarshal(data *[]byte) (*TalkRoomSentResponse, error)

TalkRoomSentResponseUnmarshal unmarshals given ocs request data and returns a TalkRoomMessageData

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL