v1

package
v1.1.38 Latest Latest
Warning

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

Go to latest
Published: May 20, 2021 License: MIT Imports: 9 Imported by: 1

Documentation

Overview

Code generated by lark suite oapi sdk gen

Code generated by lark suite oapi sdk gen

Code generated by lark suite oapi sdk gen

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SetChatDisbandedEventHandler

func SetChatDisbandedEventHandler(conf *config.Config, fn func(ctx *core.Context, event *ChatDisbandedEvent) error)

func SetChatMemberBotAddedEventHandler

func SetChatMemberBotAddedEventHandler(conf *config.Config, fn func(ctx *core.Context, event *ChatMemberBotAddedEvent) error)

func SetChatMemberBotDeletedEventHandler

func SetChatMemberBotDeletedEventHandler(conf *config.Config, fn func(ctx *core.Context, event *ChatMemberBotDeletedEvent) error)

func SetChatMemberUserAddedEventHandler

func SetChatMemberUserAddedEventHandler(conf *config.Config, fn func(ctx *core.Context, event *ChatMemberUserAddedEvent) error)

func SetChatMemberUserDeletedEventHandler

func SetChatMemberUserDeletedEventHandler(conf *config.Config, fn func(ctx *core.Context, event *ChatMemberUserDeletedEvent) error)

func SetChatMemberUserWithdrawnEventHandler

func SetChatMemberUserWithdrawnEventHandler(conf *config.Config, fn func(ctx *core.Context, event *ChatMemberUserWithdrawnEvent) error)

func SetChatUpdatedEventHandler

func SetChatUpdatedEventHandler(conf *config.Config, fn func(ctx *core.Context, event *ChatUpdatedEvent) error)

func SetMessageAtMessageReadEventHandler

func SetMessageAtMessageReadEventHandler(conf *config.Config, fn func(ctx *core.Context, event *MessageAtMessageReadEvent) error)

func SetMessageMessageReadEventHandler

func SetMessageMessageReadEventHandler(conf *config.Config, fn func(ctx *core.Context, event *MessageMessageReadEvent) error)

func SetMessageReceiveEventHandler

func SetMessageReceiveEventHandler(conf *config.Config, fn func(ctx *core.Context, event *MessageReceiveEvent) error)

Types

type Chat

type Chat struct {
	ChatId         string     `json:"chat_id,omitempty"`
	Avatar         string     `json:"avatar,omitempty"`
	Name           string     `json:"name,omitempty"`
	Description    string     `json:"description,omitempty"`
	I18nNames      *I18nNames `json:"i18n_names,omitempty"`
	OnlyOwnerAdd   bool       `json:"only_owner_add,omitempty"`
	ShareAllowed   bool       `json:"share_allowed,omitempty"`
	OnlyOwnerAtAll bool       `json:"only_owner_at_all,omitempty"`
	OnlyOwnerEdit  bool       `json:"only_owner_edit,omitempty"`
	OwnerUserId    string     `json:"owner_user_id,omitempty"`
	Type           string     `json:"type,omitempty"`

	ForceSendFields []string `json:"-"`
}

func (*Chat) MarshalJSON

func (s *Chat) MarshalJSON() ([]byte, error)

type ChatAnnouncement

type ChatAnnouncement struct {
}

type ChatAnnouncementGetReqCall

type ChatAnnouncementGetReqCall struct {
	// contains filtered or unexported fields
}

func (*ChatAnnouncementGetReqCall) Do

func (*ChatAnnouncementGetReqCall) SetChatId

func (rc *ChatAnnouncementGetReqCall) SetChatId(chatId string)

func (*ChatAnnouncementGetReqCall) SetUserIdType

func (rc *ChatAnnouncementGetReqCall) SetUserIdType(userIdType string)

type ChatAnnouncementGetResult

type ChatAnnouncementGetResult struct {
	Content        string `json:"content,omitempty"`
	Revision       string `json:"revision,omitempty"`
	CreateTime     string `json:"create_time,omitempty"`
	UpdateTime     string `json:"update_time,omitempty"`
	OwnerIdType    string `json:"owner_id_type,omitempty"`
	OwnerId        string `json:"owner_id,omitempty"`
	ModifierIdType string `json:"modifier_id_type,omitempty"`
	ModifierId     string `json:"modifier_id,omitempty"`
}

type ChatAnnouncementPatchReqBody

