Documentation
¶
Overview ¶
Package infoflow 提供百度如流信息流 API 的客户端和服务端实现
Index ¶
- func CreateAtAll() any
- func CreateAtSome(atUserIDs ...string) any
- func CreateImage(img image.Image) (any, error)
- func CreateImageFromFile(f string) (any, error)
- func CreateImageFromURL(u string) (any, error)
- func CreateLink(href string) any
- func CreateMarkdown(content string) any
- func CreateText(content string) any
- func CreateTextf(format string, a ...any) any
- func MarkColor(s, color string) string
- func MarkGray(s string) string
- func MarkGreen(s string) string
- func MarkRed(s string) string
- type At
- type AtBody
- type Body
- type Handler
- type Header
- type HiMessage
- type ImageBody
- type LinkBody
- type MarkdownBody
- type Message
- type Receiver
- func (r *Receiver) AddHandler(cmd string, handler Handler)
- func (r *Receiver) GetHandler(name string) Handler
- func (r *Receiver) Msg(w http.ResponseWriter, req *http.Request)
- func (r *Receiver) RemoveHandler(cmd string)
- func (r *Receiver) Run()
- func (r *Receiver) SetUnknownHandler(handler Handler)
- func (r *Receiver) VisitHandlers(fn func(name string, handler Handler) bool)
- type Request
- type Response
- type Robot
- type Sender
- type SenderHeader
- type SenderMessage
- type TextBody
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateImageFromFile ¶
CreateImageFromFile 从文件创建图片消息
func CreateImageFromURL ¶
CreateImageFromURL 从 URL 创建图片消息
Types ¶
type AtBody ¶
type AtBody struct {
Atall bool `json:"atall"`
AtUserIDs []string `json:"atuserids"`
Type string `json:"type"`
}
AtBody @消息体
type Body ¶
type Body struct {
Type string `json:"type"`
UserID string `json:"userid"`
Name string `json:"name"`
RobotID int64 `json:"robotid"`
Content string `json:"content"`
Label string `json:"label"`
CommandName string `json:"commandname"`
DownloadURL string `json:"downloadurl"`
}
Body 消息体
type Header ¶
type Header struct {
At At `json:"at"`
ClientMsgID int64 `json:"clientmsgid"`
ClientTime int64 `json:"clienttime"`
Compatible string `json:"compatible"`
Extra string `json:"extra"`
FromUserID string `json:"fromuserid"`
MessageID int64 `json:"messageid"`
MsgSeqID string `json:"msgseqid"`
MsgType string `json:"msgtype"`
OfflineNotify string `json:"offlinenotify"`
ServerTime int64 `json:"servertime"`
ToID int64 `json:"toid"`
ToType string `json:"totype"`
UpdateTime int64 `json:"updatetime"`
}
Header 消息头部
type HiMessage ¶
type HiMessage struct {
AgentID int64 `json:"agentid"`
CorpID string `json:"corpid"`
EventType string `json:"eventtype"`
GroupID int64 `json:"groupid"`
Message Message `json:"message"`
Time int64 `json:"time"`
}
HiMessage 百度如流消息结构
type ImageBody ¶
type ImageBody struct {
Type string `json:"type"`
Content string `json:"content"` // Base64 编码的图片数据
}
ImageBody 图片消息体
type MarkdownBody ¶
MarkdownBody Markdown 消息体
type Receiver ¶
type Receiver struct {
// contains filtered or unexported fields
}
Receiver 消息接收器,用于接收和处理百度如流消息
func NewReceiver ¶
NewReceiver 创建消息接收器
func (*Receiver) AddHandler ¶
AddHandler 添加命令处理器
func (*Receiver) GetHandler ¶
GetHandler 获取指定命令的处理器
func (*Receiver) Msg ¶
func (r *Receiver) Msg(w http.ResponseWriter, req *http.Request)
Msg 处理 HTTP 请求,验证签名并分发消息到对应的处理器
func (*Receiver) SetUnknownHandler ¶
SetUnknownHandler 设置未知命令处理器
type Response ¶
type Response struct {
ErrCode int64 `json:"errcode"`
ErrMsg string `json:"errmsg"`
Data struct {
Fail map[string]any `json:"fail"`
} `json:"data"`
}
Response API 响应结构
type Robot ¶
Robot 机器人,集成了发送和接收功能
func NewRobot ¶
NewRobot 创建机器人 webhook: 消息发送 Webhook 地址,从如流机器人的设置中获取 addr: 消息接收服务监听地址,如 ":8080",需要提供给在如流机器人都配置中 token: 签名验证令牌,从如流机器人的设置中获取 aesKey: 消息解密密钥, 从如流机器人的设置中获取
func (*Robot) AddHandler ¶
AddHandler 添加命令处理器
func (*Robot) SetUnknownHandler ¶
SetUnknownHandler 设置未知命令处理器
type Sender ¶
type Sender struct {
// contains filtered or unexported fields
}
Sender 消息发送器
type SenderHeader ¶
type SenderHeader struct {
ToID []int64 `json:"toid"` // 接收者 ID 列表
}
SenderHeader 发送消息头部
type SenderMessage ¶
type SenderMessage struct {
Header SenderHeader `json:"header"`
Body []any `json:"body"`
}
SenderMessage 发送消息结构
Click to show internal directories.
Click to hide internal directories.