Documentation
¶
Index ¶
- Constants
- func MakeTimestamp() int64
- type ActivateResponse
- type Channel
- type ChannelSettings
- type ChannelSettingsText
- type DeleteData
- type DeleteResponse
- type Message
- type MessageDataBot
- type MessageDataUser
- 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 Status
- type TransportRequestMeta
- type UpdateData
- type UpdateMessage
- type UpdateResponse
- type User
- type WebhookData
- type WebhookRequest
Constants ¶
const ( ChannelFeatureNone string = "none" ChannelFeatureReceive string = "receive" ChannelFeatureSend string = "send" ChannelFeatureBoth string = "both" )
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"` Name string `json:"name,omitempty"` Settings ChannelSettings `json:"settings,omitempty,brackets"` }
Channel type
type ChannelSettings ¶ added in v1.1.1
type ChannelSettings struct { SpamAllowed bool `json:"spam_allowed"` Status Status `json:"status"` Text ChannelSettingsText `json:"text"` }
ChannelSettings struct
type ChannelSettingsText ¶ added in v1.1.2
type ChannelSettingsText struct { Creating string `json:"creating"` Editing string `json:"editing"` Quoting string `json:"quoting"` Deleting string `json:"deleting"` }
ChannelSettingsText 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 MessageDataBot ¶ added in v1.1.3
type MessageDataUser ¶ added in v1.1.3
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", Name: "@my_shopping_bot", Settings: ChannelSettings{ SpamAllowed: false, Status: Status{ Delivered: ChannelFeatureNone, Read: ChannelFeatureReceive, }, Text: ChannelSettingsText{ Creating: ChannelFeatureBoth, Editing: ChannelFeatureBoth, Quoting: ChannelFeatureReceive, Deleting: ChannelFeatureSend, }, }, } 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", Name: "@my_shopping_bot", Settings: ChannelSettings{ SpamAllowed: false, Status: Status{ Delivered: ChannelFeatureNone, Read: ChannelFeatureReceive, }, Text: ChannelSettingsText{ Creating: ChannelFeatureBoth, Editing: ChannelFeatureSend, Quoting: ChannelFeatureReceive, Deleting: ChannelFeatureBoth, }, }, } 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 Message `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"` Email string `json:"email,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"` User *MessageDataUser `json:"user,omitempty"` Bot *MessageDataBot `json:"bot,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