Documentation ¶
Index ¶
- Constants
- func LocalId() string
- func ReplyTime() int64
- func ReplyTimeStr() string
- func StartTime() string
- type Attachment
- type Attributes
- type BaseSocketType
- type DataResp
- type DataSend
- type EmitEventSocket
- type EventCode
- type EventType
- type Extras
- type ExtrasProduct
- type FallbackAttachment
- type FreeOngkir
- type LocationStock
- type Message
- type MessageId
- type MessageResp
- type ParentReply
- type Payload
- type ProductProfile
- type RcvChat
- type RcvEventSocket
- type ReaduserChat
- type ReminderTicker
- type SendChat
- type Session
- type SocketClient
- type SocketEventhandler
Constants ¶
View Source
const ( ReadUserChatEvent = 301 ChatEvent = 103 )
Variables ¶
This section is empty.
Functions ¶
func ReplyTimeStr ¶
func ReplyTimeStr() string
Types ¶
type Attachment ¶
type Attachment struct { Attributes Attributes `json:"attributes"` FallbackAttachment FallbackAttachment `json:"fallback_attachment"` Id int64 `json:"id"` Type int64 `json:"type"` }
type Attributes ¶
type Attributes struct { ProductId int64 `json:"product_id,omitempty"` ProductProfile ProductProfile `json:"product_profile,omitempty"` Source string `json:"source,omitempty"` StickerProfile *Payload `json:"sticker_profile,omitempty"` }
type BaseSocketType ¶
type BaseSocketType struct { Code uint `json:"code"` Data interface{} `json:"data"` }
type DataResp ¶
type DataResp struct { MsgId uint `json:"msg_id"` From string `json:"from,omitempty"` FromUid string `json:"from_uid,omitempty"` FromUserName string `json:"from_user_name,omitempty"` FromRole string `json:"from_role,omitempty"` ReminderTicker any `json:"reminder_ticker,omitempty"` IsOpposite bool `json:"is_opposite,omitempty"` ToUid uint `json:"to_uid,omitempty"` ClientConnectTime string `json:"client_connect_time,omitempty"` Thumbnail string `json:"thumbnail,omitempty"` Message *MessageResp `json:"message,omitempty"` StartTime string `json:"start_time,omitempty"` ShowRating bool `json:"show_rating,omitempty"` LocalId string `json:"local_id,omitempty"` Source string `json:"source,omitempty"` ParentReply *ParentReply `json:"parent_reply,omitempty"` AttachmentId int64 `json:"attachment_id,omitempty"` Attachment *Attachment `json:"attachment,omitempty"` Extras *ExtrasProduct `json:"extras_product,omitempty"` }
type DataSend ¶
type DataSend struct { MessageId uint `json:"message_id"` Message string `json:"message,omitempty"` StartTime string `json:"start_time,omitempty"` ParentReply *ParentReply `json:"parent_reply,omitempty"` From string `json:"from,omitempty"` FromUserName string `json:"from_user_name,omitempty"` LocalId string `json:"local_id,omitempty"` Source string `json:"source,omitempty"` AttachmentType int64 `json:"attachment_type,omitempty"` ProductProfile *ProductProfile `json:"product_profile,omitempty"` Payload *Payload `json:"payload,omitempty"` Extras *Extras `json:"extras,omitempty"` FilePath string `json:"file_path,omitempty"` }
type EmitEventSocket ¶
type EmitEventSocket struct { *EventCode Data interface{} `json:"data"` }
func (*EmitEventSocket) UnmarshalJSON ¶
func (event *EmitEventSocket) UnmarshalJSON(data []byte) error
type Extras ¶
type Extras struct {
ExtrasProduct []ExtrasProduct `json:"extras_product"`
}
type ExtrasProduct ¶
type FallbackAttachment ¶
type FreeOngkir ¶
type LocationStock ¶
type LocationStock struct { Addressid int64 `json:"address_id"` DistrictId int64 `json:"district_id"` DistrictName string `json:"district_name"` DistrictIcon string `json:"district_icon"` DistrictNameFullText string `json:"district_name_full_text"` PostalCode string `json:"postal_code"` Latlon string `json:"latlon"` }
type MessageResp ¶
type MessageResp struct { CensoredReply string `json:"censored_reply,omitempty"` OriginalReply string `json:"original_reply,omitempty"` Timestamp string `json:"timestamp,omitempty"` TimestampFmt string `json:"timestamp_fmt,omitempty"` TimestampUnix uint `json:"timestamp_unix,omitempty"` TimestampUnixNano uint `json:"timestamp_unix_nano,omitempty"` }
type ParentReply ¶
type ParentReply struct { AttachmentId int64 `json:"attachment_id"` AttachmentType int64 `json:"attachment_type"` SenderId int64 `json:"sender_id"` Name string `json:"string"` ReplyTime int64 `json:"reply_time"` ReplyTimeString string `json:"reply_time_string"` MainText string `json:"main_text"` Source string `json:"inbox"` }
type ProductProfile ¶
type ProductProfile struct { ImageUrl string `json:"image_url"` Name string `json:"name"` ParentId int64 `json:"parent_id"` Price string `json:"price"` PriceInt int64 `json:"price_int"` Url string `json:"url"` AndroidUrl string `json:"android_url"` IosUrl string `json:"ios_url"` IsUpcomingCampaignProduct bool `json:"is_upcoming_campaign_product"` PlayStoreProductData interface{} `json:"playstore_product_data"` ShopId int64 `json:"shop_id"` Status int64 `json:"status"` MinOrder int64 `json:"mmin_order"` Categoryid int64 `json:"category_id"` RemainingStock int64 `json:"remaining_stock"` CategoryBreadCrumb string `json:"category_breadcrumb"` ListImageUrl []string `json:"list_image_url"` Variant []interface{} `json:"variant"` Wishlist bool `json:"wishlist"` FreeOngkir FreeOngkir `json:"free_ongkir"` Rating interface{} `json:"rating"` IsFulfillment bool `json:"is_fulfillment"` IconTokoCabang string `json:"icon_tokocabang"` DescTokoCabang string `json:"desc_tokocabang"` StockInfo interface{} `json:"stock_info"` LocationStock LocationStock `json:"location_stock"` Type string `json:"type"` DefaultChild int64 `json:"defaultChild"` Id int64 `json:"id"` DropPercentage string `json:"dropPercentage"` PriceBefore string `json:"priceBefore"` Text string `json:"text"` }
type RcvChat ¶
type RcvChat struct { MsgID int64 `json:"msg_id"` From string `json:"from"` FromUID int `json:"from_uid"` FromUserName string `json:"from_user_name"` FromRole string `json:"from_role"` Thumbnail string `json:"thumbnail"` ReminderTicker ReminderTicker `json:"reminder_ticker"` IsOpposite bool `json:"is_opposite"` ToUID int `json:"to_uid"` Message Message `json:"message"` StartTime time.Time `json:"start_time"` ShowRating bool `json:"show_rating"` LocalID string `json:"local_id"` ClientConnectTime time.Time `json:"client_connect_time"` Source string `json:"source"` }
type RcvEventSocket ¶
type RcvEventSocket struct { *EventCode Data interface{} `json:"data"` }
func (*RcvEventSocket) UnmarshalJSON ¶
func (event *RcvEventSocket) UnmarshalJSON(data []byte) error
type ReaduserChat ¶
type ReaduserChat struct {
MsgID int64 `json:"msg_id"`
}
type ReminderTicker ¶
type ReminderTicker struct { Enable bool `json:"enable"` EnableClose bool `json:"enable_close"` FeatureID int `json:"feature_id"` LocalID string `json:"local_id"` MainText string `json:"main_text"` RegexMessage string `json:"regex_message"` SubText string `json:"sub_text"` TickerType string `json:"ticker_type"` URL string `json:"url"` URLLabel string `json:"url_label"` }
type SendChat ¶
type SendChat struct { MessageID int64 `json:"message_id"` Message string `json:"message"` StartTime time.Time `json:"start_time"` ParentReply any `json:"parent_reply"` From string `json:"from"` FromUserName string `json:"from_user_name"` Source string `json:"source"` LocalID string `json:"local_id"` }
type SocketClient ¶
type SocketClient struct { sync.Mutex Api *api.TokopediaApi Ctx context.Context Session Session Con *websocket.Conn }
func NewSocketClient ¶
func NewSocketClient(api *api.TokopediaApi) *SocketClient
func (*SocketClient) Connect ¶
func (socket *SocketClient) Connect(ctx context.Context, eventhandler SocketEventhandler)
func (*SocketClient) EmitEvent ¶
func (socket *SocketClient) EmitEvent(event *EmitEventSocket) error
func (*SocketClient) ListenData ¶
func (socket *SocketClient) ListenData(eventhandler SocketEventhandler)
func (*SocketClient) SendEvent ¶
func (sClient *SocketClient) SendEvent(payload interface{}) error
type SocketEventhandler ¶
type SocketEventhandler func(socket *SocketClient, event *RcvEventSocket) error
Click to show internal directories.
Click to hide internal directories.