chat

package
v1.778.0 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	WeChatIlinkDefaultBaseUrl = "https://ilinkai.weixin.qq.com"
	WeChatIlinkDefaultBotType = "3"
)
View Source
const (
	WeChatTypeIlinkBot = "WeChat iLink Bot"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ChatProvider

type ChatProvider interface {
	SendMessage(chatId string, text string) error
	ParseWebhookRequest(body []byte) (*IncomingMessage, error)
	SetWebhook(webhookUrl string) error
}

func GetChatProvider

func GetChatProvider(typ string, clientSecret string, providerUrl string, lang string) (ChatProvider, error)

type IncomingMessage

type IncomingMessage struct {
	ChatId   string
	UserId   string
	Text     string
	Username string
}

type TelegramChatProvider

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

func NewTelegramChatProvider

func NewTelegramChatProvider(botToken string, httpClient *http.Client) (*TelegramChatProvider, error)

func (*TelegramChatProvider) ParseWebhookRequest

func (p *TelegramChatProvider) ParseWebhookRequest(body []byte) (*IncomingMessage, error)

func (*TelegramChatProvider) SendMessage

func (p *TelegramChatProvider) SendMessage(chatId string, text string) error

func (*TelegramChatProvider) SetWebhook

func (p *TelegramChatProvider) SetWebhook(webhookUrl string) error

type WeChatIlinkBaseInfo added in v1.778.0

type WeChatIlinkBaseInfo struct {
	ChannelVersion string `json:"channel_version"`
}

type WeChatIlinkChatProvider added in v1.778.0

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

func NewWeChatIlinkChatProvider added in v1.778.0

func NewWeChatIlinkChatProvider(baseUrl string, token string, httpClient *http.Client) (*WeChatIlinkChatProvider, error)

func (*WeChatIlinkChatProvider) ParseWebhookRequest added in v1.778.0

func (p *WeChatIlinkChatProvider) ParseWebhookRequest(body []byte) (*IncomingMessage, error)

func (*WeChatIlinkChatProvider) SendMessage added in v1.778.0

func (p *WeChatIlinkChatProvider) SendMessage(chatId string, text string) error

func (*WeChatIlinkChatProvider) SetWebhook added in v1.778.0

func (p *WeChatIlinkChatProvider) SetWebhook(webhookUrl string) error

type WeChatIlinkClient added in v1.778.0

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

func NewWeChatIlinkClient added in v1.778.0

func NewWeChatIlinkClient(baseUrl string, token string, httpClient *http.Client) *WeChatIlinkClient

func (*WeChatIlinkClient) GetUpdatesWithContext added in v1.778.0

func (c *WeChatIlinkClient) GetUpdatesWithContext(ctx context.Context, getUpdatesBuf string, timeoutMs int) (*WeChatIlinkGetUpdatesResponse, error)

func (*WeChatIlinkClient) PollQRCodeStatus added in v1.778.0

func (c *WeChatIlinkClient) PollQRCodeStatus(qrcode string) (*WeChatIlinkQRCodeStatus, error)

func (*WeChatIlinkClient) SendTextMessage added in v1.778.0

func (c *WeChatIlinkClient) SendTextMessage(toUserId string, contextToken string, text string) error

func (*WeChatIlinkClient) StartQRCodeLogin added in v1.778.0

func (c *WeChatIlinkClient) StartQRCodeLogin() (*WeChatIlinkQRCodeResponse, error)

type WeChatIlinkGetUpdatesResponse added in v1.778.0

type WeChatIlinkGetUpdatesResponse struct {
	Ret                  int                   `json:"ret"`
	ErrCode              int                   `json:"errcode"`
	ErrMsg               string                `json:"errmsg"`
	Messages             []*WeChatIlinkMessage `json:"msgs"`
	GetUpdatesBuf        string                `json:"get_updates_buf"`
	LongPollingTimeoutMs int                   `json:"longpolling_timeout_ms"`
}

type WeChatIlinkMessage added in v1.778.0

type WeChatIlinkMessage struct {
	Seq          int64                     `json:"seq"`
	MessageId    int64                     `json:"message_id"`
	FromUserId   string                    `json:"from_user_id"`
	ToUserId     string                    `json:"to_user_id"`
	ClientId     string                    `json:"client_id"`
	CreateTimeMs int64                     `json:"create_time_ms"`
	SessionId    string                    `json:"session_id"`
	MessageType  int                       `json:"message_type"`
	MessageState int                       `json:"message_state"`
	ItemList     []*WeChatIlinkMessageItem `json:"item_list"`
	ContextToken string                    `json:"context_token"`
}

func (*WeChatIlinkMessage) Text added in v1.778.0

func (m *WeChatIlinkMessage) Text() (string, bool)

type WeChatIlinkMessageItem added in v1.778.0

type WeChatIlinkMessageItem struct {
	Type     int                  `json:"type"`
	TextItem *WeChatIlinkTextItem `json:"text_item,omitempty"`
}

type WeChatIlinkQRCodeResponse added in v1.778.0

type WeChatIlinkQRCodeResponse struct {
	Qrcode             string `json:"qrcode"`
	QrcodeImageContent string `json:"qrcode_img_content"`
}

type WeChatIlinkQRCodeStatus added in v1.778.0

type WeChatIlinkQRCodeStatus struct {
	Status       string `json:"status"`
	BotToken     string `json:"bot_token"`
	IlinkBotId   string `json:"ilink_bot_id"`
	BaseUrl      string `json:"baseurl"`
	IlinkUserId  string `json:"ilink_user_id"`
	RedirectHost string `json:"redirect_host"`
}

type WeChatIlinkTextItem added in v1.778.0

type WeChatIlinkTextItem struct {
	Text string `json:"text"`
}

Jump to

Keyboard shortcuts

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