MCPcopy Create free account
hub / github.com/djun/wechatbot / ReplyText

Method ReplyText

handlers/group_msg_handler.go:30–71  ·  view source on GitHub ↗

ReplyText 发送文本消息到群

(msg *openwechat.Message)

Source from the content-addressed store, hash-verified

28
29// ReplyText 发送文本消息到群
30func (g *GroupMessageHandler) ReplyText(msg *openwechat.Message) error {
31 // 接收群消息
32 sender, err := msg.Sender()
33 group := openwechat.Group{sender}
34 log.Printf("Received Group %v Text Msg : %v", group.NickName, msg.Content)
35
36 // 不是@的不处理
37 if !msg.IsAt() {
38 return nil
39 }
40
41 // 替换掉@文本,然后向GPT发起请求
42 replaceText := "@" + sender.Self.NickName
43 requestText := strings.TrimSpace(strings.ReplaceAll(msg.Content, replaceText, ""))
44 reply, err := gtp.Completions(requestText)
45 if err != nil {
46 log.Printf("gtp request error: %v \n", err)
47 msg.ReplyText("机器人神了,我一会发现了就去修。")
48 return err
49 }
50 if reply == "" {
51 return nil
52 }
53
54 // 获取@我的用户
55 groupSender, err := msg.SenderInGroup()
56 if err != nil {
57 log.Printf("get sender in group error :%v \n", err)
58 return err
59 }
60
61 // 回复@我的用户
62 reply = strings.TrimSpace(reply)
63 reply = strings.Trim(reply, "\n")
64 atText := "@" + groupSender.NickName
65 replyText := atText + reply
66 _, err = msg.ReplyText(replyText)
67 if err != nil {
68 log.Printf("response group error: %v \n", err)
69 }
70 return err
71}

Callers 1

handleMethod · 0.95

Calls 2

CompletionsFunction · 0.92
ReplyTextMethod · 0.65

Tested by

no test coverage detected