type ChatAnnouncementPatchReqBody struct {
	Revision        string   `json:"revision,omitempty"`
	Requests        []string `json:"requests,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*ChatAnnouncementPatchReqBody) MarshalJSON

func (s *ChatAnnouncementPatchReqBody) MarshalJSON() ([]byte, error)

type ChatAnnouncementPatchReqCall

type ChatAnnouncementPatchReqCall struct {
	// contains filtered or unexported fields
}

func (*ChatAnnouncementPatchReqCall) Do

func (*ChatAnnouncementPatchReqCall) SetChatId

func (rc *ChatAnnouncementPatchReqCall) SetChatId(chatId string)

type ChatAnnouncementService

type ChatAnnouncementService struct {
	// contains filtered or unexported fields
}

func (*ChatAnnouncementService) Get

func (chatAnnouncements *ChatAnnouncementService) Get(ctx *core.Context, optFns ...request.OptFn) *ChatAnnouncementGetReqCall

func (*ChatAnnouncementService) Patch

type ChatChange

type ChatChange struct {
	Avatar                 string     `json:"avatar,omitempty"`
	Name                   string     `json:"name,omitempty"`
	Description            string     `json:"description,omitempty"`
	I18nNames              *I18nNames `json:"i18n_names,omitempty"`
	AddMemberPermission    string     `json:"add_member_permission,omitempty"`
	ShareCardPermission    string     `json:"share_card_permission,omitempty"`
	AtAllPermission        string     `json:"at_all_permission,omitempty"`
	EditPermission         string     `json:"edit_permission,omitempty"`
	MembershipApproval     string     `json:"membership_approval,omitempty"`
	JoinMessageVisibility  string     `json:"join_message_visibility,omitempty"`
	LeaveMessageVisibility string     `json:"leave_message_visibility,omitempty"`
	ModerationPermission   string     `json:"moderation_permission,omitempty"`
	OwnerId                *UserId    `json:"owner_id,omitempty"`

	ForceSendFields []string `json:"-"`
}

func (*ChatChange) MarshalJSON

func (s *ChatChange) MarshalJSON() ([]byte, error)

type ChatCreateReqBody

type ChatCreateReqBody struct {
	Avatar                 string     `json:"avatar,omitempty"`
	Name                   string     `json:"name,omitempty"`
	Description            string     `json:"description,omitempty"`
	I18nNames              *I18nNames `json:"i18n_names,omitempty"`
	OwnerId                string     `json:"owner_id,omitempty"`
	ChatMode               string     `json:"chat_mode,omitempty"`
	ChatType               string     `json:"chat_type,omitempty"`
	External               bool       `json:"external,omitempty"`
	JoinMessageVisibility  string     `json:"join_message_visibility,omitempty"`
	LeaveMessageVisibility string     `json:"leave_message_visibility,omitempty"`
	MembershipApproval     string     `json:"membership_approval,omitempty"`

	ForceSendFields []string `json:"-"`
}

func (*ChatCreateReqBody) MarshalJSON

func (s *ChatCreateReqBody) MarshalJSON() ([]byte, error)

type ChatCreateReqCall

type ChatCreateReqCall struct {
	// contains filtered or unexported fields
}

func (*ChatCreateReqCall) Do

func (*ChatCreateReqCall) SetUserIdType

func (rc *ChatCreateReqCall) SetUserIdType(userIdType string)

type ChatCreateResult

type ChatCreateResult struct {
	ChatId                 string     `json:"chat_id,omitempty"`
	Avatar                 string     `json:"avatar,omitempty"`
	Name                   string     `json:"name,omitempty"`
	Description            string     `json:"description,omitempty"`
	I18nNames              *I18nNames `json:"i18n_names,omitempty"`
	OwnerId                string     `json:"owner_id,omitempty"`
	OwnerIdType            string     `json:"owner_id_type,omitempty"`
	AddMemberPermission    string     `json:"add_member_permission,omitempty"`
	ShareCardPermission    string     `json:"share_card_permission,omitempty"`
	AtAllPermission        string     `json:"at_all_permission,omitempty"`
	EditPermission         string     `json:"edit_permission,omitempty"`
	ChatMode               string     `json:"chat_mode,omitempty"`
	ChatType               string     `json:"chat_type,omitempty"`
	ChatTag                string     `json:"chat_tag,omitempty"`
	External               bool       `json:"external,omitempty"`
	TenantKey              string     `json:"tenant_key,omitempty"`
	JoinMessageVisibility  string     `json:"join_message_visibility,omitempty"`
	LeaveMessageVisibility string     `json:"leave_message_visibility,omitempty"`
	MembershipApproval     string     `json:"membership_approval,omitempty"`
	ModerationPermission   string     `json:"moderation_permission,omitempty"`
}

type ChatDeleteReqCall

type ChatDeleteReqCall struct {
	// contains filtered or unexported fields
}

func (*ChatDeleteReqCall) Do

func (rc *ChatDeleteReqCall) Do() (*response.NoData, error)

func (*ChatDeleteReqCall) SetChatId

func (rc *ChatDeleteReqCall) SetChatId(chatId string)

type ChatDisbandedEvent

type ChatDisbandedEvent struct {
	*model.BaseEventV2
	Event *ChatDisbandedEventData `json:"event"`
}

type ChatDisbandedEventData

type ChatDisbandedEventData struct {
	ChatId            string  `json:"chat_id,omitempty"`
	OperatorId        *UserId `json:"operator_id,omitempty"`
	External          bool    `json:"external,omitempty"`
	OperatorTenantKey string  `json:"operator_tenant_key,omitempty"`
}

type ChatDisbandedEventHandler

type ChatDisbandedEventHandler struct {
	Fn func(*core.Context, *ChatDisbandedEvent) error
}

func (*ChatDisbandedEventHandler) GetEvent

func (h *ChatDisbandedEventHandler) GetEvent() interface{}

func (*ChatDisbandedEventHandler) Handle

func (h *ChatDisbandedEventHandler) Handle(ctx *core.Context, event interface{}) error

type ChatGetReqCall

type ChatGetReqCall struct {
	// contains filtered or unexported fields
}

func (*ChatGetReqCall) Do

func (rc *ChatGetReqCall) Do() (*ChatGetResult, error)

func (*ChatGetReqCall) SetChatId

func (rc *ChatGetReqCall) SetChatId(chatId string)

func (*ChatGetReqCall) SetUserIdType

func (rc *ChatGetReqCall) SetUserIdType(userIdType string)

type ChatGetResult

type ChatGetResult struct {
	Avatar                 string     `json:"avatar,omitempty"`
	Name                   string     `json:"name,omitempty"`
	Description            string     `json:"description,omitempty"`
	I18nNames              *I18nNames `json:"i18n_names,omitempty"`
	AddMemberPermission    string     `json:"add_member_permission,omitempty"`
	ShareCardPermission    string     `json:"share_card_permission,omitempty"`
	AtAllPermission        string     `json:"at_all_permission,omitempty"`
	EditPermission         string     `json:"edit_permission,omitempty"`
	OwnerIdType            string     `json:"owner_id_type,omitempty"`
	OwnerId                string     `json:"owner_id,omitempty"`
	ChatMode               string     `json:"chat_mode,omitempty"`
	ChatType               string     `json:"chat_type,omitempty"`
	ChatTag                string     `json:"chat_tag,omitempty"`
	JoinMessageVisibility  string     `json:"join_message_visibility,omitempty"`
	LeaveMessageVisibility string     `json:"leave_message_visibility,omitempty"`
	MembershipApproval     string     `json:"membership_approval,omitempty"`
	ModerationPermission   string     `json:"moderation_permission,omitempty"`
	External               bool       `json:"external,omitempty"`
	TenantKey              string     `json:"tenant_key,omitempty"`
}

type ChatListReqCall

type ChatListReqCall struct {
	// contains filtered or unexported fields
}

func (*ChatListReqCall) Do

func (rc *ChatListReqCall) Do() (*ChatListResult, error)

func (*ChatListReqCall) SetPageSize

func (rc *ChatListReqCall) SetPageSize(pageSize int)

func (*ChatListReqCall) SetPageToken

func (rc *ChatListReqCall) SetPageToken(pageToken string)

func (*ChatListReqCall) SetUserIdType

func (rc *ChatListReqCall) SetUserIdType(userIdType string)

type ChatListResult

type ChatListResult struct {
	Items     []*ListChat `json:"items,omitempty"`
	PageToken string      `json:"page_token,omitempty"`
	HasMore   bool        `json:"has_more,omitempty"`
}

type ChatMember

type ChatMember struct {
	UserId          string   `json:"user_id,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*ChatMember) MarshalJSON

func (s *ChatMember) MarshalJSON() ([]byte, error)

type ChatMemberBot

type ChatMemberBot struct {
	BotId           string   `json:"bot_id,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*ChatMemberBot) MarshalJSON

func (s *ChatMemberBot) MarshalJSON() ([]byte, error)

type ChatMemberBotAddedEvent

type ChatMemberBotAddedEvent struct {
	*model.BaseEventV2
	Event *ChatMemberBotAddedEventData `json:"event"`
}

type ChatMemberBotAddedEventData

type ChatMemberBotAddedEventData struct {
	ChatId            string  `json:"chat_id,omitempty"`
	OperatorId        *UserId `json:"operator_id,omitempty"`
	External          bool    `json:"external,omitempty"`
	OperatorTenantKey string  `json:"operator_tenant_key,omitempty"`
}

type ChatMemberBotAddedEventHandler

type ChatMemberBotAddedEventHandler struct {
	Fn func(*core.Context, *ChatMemberBotAddedEvent) error
}

func (*ChatMemberBotAddedEventHandler) GetEvent

func (h *ChatMemberBotAddedEventHandler) GetEvent() interface{}

func (*ChatMemberBotAddedEventHandler) Handle

func (h *ChatMemberBotAddedEventHandler) Handle(ctx *core.Context, event interface{}) error

type ChatMemberBotDeletedEvent

type ChatMemberBotDeletedEvent struct {
	*model.BaseEventV2
	Event *ChatMemberBotDeletedEventData `json:"event"`
}

type ChatMemberBotDeletedEventData

type ChatMemberBotDeletedEventData struct {
	ChatId            string  `json:"chat_id,omitempty"`
	OperatorId        *UserId `json:"operator_id,omitempty"`
	External          bool    `json:"external,omitempty"`
	OperatorTenantKey string  `json:"operator_tenant_key,omitempty"`
}

type ChatMemberBotDeletedEventHandler

type ChatMemberBotDeletedEventHandler struct {
	Fn func(*core.Context, *ChatMemberBotDeletedEvent) error
}

func (*ChatMemberBotDeletedEventHandler) GetEvent

func (h *ChatMemberBotDeletedEventHandler) GetEvent() interface{}

func (*ChatMemberBotDeletedEventHandler) Handle

func (h *ChatMemberBotDeletedEventHandler) Handle(ctx *core.Context, event interface{}) error

type ChatMemberBotService

type ChatMemberBotService struct {
	// contains filtered or unexported fields
}

type ChatMemberUser

type ChatMemberUser struct {
	Name            string   `json:"name,omitempty"`
	TenantKey       string   `json:"tenant_key,omitempty"`
	UserId          *UserId  `json:"user_id,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*ChatMemberUser) MarshalJSON

func (s *ChatMemberUser) MarshalJSON() ([]byte, error)

type ChatMemberUserAddedEvent

type ChatMemberUserAddedEvent struct {
	*model.BaseEventV2
	Event *ChatMemberUserAddedEventData `json:"event"`
}

type ChatMemberUserAddedEventData

type ChatMemberUserAddedEventData struct {
	ChatId            string            `json:"chat_id,omitempty"`
	OperatorId        *UserId           `json:"operator_id,omitempty"`
	External          bool              `json:"external,omitempty"`
	OperatorTenantKey string            `json:"operator_tenant_key,omitempty"`
	Users             []*ChatMemberUser `json:"users,omitempty"`
}

type ChatMemberUserAddedEventHandler

type ChatMemberUserAddedEventHandler struct {
	Fn func(*core.Context, *ChatMemberUserAddedEvent) error
}

func (*ChatMemberUserAddedEventHandler) GetEvent

func (h *ChatMemberUserAddedEventHandler) GetEvent() interface{}

func (*ChatMemberUserAddedEventHandler) Handle

func (h *ChatMemberUserAddedEventHandler) Handle(ctx *core.Context, event interface{}) error

type ChatMemberUserDeletedEvent

type ChatMemberUserDeletedEvent struct {
	*model.BaseEventV2
	Event *ChatMemberUserDeletedEventData `json:"event"`
}

type ChatMemberUserDeletedEventData

type ChatMemberUserDeletedEventData struct {
	ChatId            string            `json:"chat_id,omitempty"`
	OperatorId        *UserId           `json:"operator_id,omitempty"`
	External          bool              `json:"external,omitempty"`
	OperatorTenantKey string            `json:"operator_tenant_key,omitempty"`
	Users             []*ChatMemberUser `json:"users,omitempty"`
}

type ChatMemberUserDeletedEventHandler

type ChatMemberUserDeletedEventHandler struct {
	Fn func(*core.Context, *ChatMemberUserDeletedEvent) error
}

func (*ChatMemberUserDeletedEventHandler) GetEvent

func (h *ChatMemberUserDeletedEventHandler) GetEvent() interface{}

func (*ChatMemberUserDeletedEventHandler) Handle

func (h *ChatMemberUserDeletedEventHandler) Handle(ctx *core.Context, event interface{}) error

type ChatMemberUserService

type ChatMemberUserService struct {
	// contains filtered or unexported fields
}

type ChatMemberUserWithdrawnEvent

type ChatMemberUserWithdrawnEvent struct {
	*model.BaseEventV2
	Event *ChatMemberUserWithdrawnEventData `json:"event"`
}

type ChatMemberUserWithdrawnEventData

type ChatMemberUserWithdrawnEventData struct {
	ChatId            string            `json:"chat_id,omitempty"`
	OperatorId        *UserId           `json:"operator_id,omitempty"`
	External          bool              `json:"external,omitempty"`
	OperatorTenantKey string            `json:"operator_tenant_key,omitempty"`
	Users             []*ChatMemberUser `json:"users,omitempty"`
}

type ChatMemberUserWithdrawnEventHandler

type ChatMemberUserWithdrawnEventHandler struct {
	Fn func(*core.Context, *ChatMemberUserWithdrawnEvent) error
}

func (*ChatMemberUserWithdrawnEventHandler) GetEvent

func (h *ChatMemberUserWithdrawnEventHandler) GetEvent() interface{}

func (*ChatMemberUserWithdrawnEventHandler) Handle

func (h *ChatMemberUserWithdrawnEventHandler) Handle(ctx *core.Context, event interface{}) error

type ChatMembers

type ChatMembers struct {
	UserId          string   `json:"user_id,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*ChatMembers) MarshalJSON

func (s *ChatMembers) MarshalJSON() ([]byte, error)

type ChatMembersCreateReqBody

type ChatMembersCreateReqBody struct {
	IdList          []string `json:"id_list,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*ChatMembersCreateReqBody) MarshalJSON

func (s *ChatMembersCreateReqBody) MarshalJSON() ([]byte, error)

type ChatMembersCreateReqCall

type ChatMembersCreateReqCall struct {
	// contains filtered or unexported fields
}

func (*ChatMembersCreateReqCall) Do

func (*ChatMembersCreateReqCall) SetChatId

func (rc *ChatMembersCreateReqCall) SetChatId(chatId string)

func (*ChatMembersCreateReqCall) SetMemberIdType

func (rc *ChatMembersCreateReqCall) SetMemberIdType(memberIdType string)

type ChatMembersCreateResult

type ChatMembersCreateResult struct {
	InvalidIdList []string `json:"invalid_id_list,omitempty"`
}

type ChatMembersDeleteReqBody

type ChatMembersDeleteReqBody struct {
	IdList          []string `json:"id_list,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*ChatMembersDeleteReqBody) MarshalJSON

func (s *ChatMembersDeleteReqBody) MarshalJSON() ([]byte, error)

type ChatMembersDeleteReqCall

type ChatMembersDeleteReqCall struct {
	// contains filtered or unexported fields
}

func (*ChatMembersDeleteReqCall) Do

func (*ChatMembersDeleteReqCall) SetChatId

func (rc *ChatMembersDeleteReqCall) SetChatId(chatId string)

func (*ChatMembersDeleteReqCall) SetMemberIdType

func (rc *ChatMembersDeleteReqCall) SetMemberIdType(memberIdType string)

type ChatMembersDeleteResult

type ChatMembersDeleteResult struct {
	InvalidIdList []string `json:"invalid_id_list,omitempty"`
}

type ChatMembersGetReqCall

type ChatMembersGetReqCall struct {
	// contains filtered or unexported fields
}

func (*ChatMembersGetReqCall) Do

func (*ChatMembersGetReqCall) SetChatId

func (rc *ChatMembersGetReqCall) SetChatId(chatId string)

func (*ChatMembersGetReqCall) SetMemberIdType

func (rc *ChatMembersGetReqCall) SetMemberIdType(memberIdType string)

func (*ChatMembersGetReqCall) SetPageSize

func (rc *ChatMembersGetReqCall) SetPageSize(pageSize int)

func (*ChatMembersGetReqCall) SetPageToken

func (rc *ChatMembersGetReqCall) SetPageToken(pageToken string)

type ChatMembersGetResult

type ChatMembersGetResult struct {
	Items       []*ListMember `json:"items,omitempty"`
	PageToken   string        `json:"page_token,omitempty"`
	HasMore     bool          `json:"has_more,omitempty"`
	MemberTotal int           `json:"member_total,omitempty"`
}

type ChatMembersIsInChatReqCall

type ChatMembersIsInChatReqCall struct {
	// contains filtered or unexported fields
}

func (*ChatMembersIsInChatReqCall) Do

func (*ChatMembersIsInChatReqCall) SetChatId

func (rc *ChatMembersIsInChatReqCall) SetChatId(chatId string)

type ChatMembersIsInChatResult

type ChatMembersIsInChatResult struct {
	IsInChat bool `json:"is_in_chat,omitempty"`
}

type ChatMembersMeJoinReqCall

type ChatMembersMeJoinReqCall struct {
	// contains filtered or unexported fields
}

func (*ChatMembersMeJoinReqCall) Do

func (*ChatMembersMeJoinReqCall) SetChatId

func (rc *ChatMembersMeJoinReqCall) SetChatId(chatId string)

type ChatMembersService

type ChatMembersService struct {
	// contains filtered or unexported fields
}

func (*ChatMembersService) Create

func (chatMemberss *ChatMembersService) Create(ctx *core.Context, body *ChatMembersCreateReqBody, optFns ...request.OptFn) *ChatMembersCreateReqCall

func (*ChatMembersService) Delete

func (chatMemberss *ChatMembersService) Delete(ctx *core.Context, body *ChatMembersDeleteReqBody, optFns ...request.OptFn) *ChatMembersDeleteReqCall

func (*ChatMembersService) Get

func (chatMemberss *ChatMembersService) Get(ctx *core.Context, optFns ...request.OptFn) *ChatMembersGetReqCall

func (*ChatMembersService) IsInChat

func (chatMemberss *ChatMembersService) IsInChat(ctx *core.Context, optFns ...request.OptFn) *ChatMembersIsInChatReqCall

func (*ChatMembersService) MeJoin

func (chatMemberss *ChatMembersService) MeJoin(ctx *core.Context, optFns ...request.OptFn) *ChatMembersMeJoinReqCall

type ChatSearchReqCall

type ChatSearchReqCall struct {
	// contains filtered or unexported fields
}

func (*ChatSearchReqCall) Do

func (*ChatSearchReqCall) SetPageSize

func (rc *ChatSearchReqCall) SetPageSize(pageSize int)

func (*ChatSearchReqCall) SetPageToken

func (rc *ChatSearchReqCall) SetPageToken(pageToken string)

func (*ChatSearchReqCall) SetQuery

func (rc *ChatSearchReqCall) SetQuery(query string)

func (*ChatSearchReqCall) SetUserIdType

func (rc *ChatSearchReqCall) SetUserIdType(userIdType string)

type ChatSearchResult

type ChatSearchResult struct {
	Items     []*ListChat `json:"items,omitempty"`
	PageToken string      `json:"page_token,omitempty"`
	HasMore   bool        `json:"has_more,omitempty"`
}

type ChatService

type ChatService struct {
	// contains filtered or unexported fields
}

func (*ChatService) Create

func (chats *ChatService) Create(ctx *core.Context, body *ChatCreateReqBody, optFns ...request.OptFn) *ChatCreateReqCall

func (*ChatService) Delete

func (chats *ChatService) Delete(ctx *core.Context, optFns ...request.OptFn) *ChatDeleteReqCall

func (*ChatService) Get

func (chats *ChatService) Get(ctx *core.Context, optFns ...request.OptFn) *ChatGetReqCall

func (*ChatService) List

func (chats *ChatService) List(ctx *core.Context, optFns ...request.OptFn) *ChatListReqCall

func (*ChatService) Search

func (chats *ChatService) Search(ctx *core.Context, optFns ...request.OptFn) *ChatSearchReqCall

func (*ChatService) Update

func (chats *ChatService) Update(ctx *core.Context, body *ChatUpdateReqBody, optFns ...request.OptFn) *ChatUpdateReqCall

type ChatUpdateReqBody

type ChatUpdateReqBody struct {
	Avatar                 string     `json:"avatar,omitempty"`
	Name                   string     `json:"name,omitempty"`
	Description            string     `json:"description,omitempty"`
	I18nNames              *I18nNames `json:"i18n_names,omitempty"`
	AddMemberPermission    string     `json:"add_member_permission,omitempty"`
	ShareCardPermission    string     `json:"share_card_permission,omitempty"`
	AtAllPermission        string     `json:"at_all_permission,omitempty"`
	EditPermission         string     `json:"edit_permission,omitempty"`
	OwnerId                string     `json:"owner_id,omitempty"`
	JoinMessageVisibility  string     `json:"join_message_visibility,omitempty"`
	LeaveMessageVisibility string     `json:"leave_message_visibility,omitempty"`
	MembershipApproval     string     `json:"membership_approval,omitempty"`

	ForceSendFields []string `json:"-"`
}

func (*ChatUpdateReqBody) MarshalJSON

func (s *ChatUpdateReqBody) MarshalJSON() ([]byte, error)

type ChatUpdateReqCall

type ChatUpdateReqCall struct {
	// contains filtered or unexported fields
}

func (*ChatUpdateReqCall) Do

func (rc *ChatUpdateReqCall) Do() (*response.NoData, error)

func (*ChatUpdateReqCall) SetChatId

func (rc *ChatUpdateReqCall) SetChatId(chatId string)

func (*ChatUpdateReqCall) SetUserIdType

func (rc *ChatUpdateReqCall) SetUserIdType(userIdType string)

type ChatUpdatedEvent

type ChatUpdatedEvent struct {
	*model.BaseEventV2
	Event *ChatUpdatedEventData `json:"event"`
}

type ChatUpdatedEventData

type ChatUpdatedEventData struct {
	ChatId            string         `json:"chat_id,omitempty"`
	OperatorId        *UserId        `json:"operator_id,omitempty"`
	External          bool           `json:"external,omitempty"`
	OperatorTenantKey string         `json:"operator_tenant_key,omitempty"`
	AfterChange       *ChatChange    `json:"after_change,omitempty"`
	BeforeChange      *ChatChange    `json:"before_change,omitempty"`
	ModeratorList     *ModeratorList `json:"moderator_list,omitempty"`
}

type ChatUpdatedEventHandler

type ChatUpdatedEventHandler struct {
	Fn func(*core.Context, *ChatUpdatedEvent) error
}

func (*ChatUpdatedEventHandler) GetEvent

func (h *ChatUpdatedEventHandler) GetEvent() interface{}

func (*ChatUpdatedEventHandler) Handle

func (h *ChatUpdatedEventHandler) Handle(ctx *core.Context, event interface{}) error

type Emoji

type Emoji struct {
	EmojiType       string   `json:"emoji_type,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*Emoji) MarshalJSON

func (s *Emoji) MarshalJSON() ([]byte, error)

type EventMessage

type EventMessage struct {
	MessageId       string          `json:"message_id,omitempty"`
	RootId          string          `json:"root_id,omitempty"`
	ParentId        string          `json:"parent_id,omitempty"`
	CreateTime      int64           `json:"create_time,omitempty,string"`
	ChatId          string          `json:"chat_id,omitempty"`
	ChatType        string          `json:"chat_type,omitempty"`
	MessageType     string          `json:"message_type,omitempty"`
	Content         string          `json:"content,omitempty"`
	Mentions        []*MentionEvent `json:"mentions,omitempty"`
	ForceSendFields []string        `json:"-"`
}

func (*EventMessage) MarshalJSON

func (s *EventMessage) MarshalJSON() ([]byte, error)

type EventMessageReader

type EventMessageReader struct {
	ReaderId        *UserId  `json:"reader_id,omitempty"`
	ReadTime        string   `json:"read_time,omitempty"`
	TenantKey       string   `json:"tenant_key,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*EventMessageReader) MarshalJSON

func (s *EventMessageReader) MarshalJSON() ([]byte, error)

type EventSender

type EventSender struct {
	SenderId        *UserId  `json:"sender_id,omitempty"`
	SenderType      string   `json:"sender_type,omitempty"`
	TenantKey       string   `json:"tenant_key,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*EventSender) MarshalJSON

func (s *EventSender) MarshalJSON() ([]byte, error)

type File

type File struct {
}

type FileCreateReqCall

type FileCreateReqCall struct {
	// contains filtered or unexported fields
}

func (*FileCreateReqCall) Do

func (*FileCreateReqCall) SetDuration

func (rc *FileCreateReqCall) SetDuration(duration int)

func (*FileCreateReqCall) SetFile

func (rc *FileCreateReqCall) SetFile(file *request.File)

func (*FileCreateReqCall) SetFileName

func (rc *FileCreateReqCall) SetFileName(fileName string)

func (*FileCreateReqCall) SetFileType

func (rc *FileCreateReqCall) SetFileType(fileType string)

type FileCreateResult

type FileCreateResult struct {
	FileKey string `json:"file_key,omitempty"`
}

type FileGetReqCall

type FileGetReqCall struct {
	// contains filtered or unexported fields
}

func (*FileGetReqCall) Do

func (rc *FileGetReqCall) Do() (io.Writer, error)

func (*FileGetReqCall) SetFileKey

func (rc *FileGetReqCall) SetFileKey(fileKey string)

func (*FileGetReqCall) SetResponseStream

func (rc *FileGetReqCall) SetResponseStream(result io.Writer)

type FileService

type FileService struct {
	// contains filtered or unexported fields
}

func (*FileService) Create

func (files *FileService) Create(ctx *core.Context, optFns ...request.OptFn) *FileCreateReqCall

func (*FileService) Get

func (files *FileService) Get(ctx *core.Context, optFns ...request.OptFn) *FileGetReqCall

type I18nNames

type I18nNames struct {
	ZhCn            string   `json:"zh_cn,omitempty"`
	EnUs            string   `json:"en_us,omitempty"`
	JaJp            string   `json:"ja_jp,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*I18nNames) MarshalJSON

func (s *I18nNames) MarshalJSON() ([]byte, error)

type Image

type Image struct {
}

type ImageCreateReqCall

type ImageCreateReqCall struct {
	// contains filtered or unexported fields
}

func (*ImageCreateReqCall) Do

func (*ImageCreateReqCall) SetImage

func (rc *ImageCreateReqCall) SetImage(image *request.File)

func (*ImageCreateReqCall) SetImageType

func (rc *ImageCreateReqCall) SetImageType(imageType string)

type ImageCreateResult

type ImageCreateResult struct {
	ImageKey string `json:"image_key,omitempty"`
}

type ImageGetReqCall

type ImageGetReqCall struct {
	// contains filtered or unexported fields
}

func (*ImageGetReqCall) Do

func (rc *ImageGetReqCall) Do() (io.Writer, error)

func (*ImageGetReqCall) SetImageKey

func (rc *ImageGetReqCall) SetImageKey(imageKey string)

func (*ImageGetReqCall) SetResponseStream

func (rc *ImageGetReqCall) SetResponseStream(result io.Writer)

type ImageService

type ImageService struct {
	// contains filtered or unexported fields
}

func (*ImageService) Create

func (images *ImageService) Create(ctx *core.Context, optFns ...request.OptFn) *ImageCreateReqCall

func (*ImageService) Get

func (images *ImageService) Get(ctx *core.Context, optFns ...request.OptFn) *ImageGetReqCall

type ListChat

type ListChat struct {
	ChatId      string `json:"chat_id,omitempty"`
	Avatar      string `json:"avatar,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	OwnerId     string `json:"owner_id,omitempty"`
	OwnerIdType string `json:"owner_id_type,omitempty"`
	External    bool   `json:"external,omitempty"`
	TenantKey   string `json:"tenant_key,omitempty"`

	ForceSendFields []string `json:"-"`
}

func (*ListChat) MarshalJSON

func (s *ListChat) MarshalJSON() ([]byte, error)

type ListEventModerator

type ListEventModerator struct {
	TenantKey       string   `json:"tenant_key,omitempty"`
	UserId          *UserId  `json:"user_id,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*ListEventModerator) MarshalJSON

func (s *ListEventModerator) MarshalJSON() ([]byte, error)

type ListMember

type ListMember struct {
	MemberIdType    string   `json:"member_id_type,omitempty"`
	MemberId        string   `json:"member_id,omitempty"`
	Name            string   `json:"name,omitempty"`
	TenantKey       string   `json:"tenant_key,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*ListMember) MarshalJSON

func (s *ListMember) MarshalJSON() ([]byte, error)

type ListModerator

type ListModerator struct {
	UserIdType      string   `json:"user_id_type,omitempty"`
	UserId          string   `json:"user_id,omitempty"`
	TenantKey       string   `json:"tenant_key,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*ListModerator) MarshalJSON

func (s *ListModerator) MarshalJSON() ([]byte, error)

type Mention

type Mention struct {
	Key             string   `json:"key,omitempty"`
	Id              string   `json:"id,omitempty"`
	IdType          string   `json:"id_type,omitempty"`
	Name            string   `json:"name,omitempty"`
	TenantKey       string   `json:"tenant_key,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*Mention) MarshalJSON

func (s *Mention) MarshalJSON() ([]byte, error)

type MentionEvent

type MentionEvent struct {
	Key             string   `json:"key,omitempty"`
	Id              string   `json:"id,omitempty"`
	Name            string   `json:"name,omitempty"`
	TenantKey       string   `json:"tenant_key,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*MentionEvent) MarshalJSON

func (s *MentionEvent) MarshalJSON() ([]byte, error)

type Message

type Message struct {
	MessageId       string       `json:"message_id,omitempty"`
	RootId          string       `json:"root_id,omitempty"`
	ParentId        string       `json:"parent_id,omitempty"`
	MsgType         string       `json:"msg_type,omitempty"`
	CreateTime      int64        `json:"create_time,omitempty,string"`
	UpdateTime      int64        `json:"update_time,omitempty,string"`
	Deleted         bool         `json:"deleted,omitempty"`
	Updated         bool         `json:"updated,omitempty"`
	ChatId          string       `json:"chat_id,omitempty"`
	Sender          *Sender      `json:"sender,omitempty"`
	Body            *MessageBody `json:"body,omitempty"`
	Mentions        []*Mention   `json:"mentions,omitempty"`
	UpperMessageId  string       `json:"upper_message_id,omitempty"`
	ForceSendFields []string     `json:"-"`
}

func (*Message) MarshalJSON

func (s *Message) MarshalJSON() ([]byte, error)

type MessageAtMessageReadEvent

type MessageAtMessageReadEvent struct {
	*model.BaseEventV2
	Event *MessageAtMessageReadEventData `json:"event"`
}

type MessageAtMessageReadEventData

type MessageAtMessageReadEventData struct {
	Reader        *EventMessageReader `json:"reader,omitempty"`
	MessageIdList []string            `json:"message_id_list,omitempty"`
}

type MessageAtMessageReadEventHandler

type MessageAtMessageReadEventHandler struct {
	Fn func(*core.Context, *MessageAtMessageReadEvent) error
}

func (*MessageAtMessageReadEventHandler) GetEvent

func (h *MessageAtMessageReadEventHandler) GetEvent() interface{}

func (*MessageAtMessageReadEventHandler) Handle

func (h *MessageAtMessageReadEventHandler) Handle(ctx *core.Context, event interface{}) error

type MessageBody

type MessageBody struct {
	Content         string   `json:"content,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*MessageBody) MarshalJSON

func (s *MessageBody) MarshalJSON() ([]byte, error)

type MessageCreateReqBody

type MessageCreateReqBody struct {
	ReceiveId       string   `json:"receive_id,omitempty"`
	Content         string   `json:"content,omitempty"`
	MsgType         string   `json:"msg_type,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*MessageCreateReqBody) MarshalJSON

func (s *MessageCreateReqBody) MarshalJSON() ([]byte, error)

type MessageCreateReqCall

type MessageCreateReqCall struct {
	// contains filtered or unexported fields
}

func (*MessageCreateReqCall) Do

func (rc *MessageCreateReqCall) Do() (*Message, error)

func (*MessageCreateReqCall) SetReceiveIdType

func (rc *MessageCreateReqCall) SetReceiveIdType(receiveIdType string)

type MessageDeleteReqCall

type MessageDeleteReqCall struct {
	// contains filtered or unexported fields
}

func (*MessageDeleteReqCall) Do

func (*MessageDeleteReqCall) SetMessageId

func (rc *MessageDeleteReqCall) SetMessageId(messageId string)

type MessageGetReqCall

type MessageGetReqCall struct {
	// contains filtered or unexported fields
}

func (*MessageGetReqCall) Do

func (*MessageGetReqCall) SetMessageId

func (rc *MessageGetReqCall) SetMessageId(messageId string)

type MessageGetResult

type MessageGetResult struct {
	Items []*Message `json:"items,omitempty"`
}

type MessageListReqCall

type MessageListReqCall struct {
	// contains filtered or unexported fields
}

func (*MessageListReqCall) Do

func (*MessageListReqCall) SetContainerId

func (rc *MessageListReqCall) SetContainerId(containerId string)

func (*MessageListReqCall) SetContainerIdType

func (rc *MessageListReqCall) SetContainerIdType(containerIdType string)

func (*MessageListReqCall) SetEndTime

func (rc *MessageListReqCall) SetEndTime(endTime string)

func (*MessageListReqCall) SetPageSize

func (rc *MessageListReqCall) SetPageSize(pageSize int)

func (*MessageListReqCall) SetPageToken

func (rc *MessageListReqCall) SetPageToken(pageToken string)

func (*MessageListReqCall) SetStartTime

func (rc *MessageListReqCall) SetStartTime(startTime string)

type MessageListResult

type MessageListResult struct {
	HasMore   bool       `json:"has_more,omitempty"`
	PageToken string     `json:"page_token,omitempty"`
	Items     []*Message `json:"items,omitempty"`
}

type MessageMessageReadEvent

type MessageMessageReadEvent struct {
	*model.BaseEventV2
	Event *MessageMessageReadEventData `json:"event"`
}

type MessageMessageReadEventData

type MessageMessageReadEventData struct {
	Reader        *EventMessageReader `json:"reader,omitempty"`
	MessageIdList []string            `json:"message_id_list,omitempty"`
}

type MessageMessageReadEventHandler

type MessageMessageReadEventHandler struct {
	Fn func(*core.Context, *MessageMessageReadEvent) error
}

func (*MessageMessageReadEventHandler) GetEvent

func (h *MessageMessageReadEventHandler) GetEvent() interface{}

func (*MessageMessageReadEventHandler) Handle

func (h *MessageMessageReadEventHandler) Handle(ctx *core.Context, event interface{}) error

type MessagePatchReqBody

type MessagePatchReqBody struct {
	Content         string   `json:"content,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*MessagePatchReqBody) MarshalJSON

func (s *MessagePatchReqBody) MarshalJSON() ([]byte, error)

type MessagePatchReqCall

type MessagePatchReqCall struct {
	// contains filtered or unexported fields
}

func (*MessagePatchReqCall) Do

func (*MessagePatchReqCall) SetMessageId

func (rc *MessagePatchReqCall) SetMessageId(messageId string)

type MessageReaction

type MessageReaction struct {
	ReactionId      string   `json:"reaction_id,omitempty"`
	OperatorId      string   `json:"operator_id,omitempty"`
	ActionTime      string   `json:"action_time,omitempty"`
	ReactionType    *Emoji   `json:"reaction_type,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*MessageReaction) MarshalJSON

func (s *MessageReaction) MarshalJSON() ([]byte, error)

type MessageReadUsersReqCall

type MessageReadUsersReqCall struct {
	// contains filtered or unexported fields
}

func (*MessageReadUsersReqCall) Do

func (*MessageReadUsersReqCall) SetMessageId

func (rc *MessageReadUsersReqCall) SetMessageId(messageId string)

func (*MessageReadUsersReqCall) SetPageSize

func (rc *MessageReadUsersReqCall) SetPageSize(pageSize int)

func (*MessageReadUsersReqCall) SetPageToken

func (rc *MessageReadUsersReqCall) SetPageToken(pageToken string)

func (*MessageReadUsersReqCall) SetUserIdType

func (rc *MessageReadUsersReqCall) SetUserIdType(userIdType string)

type MessageReadUsersResult

type MessageReadUsersResult struct {
	Items     []*ReadUser `json:"items,omitempty"`
	HasMore   bool        `json:"has_more,omitempty"`
	PageToken string      `json:"page_token,omitempty"`
}

type MessageReceiveEvent

type MessageReceiveEvent struct {
	*model.BaseEventV2
	Event *MessageReceiveEventData `json:"event"`
}

type MessageReceiveEventData

type MessageReceiveEventData struct {
	Sender  *EventSender  `json:"sender,omitempty"`
	Message *EventMessage `json:"message,omitempty"`
}

type MessageReceiveEventHandler

type MessageReceiveEventHandler struct {
	Fn func(*core.Context, *MessageReceiveEvent) error
}

func (*MessageReceiveEventHandler) GetEvent

func (h *MessageReceiveEventHandler) GetEvent() interface{}

func (*MessageReceiveEventHandler) Handle

func (h *MessageReceiveEventHandler) Handle(ctx *core.Context, event interface{}) error

type MessageReplyReqBody

type MessageReplyReqBody struct {
	Content         string   `json:"content,omitempty"`
	MsgType         string   `json:"msg_type,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*MessageReplyReqBody) MarshalJSON

func (s *MessageReplyReqBody) MarshalJSON() ([]byte, error)

type MessageReplyReqCall

type MessageReplyReqCall struct {
	// contains filtered or unexported fields
}

func (*MessageReplyReqCall) Do

func (rc *MessageReplyReqCall) Do() (*Message, error)

func (*MessageReplyReqCall) SetMessageId

func (rc *MessageReplyReqCall) SetMessageId(messageId string)

type MessageResource

type MessageResource struct {
}

type MessageResourceGetReqCall

type MessageResourceGetReqCall struct {
	// contains filtered or unexported fields
}

func (*MessageResourceGetReqCall) Do

func (*MessageResourceGetReqCall) SetFileKey

func (rc *MessageResourceGetReqCall) SetFileKey(fileKey string)

func (*MessageResourceGetReqCall) SetMessageId

func (rc *MessageResourceGetReqCall) SetMessageId(messageId string)

func (*MessageResourceGetReqCall) SetResponseStream

func (rc *MessageResourceGetReqCall) SetResponseStream(result io.Writer)

func (*MessageResourceGetReqCall) SetType

func (rc *MessageResourceGetReqCall) SetType(type_ string)

type MessageResourceService

type MessageResourceService struct {
	// contains filtered or unexported fields
}

func (*MessageResourceService) Get

func (messageResources *MessageResourceService) Get(ctx *core.Context, optFns ...request.OptFn) *MessageResourceGetReqCall

type MessageService

type MessageService struct {
	// contains filtered or unexported fields
}

func (*MessageService) Create

func (messages *MessageService) Create(ctx *core.Context, body *MessageCreateReqBody, optFns ...request.OptFn) *MessageCreateReqCall

func (*MessageService) Delete

func (messages *MessageService) Delete(ctx *core.Context, optFns ...request.OptFn) *MessageDeleteReqCall

func (*MessageService) Get

func (messages *MessageService) Get(ctx *core.Context, optFns ...request.OptFn) *MessageGetReqCall

func (*MessageService) List

func (messages *MessageService) List(ctx *core.Context, optFns ...request.OptFn) *MessageListReqCall

func (*MessageService) Patch

func (messages *MessageService) Patch(ctx *core.Context, body *MessagePatchReqBody, optFns ...request.OptFn) *MessagePatchReqCall

func (*MessageService) ReadUsers

func (messages *MessageService) ReadUsers(ctx *core.Context, optFns ...request.OptFn) *MessageReadUsersReqCall

func (*MessageService) Reply

func (messages *MessageService) Reply(ctx *core.Context, body *MessageReplyReqBody, optFns ...request.OptFn) *MessageReplyReqCall

type ModeratorList

type ModeratorList struct {
	AddedMemberList   []*ListEventModerator `json:"added_member_list,omitempty"`
	RemovedMemberList []*ListEventModerator `json:"removed_member_list,omitempty"`
	ForceSendFields   []string              `json:"-"`
}

func (*ModeratorList) MarshalJSON

func (s *ModeratorList) MarshalJSON() ([]byte, error)

type Reaction added in v1.1.29

type Reaction struct {
	ReactionType    *Emoji   `json:"reaction_type,omitempty"`
	OperatorId      string   `json:"operator_id,omitempty"`
	ActionTime      string   `json:"action_time,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*Reaction) MarshalJSON added in v1.1.29

func (s *Reaction) MarshalJSON() ([]byte, error)

type ReadUser

type ReadUser struct {
	UserIdType      string   `json:"user_id_type,omitempty"`
	UserId          string   `json:"user_id,omitempty"`
	Timestamp       string   `json:"timestamp,omitempty"`
	TenantKey       string   `json:"tenant_key,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*ReadUser) MarshalJSON

func (s *ReadUser) MarshalJSON() ([]byte, error)

type Sender

type Sender struct {
	Id              string   `json:"id,omitempty"`
	IdType          string   `json:"id_type,omitempty"`
	SenderType      string   `json:"sender_type,omitempty"`
	TenantKey       string   `json:"tenant_key,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*Sender) MarshalJSON

func (s *Sender) MarshalJSON() ([]byte, error)

type Service

type Service struct {
	Messages          *MessageService
	Chats             *ChatService
	ChatMemberUsers   *ChatMemberUserService
	ChatMemberBots    *ChatMemberBotService
	ChatAnnouncements *ChatAnnouncementService
	ChatMemberss      *ChatMembersService
	Files             *FileService
	Images            *ImageService
	MessageResources  *MessageResourceService
	// contains filtered or unexported fields
}

func NewService

func NewService(conf *config.Config) *Service

type UrgentReceivers

type UrgentReceivers struct {
	UserIdList      []string `json:"user_id_list,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*UrgentReceivers) MarshalJSON

func (s *UrgentReceivers) MarshalJSON() ([]byte, error)

type UserId

type UserId struct {
	UserId          string   `json:"user_id,omitempty"`
	OpenId          string   `json:"open_id,omitempty"`
	UnionId         string   `json:"union_id,omitempty"`
	ForceSendFields []string `json:"-"`
}

func (*UserId) MarshalJSON

func (s *UserId) MarshalJSON() ([]byte, error)

Jump to

Keyboard shortcuts

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