Documentation
¶
Index ¶
- Variables
- func ValidateSignature(channelSecret, signature string, body []byte) bool
- type AccountLinkEvent
- type ActionResult
- type ActionResultTYPE
- type ActivatedEvent
- type AllMentionee
- type AttachedModuleContent
- type AudioMessageContent
- type BeaconContent
- type BeaconContentTYPE
- type BeaconEvent
- type BotResumedEvent
- type BotSuspendedEvent
- type CallbackRequest
- type ChatControl
- type ContentProvider
- type ContentProviderTYPE
- type DeactivatedEvent
- type DeliveryContext
- type DetachedModuleContent
- type DetachedModuleContentREASON
- type Emoji
- type ErrorHandlerFunc
- type Event
- type EventInterface
- type EventMode
- type EventsHandlerFunc
- type FileMessageContent
- type FollowDetail
- type FollowEvent
- type GroupSource
- type ImageMessageContent
- type ImageSet
- type JoinEvent
- type JoinedMembers
- type LeaveEvent
- type LeftMembers
- type LinkContent
- type LinkContentRESULT
- type LinkThingsContent
- type LocationMessageContent
- type MemberJoinedEvent
- type MemberLeftEvent
- type Mention
- type Mentionee
- type MentioneeInterface
- type MessageContent
- type MessageContentInterface
- type MessageEvent
- type ModuleContent
- type ModuleContentInterface
- type ModuleEvent
- type PnpDelivery
- type PnpDeliveryCompletionEvent
- type PostbackContent
- type PostbackEvent
- type RoomSource
- type ScenarioResult
- type ScenarioResultThingsContent
- type Source
- type SourceInterface
- type StickerMessageContent
- type StickerMessageContentSTICKER_RESOURCE_TYPE
- type TextMessageContent
- type ThingsContent
- type ThingsContentInterface
- type ThingsEvent
- type UnfollowEvent
- type UnknownEvent
- type UnknownMentionee
- type UnknownMessageContent
- type UnknownModuleContent
- type UnknownSource
- type UnknownThingsContent
- type UnlinkThingsContent
- type UnsendDetail
- type UnsendEvent
- type UserMentionee
- type UserSource
- type VideoMessageContent
- type VideoPlayComplete
- type VideoPlayCompleteEvent
- type WebhookHandler
Constants ¶
This section is empty.
Variables ¶
var (
ErrInvalidSignature = errors.New("invalid signature")
)
Functions ¶
func ValidateSignature ¶
Types ¶
type AccountLinkEvent ¶
type AccountLinkEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
/**
* Reply token used to send reply message to this event. This property won't be included if linking the account has failed.
*/
ReplyToken string `json:"replyToken,omitempty"`
/**
* Get Link
*/
Link *LinkContent `json:"link"`
}
func (*AccountLinkEvent) MarshalJSON ¶
func (r *AccountLinkEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the AccountLinkEvent struct.
func (*AccountLinkEvent) UnmarshalJSON ¶
func (cr *AccountLinkEvent) UnmarshalJSON(data []byte) error
type ActionResult ¶
type ActionResult struct {
/**
* Get Type
*/
Type ActionResultTYPE `json:"type"`
/**
* Base64-encoded binary data
*/
Data string `json:"data,omitempty"`
}
type ActionResultTYPE ¶
type ActionResultTYPE string
const ( ActionResultTYPE_VOID ActionResultTYPE = "void" ActionResultTYPE_BINARY ActionResultTYPE = "binary" )
ActionResultTYPE constants
type ActivatedEvent ¶
type ActivatedEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
/**
* Get ChatControl
*/
ChatControl *ChatControl `json:"chatControl"`
}
func (*ActivatedEvent) MarshalJSON ¶
func (r *ActivatedEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the ActivatedEvent struct.
func (*ActivatedEvent) UnmarshalJSON ¶
func (cr *ActivatedEvent) UnmarshalJSON(data []byte) error
type AllMentionee ¶
type AllMentionee struct {
Mentionee
/**
* Index position of the user mention for a character in text, with the first character being at position 0. (Required)
*/
Index int32 `json:"index"`
/**
* The length of the text of the mentioned user. For a mention @example, 8 is the length. (Required)
*/
Length int32 `json:"length"`
}
func (*AllMentionee) MarshalJSON ¶
func (r *AllMentionee) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the AllMentionee struct.
type AttachedModuleContent ¶
type AttachedModuleContent struct {
ModuleContent
/**
* User ID of the bot on the attached LINE Official Account (Required)
*/
BotId string `json:"botId"`
/**
* An array of strings indicating the scope permitted by the admin of the LINE Official Account. (Required)
*/
Scopes []string `json:"scopes"`
}
func (*AttachedModuleContent) MarshalJSON ¶
func (r *AttachedModuleContent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the AttachedModuleContent struct.
type AudioMessageContent ¶
type AudioMessageContent struct {
MessageContent
/**
* Message ID (Required)
*/
Id string `json:"id"`
/**
* Get ContentProvider
*/
ContentProvider *ContentProvider `json:"contentProvider"`
/**
* Length of audio file (milliseconds)
*/
Duration int64 `json:"duration"`
}
func (*AudioMessageContent) MarshalJSON ¶
func (r *AudioMessageContent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the AudioMessageContent struct.
type BeaconContent ¶
type BeaconContent struct {
/**
* Hardware ID of the beacon that was detected (Required)
*/
Hwid string `json:"hwid"`
/**
* Type of beacon event. (Required)
*/
Type BeaconContentTYPE `json:"type"`
/**
* Device message of beacon that was detected.
*/
Dm string `json:"dm,omitempty"`
}
type BeaconContentTYPE ¶
type BeaconContentTYPE string
BeaconContentTYPE type
Type of beacon event.
const ( BeaconContentTYPE_ENTER BeaconContentTYPE = "enter" BeaconContentTYPE_BANNER BeaconContentTYPE = "banner" BeaconContentTYPE_STAY BeaconContentTYPE = "stay" )
BeaconContentTYPE constants
type BeaconEvent ¶
type BeaconEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
/**
* Reply token used to send reply message to this event (Required)
*/
ReplyToken string `json:"replyToken"`
/**
* Get Beacon
*/
Beacon *BeaconContent `json:"beacon"`
}
func (*BeaconEvent) MarshalJSON ¶
func (r *BeaconEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the BeaconEvent struct.
func (*BeaconEvent) UnmarshalJSON ¶
func (cr *BeaconEvent) UnmarshalJSON(data []byte) error
type BotResumedEvent ¶
type BotResumedEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
}
func (*BotResumedEvent) MarshalJSON ¶
func (r *BotResumedEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the BotResumedEvent struct.
func (*BotResumedEvent) UnmarshalJSON ¶
func (cr *BotResumedEvent) UnmarshalJSON(data []byte) error
type BotSuspendedEvent ¶
type BotSuspendedEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
}
func (*BotSuspendedEvent) MarshalJSON ¶
func (r *BotSuspendedEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the BotSuspendedEvent struct.
func (*BotSuspendedEvent) UnmarshalJSON ¶
func (cr *BotSuspendedEvent) UnmarshalJSON(data []byte) error
type CallbackRequest ¶
type CallbackRequest struct {
/**
* User ID of a bot that should receive webhook events. The user ID value is a string that matches the regular expression, `U[0-9a-f]{32}`. (Required)
*/
Destination string `json:"destination"`
/**
* Array of webhook event objects. The LINE Platform may send an empty array that doesn't include a webhook event object to confirm communication. (Required)
*/
Events []EventInterface `json:"events"`
}
CallbackRequest The request body contains a JSON object with the user ID of a bot that should receive webhook events and an array of webhook event objects. https://developers.line.biz/en/reference/messaging-api/#request-body
func ParseRequest ¶
func ParseRequest(channelSecret string, r *http.Request) (*CallbackRequest, error)
ParseRequest func
func (*CallbackRequest) MarshalJSON ¶
func (r *CallbackRequest) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the CallbackRequest struct.
func (*CallbackRequest) UnmarshalJSON ¶
func (cr *CallbackRequest) UnmarshalJSON(data []byte) error
type ChatControl ¶
type ChatControl struct {
/**
* Get ExpireAt
*/
ExpireAt int64 `json:"expireAt"`
}
type ContentProvider ¶
type ContentProvider struct {
/**
* Provider of the image file. (Required)
*/
Type ContentProviderTYPE `json:"type"`
/**
* URL of the image file. Only included when contentProvider.type is external.
*/
OriginalContentUrl string `json:"originalContentUrl,omitempty"`
/**
* URL of the preview image. Only included when contentProvider.type is external.
*/
PreviewImageUrl string `json:"previewImageUrl,omitempty"`
}
type ContentProviderTYPE ¶
type ContentProviderTYPE string
ContentProviderTYPE type
Provider of the image file.
const ( ContentProviderTYPE_LINE ContentProviderTYPE = "line" ContentProviderTYPE_EXTERNAL ContentProviderTYPE = "external" )
ContentProviderTYPE constants
type DeactivatedEvent ¶
type DeactivatedEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
}
func (*DeactivatedEvent) MarshalJSON ¶
func (r *DeactivatedEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the DeactivatedEvent struct.
func (*DeactivatedEvent) UnmarshalJSON ¶
func (cr *DeactivatedEvent) UnmarshalJSON(data []byte) error
type DeliveryContext ¶
type DeliveryContext struct {
/**
* Whether the webhook event is a redelivered one or not. (Required)
*/
IsRedelivery bool `json:"isRedelivery"`
}
type DetachedModuleContent ¶
type DetachedModuleContent struct {
ModuleContent
/**
* Detached LINE Official Account bot user ID (Required)
*/
BotId string `json:"botId"`
/**
* Reason for detaching (Required)
*/
Reason DetachedModuleContentREASON `json:"reason"`
}
func (*DetachedModuleContent) MarshalJSON ¶
func (r *DetachedModuleContent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the DetachedModuleContent struct.
type DetachedModuleContentREASON ¶
type DetachedModuleContentREASON string
DetachedModuleContentREASON type
Reason for detaching
const (
DetachedModuleContentREASON_BOT_DELETED DetachedModuleContentREASON = "bot_deleted"
)
DetachedModuleContentREASON constants
type Emoji ¶
type Emoji struct {
/**
* Index position for a character in text, with the first character being at position 0. (Required)
*/
Index int32 `json:"index"`
/**
* The length of the LINE emoji string. For LINE emoji (hello), 7 is the length. (Required)
*/
Length int32 `json:"length"`
/**
* Product ID for a LINE emoji set. (Required)
*/
ProductId string `json:"productId"`
/**
* ID for a LINE emoji inside a set. (Required)
*/
EmojiId string `json:"emojiId"`
}
type Event ¶
type EventInterface ¶
type EventInterface interface {
GetType() string
}
func UnmarshalEvent ¶
func UnmarshalEvent(data []byte) (EventInterface, error)
type EventsHandlerFunc ¶
type EventsHandlerFunc func(*CallbackRequest, *http.Request)
EventsHandlerFunc type
type FileMessageContent ¶
type FileMessageContent struct {
MessageContent
/**
* Message ID (Required)
*/
Id string `json:"id"`
/**
* File name (Required)
*/
FileName string `json:"fileName"`
/**
* File size in bytes (Required)
*/
FileSize int32 `json:"fileSize"`
}
func (*FileMessageContent) MarshalJSON ¶
func (r *FileMessageContent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the FileMessageContent struct.
type FollowDetail ¶
type FollowDetail struct {
/**
* Whether a user has added your LINE Official Account as a friend or unblocked. (Required)
*/
IsUnblocked bool `json:"isUnblocked"`
}
type FollowEvent ¶
type FollowEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
/**
* Reply token used to send reply message to this event (Required)
*/
ReplyToken string `json:"replyToken"`
/**
* Get Follow
*/
Follow *FollowDetail `json:"follow"`
}
func (*FollowEvent) MarshalJSON ¶
func (r *FollowEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the FollowEvent struct.
func (*FollowEvent) UnmarshalJSON ¶
func (cr *FollowEvent) UnmarshalJSON(data []byte) error
type GroupSource ¶
type GroupSource struct {
Source
/**
* Group ID of the source group chat (Required)
*/
GroupId string `json:"groupId"`
/**
* ID of the source user. Only included in message events. Only users of LINE for iOS and LINE for Android are included in userId.
*/
UserId string `json:"userId,omitempty"`
}
func (*GroupSource) MarshalJSON ¶
func (r *GroupSource) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the GroupSource struct.
type ImageMessageContent ¶
type ImageMessageContent struct {
MessageContent
/**
* Message ID (Required)
*/
Id string `json:"id"`
/**
* Get ContentProvider
*/
ContentProvider *ContentProvider `json:"contentProvider"`
/**
* Get ImageSet
*/
ImageSet *ImageSet `json:"imageSet,omitempty"`
/**
* Quote token to quote this message. (Required)
*/
QuoteToken string `json:"quoteToken"`
}
func (*ImageMessageContent) MarshalJSON ¶
func (r *ImageMessageContent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the ImageMessageContent struct.
type ImageSet ¶
type ImageSet struct {
/**
* Image set ID. Only included when multiple images are sent simultaneously. (Required)
*/
Id string `json:"id"`
/**
* An index starting from 1, indicating the image number in a set of images sent simultaneously. Only included when multiple images are sent simultaneously. However, it won't be included if the sender is using LINE 11.15 or earlier for Android.
*/
Index int32 `json:"index"`
/**
* The total number of images sent simultaneously.
*/
Total int32 `json:"total"`
}
type JoinEvent ¶
type JoinEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
/**
* Reply token used to send reply message to this event (Required)
*/
ReplyToken string `json:"replyToken"`
}
func (*JoinEvent) MarshalJSON ¶
MarshalJSON customizes the JSON serialization of the JoinEvent struct.
func (*JoinEvent) UnmarshalJSON ¶
type JoinedMembers ¶
type JoinedMembers struct {
/**
* Users who joined. Array of source user objects. (Required)
*/
Members []UserSource `json:"members"`
}
type LeaveEvent ¶
type LeaveEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
}
func (*LeaveEvent) MarshalJSON ¶
func (r *LeaveEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the LeaveEvent struct.
func (*LeaveEvent) UnmarshalJSON ¶
func (cr *LeaveEvent) UnmarshalJSON(data []byte) error
type LeftMembers ¶
type LeftMembers struct {
/**
* Users who left. Array of source user objects. (Required)
*/
Members []UserSource `json:"members"`
}
type LinkContent ¶
type LinkContent struct {
/**
* One of the following values to indicate whether linking the account was successful or not (Required)
*/
Result LinkContentRESULT `json:"result"`
/**
* Specified nonce (number used once) when verifying the user ID. (Required)
*/
Nonce string `json:"nonce"`
}
type LinkContentRESULT ¶
type LinkContentRESULT string
LinkContentRESULT type
One of the following values to indicate whether linking the account was successful or not
const ( LinkContentRESULT_OK LinkContentRESULT = "ok" LinkContentRESULT_FAILED LinkContentRESULT = "failed" )
LinkContentRESULT constants
type LinkThingsContent ¶
type LinkThingsContent struct {
ThingsContent
/**
* Device ID of the device that has been linked with LINE. (Required)
*/
DeviceId string `json:"deviceId"`
}
func (*LinkThingsContent) MarshalJSON ¶
func (r *LinkThingsContent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the LinkThingsContent struct.
type LocationMessageContent ¶
type LocationMessageContent struct {
MessageContent
/**
* Message ID (Required)
*/
Id string `json:"id"`
/**
* Title
*/
Title string `json:"title,omitempty"`
/**
* Address
*/
Address string `json:"address,omitempty"`
/**
* Latitude (Required)
*/
Latitude float64 `json:"latitude"`
/**
* Longitude (Required)
*/
Longitude float64 `json:"longitude"`
}
func (*LocationMessageContent) MarshalJSON ¶
func (r *LocationMessageContent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the LocationMessageContent struct.
type MemberJoinedEvent ¶
type MemberJoinedEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
/**
* Reply token used to send reply message to this event (Required)
*/
ReplyToken string `json:"replyToken"`
/**
* Get Joined
*/
Joined *JoinedMembers `json:"joined"`
}
func (*MemberJoinedEvent) MarshalJSON ¶
func (r *MemberJoinedEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the MemberJoinedEvent struct.
func (*MemberJoinedEvent) UnmarshalJSON ¶
func (cr *MemberJoinedEvent) UnmarshalJSON(data []byte) error
type MemberLeftEvent ¶
type MemberLeftEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
/**
* Get Left
*/
Left *LeftMembers `json:"left"`
}
func (*MemberLeftEvent) MarshalJSON ¶
func (r *MemberLeftEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the MemberLeftEvent struct.
func (*MemberLeftEvent) UnmarshalJSON ¶
func (cr *MemberLeftEvent) UnmarshalJSON(data []byte) error
type Mention ¶
type Mention struct {
/**
* Array of one or more mention objects. Max: 20 mentions (Required)
*/
Mentionees []MentioneeInterface `json:"mentionees"`
}
func (*Mention) MarshalJSON ¶
MarshalJSON customizes the JSON serialization of the Mention struct.
func (*Mention) UnmarshalJSON ¶
type Mentionee ¶
type MentioneeInterface ¶
type MentioneeInterface interface {
GetType() string
}
func UnmarshalMentionee ¶
func UnmarshalMentionee(data []byte) (MentioneeInterface, error)
type MessageContent ¶
func (MessageContent) GetType ¶
func (e MessageContent) GetType() string
type MessageContentInterface ¶
type MessageContentInterface interface {
GetType() string
}
func UnmarshalMessageContent ¶
func UnmarshalMessageContent(data []byte) (MessageContentInterface, error)
type MessageEvent ¶
type MessageEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
/**
* Get ReplyToken
*/
ReplyToken string `json:"replyToken,omitempty"`
/**
* Get Message
*/
Message MessageContentInterface `json:"message"`
}
func (*MessageEvent) MarshalJSON ¶
func (r *MessageEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the MessageEvent struct.
func (*MessageEvent) UnmarshalJSON ¶
func (cr *MessageEvent) UnmarshalJSON(data []byte) error
type ModuleContent ¶
type ModuleContent struct {
Type string `json:"type"`
}
func (ModuleContent) GetType ¶
func (e ModuleContent) GetType() string
type ModuleContentInterface ¶
type ModuleContentInterface interface {
GetType() string
}
func UnmarshalModuleContent ¶
func UnmarshalModuleContent(data []byte) (ModuleContentInterface, error)
type ModuleEvent ¶
type ModuleEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
/**
* Get Module
*/
Module ModuleContentInterface `json:"module"`
}
func (*ModuleEvent) MarshalJSON ¶
func (r *ModuleEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the ModuleEvent struct.
func (*ModuleEvent) UnmarshalJSON ¶
func (cr *ModuleEvent) UnmarshalJSON(data []byte) error
type PnpDelivery ¶
type PnpDelivery struct {
/**
* A hashed phone number string or a string specified by `X-Line-Delivery-Tag` header (Required)
*/
Data string `json:"data"`
}
type PnpDeliveryCompletionEvent ¶
type PnpDeliveryCompletionEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
/**
* Get Delivery
*/
Delivery *PnpDelivery `json:"delivery"`
}
func (*PnpDeliveryCompletionEvent) MarshalJSON ¶
func (r *PnpDeliveryCompletionEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the PnpDeliveryCompletionEvent struct.
func (*PnpDeliveryCompletionEvent) UnmarshalJSON ¶
func (cr *PnpDeliveryCompletionEvent) UnmarshalJSON(data []byte) error
type PostbackContent ¶
type PostbackEvent ¶
type PostbackEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
/**
* Reply token used to send reply message to this event
*/
ReplyToken string `json:"replyToken,omitempty"`
/**
* Get Postback
*/
Postback *PostbackContent `json:"postback"`
}
func (*PostbackEvent) MarshalJSON ¶
func (r *PostbackEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the PostbackEvent struct.
func (*PostbackEvent) UnmarshalJSON ¶
func (cr *PostbackEvent) UnmarshalJSON(data []byte) error
type RoomSource ¶
type RoomSource struct {
Source
/**
* ID of the source user. Only included in message events. Only users of LINE for iOS and LINE for Android are included in userId.
*/
UserId string `json:"userId,omitempty"`
/**
* Room ID of the source multi-person chat (Required)
*/
RoomId string `json:"roomId"`
}
func (*RoomSource) MarshalJSON ¶
func (r *RoomSource) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the RoomSource struct.
type ScenarioResult ¶
type ScenarioResult struct {
/**
* Scenario ID executed
*/
ScenarioId string `json:"scenarioId,omitempty"`
/**
* Revision number of the scenario set containing the executed scenario
*/
Revision int32 `json:"revision"`
/**
* Timestamp for when execution of scenario action started (milliseconds, LINE app time) (Required)
*/
StartTime int64 `json:"startTime"`
/**
* Timestamp for when execution of scenario was completed (milliseconds, LINE app time) (Required)
*/
EndTime int64 `json:"endTime"`
/**
* Scenario execution completion status (Required)
*/
ResultCode string `json:"resultCode"`
/**
* Execution result of individual operations specified in action. Only included when things.result.resultCode is success.
*/
ActionResults []ActionResult `json:"actionResults,omitempty"`
/**
* Data contained in notification.
*/
BleNotificationPayload string `json:"bleNotificationPayload,omitempty"`
/**
* Error reason.
*/
ErrorReason string `json:"errorReason,omitempty"`
}
ScenarioResult ScenarioResult https://developers.line.biz/en/reference/messaging-api/#scenario-result-event
type ScenarioResultThingsContent ¶
type ScenarioResultThingsContent struct {
ThingsContent
/**
* Device ID of the device that has been linked with LINE. (Required)
*/
DeviceId string `json:"deviceId"`
/**
* Get Result
*/
Result *ScenarioResult `json:"result"`
}
func (*ScenarioResultThingsContent) MarshalJSON ¶
func (r *ScenarioResultThingsContent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the ScenarioResultThingsContent struct.
type SourceInterface ¶
type SourceInterface interface {
GetType() string
}
func UnmarshalSource ¶
func UnmarshalSource(data []byte) (SourceInterface, error)
type StickerMessageContent ¶
type StickerMessageContent struct {
MessageContent
/**
* Message ID (Required)
*/
Id string `json:"id"`
/**
* Package ID (Required)
*/
PackageId string `json:"packageId"`
/**
* Sticker ID (Required)
*/
StickerId string `json:"stickerId"`
/**
* Get StickerResourceType
*/
StickerResourceType StickerMessageContentSTICKER_RESOURCE_TYPE `json:"stickerResourceType"`
/**
* Array of up to 15 keywords describing the sticker. If a sticker has 16 or more keywords, a random selection of 15 keywords will be returned. The keyword selection is random for each event, so different keywords may be returned for the same sticker.
*/
Keywords []string `json:"keywords"`
/**
* Any text entered by the user. This property is only included for message stickers. Max character limit: 100
*/
Text string `json:"text,omitempty"`
/**
* Quote token to quote this message. (Required)
*/
QuoteToken string `json:"quoteToken"`
/**
* Message ID of a quoted message. Only included when the received message quotes a past message.
*/
QuotedMessageId string `json:"quotedMessageId,omitempty"`
}
StickerMessageContent StickerMessageContent https://developers.line.biz/en/reference/messaging-api/#wh-sticker
func (*StickerMessageContent) MarshalJSON ¶
func (r *StickerMessageContent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the StickerMessageContent struct.
type StickerMessageContentSTICKER_RESOURCE_TYPE ¶
type StickerMessageContentSTICKER_RESOURCE_TYPE string
const ( StickerMessageContentSTICKER_RESOURCE_TYPE_STATIC StickerMessageContentSTICKER_RESOURCE_TYPE = "STATIC" StickerMessageContentSTICKER_RESOURCE_TYPE_ANIMATION StickerMessageContentSTICKER_RESOURCE_TYPE = "ANIMATION" StickerMessageContentSTICKER_RESOURCE_TYPE_SOUND StickerMessageContentSTICKER_RESOURCE_TYPE = "SOUND" StickerMessageContentSTICKER_RESOURCE_TYPE_ANIMATION_SOUND StickerMessageContentSTICKER_RESOURCE_TYPE = "ANIMATION_SOUND" StickerMessageContentSTICKER_RESOURCE_TYPE_POPUP StickerMessageContentSTICKER_RESOURCE_TYPE = "POPUP" StickerMessageContentSTICKER_RESOURCE_TYPE_POPUP_SOUND StickerMessageContentSTICKER_RESOURCE_TYPE = "POPUP_SOUND" StickerMessageContentSTICKER_RESOURCE_TYPE_CUSTOM StickerMessageContentSTICKER_RESOURCE_TYPE = "CUSTOM" StickerMessageContentSTICKER_RESOURCE_TYPE_MESSAGE StickerMessageContentSTICKER_RESOURCE_TYPE = "MESSAGE" StickerMessageContentSTICKER_RESOURCE_TYPE_NAME_TEXT StickerMessageContentSTICKER_RESOURCE_TYPE = "NAME_TEXT" StickerMessageContentSTICKER_RESOURCE_TYPE_PER_STICKER_TEXT StickerMessageContentSTICKER_RESOURCE_TYPE = "PER_STICKER_TEXT" )
StickerMessageContentSTICKER_RESOURCE_TYPE constants
type TextMessageContent ¶
type TextMessageContent struct {
MessageContent
/**
* Message ID (Required)
*/
Id string `json:"id"`
/**
* Message text. (Required)
*/
Text string `json:"text"`
/**
* Array of one or more LINE emoji objects. Only included in the message event when the text property contains a LINE emoji.
*/
Emojis []Emoji `json:"emojis,omitempty"`
/**
* Get Mention
*/
Mention *Mention `json:"mention,omitempty"`
/**
* Quote token to quote this message. (Required)
*/
QuoteToken string `json:"quoteToken"`
/**
* Message ID of a quoted message. Only included when the received message quotes a past message.
*/
QuotedMessageId string `json:"quotedMessageId,omitempty"`
}
func (*TextMessageContent) MarshalJSON ¶
func (r *TextMessageContent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the TextMessageContent struct.
type ThingsContent ¶
type ThingsContent struct {
Type string `json:"type"`
}
func (ThingsContent) GetType ¶
func (e ThingsContent) GetType() string
type ThingsContentInterface ¶
type ThingsContentInterface interface {
GetType() string
}
func UnmarshalThingsContent ¶
func UnmarshalThingsContent(data []byte) (ThingsContentInterface, error)
type ThingsEvent ¶
type ThingsEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
/**
* Reply token used to send reply message to this event (Required)
*/
ReplyToken string `json:"replyToken"`
/**
* Get Things
*/
Things ThingsContentInterface `json:"things"`
}
func (*ThingsEvent) MarshalJSON ¶
func (r *ThingsEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the ThingsEvent struct.
func (*ThingsEvent) UnmarshalJSON ¶
func (cr *ThingsEvent) UnmarshalJSON(data []byte) error
type UnfollowEvent ¶
type UnfollowEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
}
func (*UnfollowEvent) MarshalJSON ¶
func (r *UnfollowEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the UnfollowEvent struct.
func (*UnfollowEvent) UnmarshalJSON ¶
func (cr *UnfollowEvent) UnmarshalJSON(data []byte) error
type UnknownEvent ¶
type UnknownEvent struct {
EventInterface
Type string
Raw map[string]json.RawMessage
}
func (UnknownEvent) GetType ¶
func (e UnknownEvent) GetType() string
type UnknownMentionee ¶
type UnknownMentionee struct {
MentioneeInterface
Type string
Raw map[string]json.RawMessage
}
func (UnknownMentionee) GetType ¶
func (e UnknownMentionee) GetType() string
type UnknownMessageContent ¶
type UnknownMessageContent struct {
MessageContentInterface
Type string
Raw map[string]json.RawMessage
}
func (UnknownMessageContent) GetType ¶
func (e UnknownMessageContent) GetType() string
type UnknownModuleContent ¶
type UnknownModuleContent struct {
ModuleContentInterface
Type string
Raw map[string]json.RawMessage
}
func (UnknownModuleContent) GetType ¶
func (e UnknownModuleContent) GetType() string
type UnknownSource ¶
type UnknownSource struct {
SourceInterface
Type string
Raw map[string]json.RawMessage
}
func (UnknownSource) GetType ¶
func (e UnknownSource) GetType() string
type UnknownThingsContent ¶
type UnknownThingsContent struct {
ThingsContentInterface
Type string
Raw map[string]json.RawMessage
}
func (UnknownThingsContent) GetType ¶
func (e UnknownThingsContent) GetType() string
type UnlinkThingsContent ¶
type UnlinkThingsContent struct {
ThingsContent
/**
* Device ID of the device that has been linked with LINE. (Required)
*/
DeviceId string `json:"deviceId"`
}
func (*UnlinkThingsContent) MarshalJSON ¶
func (r *UnlinkThingsContent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the UnlinkThingsContent struct.
type UnsendDetail ¶
type UnsendDetail struct {
/**
* The message ID of the unsent message (Required)
*/
MessageId string `json:"messageId"`
}
type UnsendEvent ¶
type UnsendEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
/**
* Get Unsend
*/
Unsend *UnsendDetail `json:"unsend"`
}
func (*UnsendEvent) MarshalJSON ¶
func (r *UnsendEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the UnsendEvent struct.
func (*UnsendEvent) UnmarshalJSON ¶
func (cr *UnsendEvent) UnmarshalJSON(data []byte) error
type UserMentionee ¶
type UserMentionee struct {
Mentionee
/**
* Index position of the user mention for a character in text, with the first character being at position 0. (Required)
*/
Index int32 `json:"index"`
/**
* The length of the text of the mentioned user. For a mention @example, 8 is the length. (Required)
*/
Length int32 `json:"length"`
/**
* User ID of the mentioned user. Only included if mention.mentions[].type is user and the user consents to the LINE Official Account obtaining their user profile information.
*/
UserId string `json:"userId,omitempty"`
/**
* Whether the mentioned user is the bot that receives the webhook.
*/
IsSelf bool `json:"isSelf"`
}
func (*UserMentionee) MarshalJSON ¶
func (r *UserMentionee) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the UserMentionee struct.
type UserSource ¶
type UserSource struct {
Source
/**
* ID of the source user
*/
UserId string `json:"userId,omitempty"`
}
func (*UserSource) MarshalJSON ¶
func (r *UserSource) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the UserSource struct.
type VideoMessageContent ¶
type VideoMessageContent struct {
MessageContent
/**
* Message ID (Required)
*/
Id string `json:"id"`
/**
* Length of video file (milliseconds)
*/
Duration int64 `json:"duration"`
/**
* Get ContentProvider
*/
ContentProvider *ContentProvider `json:"contentProvider"`
/**
* Quote token to quote this message. (Required)
*/
QuoteToken string `json:"quoteToken"`
}
func (*VideoMessageContent) MarshalJSON ¶
func (r *VideoMessageContent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the VideoMessageContent struct.
type VideoPlayComplete ¶
type VideoPlayComplete struct {
/**
* ID used to identify a video. Returns the same value as the trackingId assigned to the video message. (Required)
*/
TrackingId string `json:"trackingId"`
}
type VideoPlayCompleteEvent ¶
type VideoPlayCompleteEvent struct {
Event
/**
* Get Source
*/
Source SourceInterface `json:"source,omitempty"`
/**
* Time of the event in milliseconds. (Required)
*/
Timestamp int64 `json:"timestamp"`
/**
* Get Mode
*/
Mode EventMode `json:"mode"`
/**
* Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. (Required)
*/
WebhookEventId string `json:"webhookEventId"`
/**
* Get DeliveryContext
*/
DeliveryContext *DeliveryContext `json:"deliveryContext"`
/**
* Reply token used to send reply message to this event (Required)
*/
ReplyToken string `json:"replyToken"`
/**
* Get VideoPlayComplete
*/
VideoPlayComplete *VideoPlayComplete `json:"videoPlayComplete"`
}
func (*VideoPlayCompleteEvent) MarshalJSON ¶
func (r *VideoPlayCompleteEvent) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON serialization of the VideoPlayCompleteEvent struct.
func (*VideoPlayCompleteEvent) UnmarshalJSON ¶
func (cr *VideoPlayCompleteEvent) UnmarshalJSON(data []byte) error
type WebhookHandler ¶
type WebhookHandler struct {
// contains filtered or unexported fields
}
WebhookHandler type
func NewWebhookHandler ¶
func NewWebhookHandler(channelSecret string) (*WebhookHandler, error)
New returns a new WebhookHandler instance.
func (*WebhookHandler) HandleError ¶
func (wh *WebhookHandler) HandleError(f ErrorHandlerFunc)
HandleError method
func (*WebhookHandler) HandleEvents ¶
func (wh *WebhookHandler) HandleEvents(f EventsHandlerFunc)
HandleEvents method
func (*WebhookHandler) ServeHTTP ¶
func (wh *WebhookHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
Source Files
¶
- httphandler.go
- model_account_link_event.go
- model_action_result.go
- model_activated_event.go
- model_all_mentionee.go
- model_attached_module_content.go
- model_audio_message_content.go
- model_beacon_content.go
- model_beacon_event.go
- model_bot_resumed_event.go
- model_bot_suspended_event.go
- model_callback_request.go
- model_chat_control.go
- model_content_provider.go
- model_deactivated_event.go
- model_delivery_context.go
- model_detached_module_content.go
- model_emoji.go
- model_event.go
- model_event_mode.go
- model_file_message_content.go
- model_follow_detail.go
- model_follow_event.go
- model_group_source.go
- model_image_message_content.go
- model_image_set.go
- model_join_event.go
- model_joined_members.go
- model_leave_event.go
- model_left_members.go
- model_link_content.go
- model_link_things_content.go
- model_location_message_content.go
- model_member_joined_event.go
- model_member_left_event.go
- model_mention.go
- model_mentionee.go
- model_message_content.go
- model_message_event.go
- model_module_content.go
- model_module_event.go
- model_pnp_delivery.go
- model_pnp_delivery_completion_event.go
- model_postback_content.go
- model_postback_event.go
- model_room_source.go
- model_scenario_result.go
- model_scenario_result_things_content.go
- model_source.go
- model_sticker_message_content.go
- model_text_message_content.go
- model_things_content.go
- model_things_event.go
- model_unfollow_event.go
- model_unlink_things_content.go
- model_unsend_detail.go
- model_unsend_event.go
- model_user_mentionee.go
- model_user_source.go
- model_video_message_content.go
- model_video_play_complete.go
- model_video_play_complete_event.go
- parse.go