Documentation
¶
Index ¶
- Constants
- func MakeTimestamp() int64
- type ActivateResponse
- type Channel
- type ChannelFeatures
- type ChannelSettings
- type DeleteData
- type DeleteResponse
- type Message
- type MessagesResponse
- type MgClient
- func (c *MgClient) ActivateTransportChannel(request Channel) (ActivateResponse, int, error)
- func (c *MgClient) DeactivateTransportChannel(id uint64) (DeleteResponse, int, error)
- func (c *MgClient) DeleteMessage(request DeleteData) (MessagesResponse, int, error)
- func (c *MgClient) DeleteRequest(url string, parameters []byte) ([]byte, int, error)
- func (c *MgClient) Error(info []byte) error
- func (c *MgClient) GetRequest(urlWithParameters string) ([]byte, int, error)
- func (c *MgClient) Messages(request SendData) (MessagesResponse, int, error)
- func (c *MgClient) PostRequest(url string, parameters []byte) ([]byte, int, error)
- func (c *MgClient) PutRequest(url string, parameters []byte) ([]byte, int, error)
- func (c *MgClient) UpdateMessages(request UpdateData) (MessagesResponse, int, error)
- func (c *MgClient) UpdateTransportChannel(request Channel) (UpdateResponse, int, error)
- type SendData
- type SendMessage
- type SendMessageRequestQuote
- type TransportRequestMeta
- type UpdateData
- type UpdateMessage
- type UpdateResponse
- type User
- type WebhookData
- type WebhookRequest
Constants ¶
Variables ¶
This section is empty.
Functions ¶
func MakeTimestamp ¶ added in v1.1.1
func MakeTimestamp() int64
Types ¶
type ActivateResponse ¶
type ActivateResponse struct { ChannelID uint64 `json:"id"` ActivatedAt time.Time `json:"activated_at"` }
ActivateResponse channel activation response
type Channel ¶
type Channel struct { ID uint64 `json:"id,omitempty"` Type string `json:"type,omitempty"` Events []string `json:"events,omitempty,brackets"` Settings ChannelSettings `json:"settings,omitempty,brackets"` }
Channel type
type ChannelFeatures ¶ added in v1.1.1
type ChannelFeatures struct { StatusDelivered string `json:"status_delivered"` StatusRead string `json:"status_read"` MessageDeleting string `json:"message_deleting"` MessageEditing string `json:"message_editing"` MessageQuoting string `json:"message_quoting"` ImageMessage string `json:"image_message"` FileMessage string `json:"file_message"` }
ChannelFeatures struct
type ChannelSettings ¶ added in v1.1.1
type ChannelSettings struct { Features ChannelFeatures `json:"features"` ReceiveMessageMode string `json:"receive_message_mode"` SpamAllowed bool `json:"spam_allowed"` }
ChannelSettings struct
type DeleteData ¶ added in v1.0.1
DeleteData struct
type DeleteResponse ¶
type DeleteResponse struct { ChannelID uint64 `json:"id"` DectivatedAt time.Time `json:"deactivated_at"` }
DeleteResponse channel deactivation response
type Message ¶
type Message struct { ExternalID string `json:"external_id"` Type string `json:"type,omitempty"` Text string `json:"text,omitempty"` }
Message struct
type MessagesResponse ¶
MessagesResponse message event response
type MgClient ¶
type MgClient struct { URL string `json:"url"` Token string `json:"token"` Debug bool `json:"debug"` // contains filtered or unexported fields }
MgClient type
func (*MgClient) ActivateTransportChannel ¶
func (c *MgClient) ActivateTransportChannel(request Channel) (ActivateResponse, int, error)
ActivateTransportChannel implement channel activation
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d49bcba99be73bff503ea6") request := ActivateRequest{ Type: "telegram", Events: []string{ "message_sent", "message_read", }, Settings: ChannelSettings{ ReceiveMessageMode: MsgModeAlways, SpamAllowed: false, Features: ChannelFeatures{ StatusDelivered: ChannelFeatureNone, MessageDeleting: ChannelFeatureSend, MessageEditing: ChannelFeatureBoth, MessageQuoting: ChannelFeatureBoth, ImageMessage: ChannelFeatureReceive, }, }, } data, status, err := client.ActivateTransportChannel(request) if err != nil { fmt.Printf("%v", err) } fmt.Printf("%s\n", data.CreatedAt)
func (*MgClient) DeactivateTransportChannel ¶
func (c *MgClient) DeactivateTransportChannel(id uint64) (DeleteResponse, int, error)
DeactivateTransportChannel implement channel deactivation
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d49bcba99be73bff503ea6") data, status, err := client.DeactivateTransportChannel(3053450384) if err != nil { fmt.Printf("%v", err) } fmt.Printf("%s\n", data.DeactivatedAt)
func (*MgClient) DeleteMessage ¶
func (c *MgClient) DeleteMessage(request DeleteData) (MessagesResponse, int, error)
DeleteMessage implement delete message
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d49bcba99be73bff503ea6") msg := DeleteData{ Message{ ExternalID: "274628", }, 10, } data, status, err := client.DeleteMessage(msg) if err != nil { fmt.Printf("%v", err) } fmt.Printf("%s\n", data.MessageID)
func (*MgClient) DeleteRequest ¶
DeleteRequest implements DELETE Request
func (*MgClient) GetRequest ¶
GetRequest implements GET Request
func (*MgClient) Messages ¶
func (c *MgClient) Messages(request SendData) (MessagesResponse, int, error)
Messages implement send message
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d49bcba99be73bff503ea6") msg := SendData{ SendMessage{ Message{ ExternalID: "274628", Type: "text", Text: "hello!", }, time.Now(), }, User{ ExternalID: "8", Nickname: "@octopus", Firstname: "Joe", }, 10, } data, status, err := client.Messages(msg) if err != nil { fmt.Printf("%v", err) } fmt.Printf("%s\n", data.MessageID)
func (*MgClient) PostRequest ¶
PostRequest implements POST Request
func (*MgClient) PutRequest ¶
PutRequest implements PUT Request
func (*MgClient) UpdateMessages ¶
func (c *MgClient) UpdateMessages(request UpdateData) (MessagesResponse, int, error)
UpdateMessages implement edit message
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d49bcba99be73bff503ea6") msg := UpdateData{ UpdateMessage{ Message{ ExternalID: "274628", Type: "text", Text: "hello hello!", }, MakeTimestamp(), }, 10, } data, status, err := client.UpdateMessages(msg) if err != nil { fmt.Printf("%v", err) } fmt.Printf("%s\n", data.MessageID)
func (*MgClient) UpdateTransportChannel ¶
func (c *MgClient) UpdateTransportChannel(request Channel) (UpdateResponse, int, error)
UpdateTransportChannel implement channel activation
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d49bcba99be73bff503ea6") request := ActivateRequest{ ID: 3053450384, Type: "telegram", Events: []string{ "message_sent", "message_read", }, Settings: ChannelSettings{ ReceiveMessageMode: MsgModeNever, SpamAllowed: false, Features: ChannelFeatures{ StatusDelivered: ChannelFeatureNone, MessageDeleting: ChannelFeatureSend, MessageEditing: ChannelFeatureBoth, MessageQuoting: ChannelFeatureBoth, ImageMessage: ChannelFeatureReceive, }, }, } data, status, err := client.UpdateTransportChannel(request) if err != nil { fmt.Printf("%v", err) } fmt.Printf("%s\n", data.UpdatedAt)
type SendData ¶
type SendData struct { Message SendMessage `json:"message"` User User `json:"user"` Channel uint64 `json:"channel"` ExternalChatID string `json:"external_chat_id"` Quote *SendMessageRequestQuote `json:"quote,omitempty"` }
SendData struct
type SendMessage ¶
SendMessage struct
type SendMessageRequestQuote ¶ added in v1.1.0
type SendMessageRequestQuote struct {
ExternalID string `json:"external_id"`
}
type TransportRequestMeta ¶ added in v1.1.0
TransportRequestMeta request metadata
type UpdateData ¶ added in v1.0.1
type UpdateData struct { Message UpdateMessage `json:"message"` Channel uint64 `json:"channel"` }
UpdateData struct
type UpdateMessage ¶
UpdateMessage struct
type UpdateResponse ¶
UpdateResponse channel update response
type User ¶
type User struct { ExternalID string `json:"external_id"` Nickname string `json:"nickname"` Firstname string `json:"first_name,omitempty"` Lastname string `json:"last_name,omitempty"` Avatar string `json:"avatar,omitempty"` ProfileURL string `json:"profile_url,omitempty"` Country string `json:"country,omitempty"` Language string `json:"language,omitempty"` Phone string `json:"phone,omitempty"` }
User struct
type WebhookData ¶ added in v1.1.0
type WebhookData struct { ExternalUserID string `json:"external_user_id"` ExternalMessageID string `json:"external_message_id,omitempty"` ExternalChatID string `json:"external_chat_id"` ChannelID uint64 `json:"channel_id"` Content string `json:"content"` QuoteExternalID string `json:"quote_external_id,omitempty"` QuoteContent string `json:"quote_content,omitempty"` }
WebhookData request data
type WebhookRequest ¶ added in v1.1.0
type WebhookRequest struct { Type string `json:"type"` Meta TransportRequestMeta `json:"meta"` Data WebhookData `json:"data"` }
Webhook request