Skip to content

Commit 1eb4a44

Browse files
committed
examples/receive-and-send: demo 增加精华消息和表情表态的指令
1 parent eb117ec commit 1eb4a44

File tree

2 files changed

+54
-20
lines changed

2 files changed

+54
-20
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package main
2+
3+
import (
4+
"context"
5+
"log"
6+
7+
"github.com/tencent-connect/botgo/dto"
8+
)
9+
10+
func (p Processor) setEmoji(ctx context.Context, channelID string, messageID string) {
11+
err := p.api.CreateMessageReaction(
12+
ctx, channelID, messageID, dto.Emoji{
13+
ID: "307",
14+
Type: 1,
15+
},
16+
)
17+
if err != nil {
18+
log.Println(err)
19+
}
20+
}
21+
22+
func (p Processor) setPins(ctx context.Context, channelID, msgID string) {
23+
_, err := p.api.AddPins(ctx, channelID, msgID)
24+
if err != nil {
25+
log.Println(err)
26+
}
27+
}
28+
29+
func (p Processor) setAnnounces(ctx context.Context, data *dto.WSATMessageData) {
30+
if _, err := p.api.CreateChannelAnnounces(
31+
ctx, data.ChannelID,
32+
&dto.ChannelAnnouncesToCreate{MessageID: data.ID},
33+
); err != nil {
34+
log.Println(err)
35+
}
36+
}
37+
38+
func (p Processor) sendReply(ctx context.Context, channelID string, toCreate *dto.MessageToCreate) {
39+
if _, err := p.api.PostMessage(ctx, channelID, toCreate); err != nil {
40+
log.Println(err)
41+
}
42+
}

examples/receive-and-send/process.go

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -37,34 +37,26 @@ func (p Processor) ProcessMessage(input string, data *dto.WSATMessageData) error
3737
return nil
3838
}
3939

40-
var reply bool
41-
var announcement bool
4240
switch cmd.Cmd {
41+
case "hi":
42+
p.sendReply(ctx, data.ChannelID, toCreate)
4343
case "time":
4444
toCreate.Content = genReplyContent(data)
45-
reply = true
45+
p.sendReply(ctx, data.ChannelID, toCreate)
4646
case "ark":
4747
toCreate.Ark = genReplyArk(data)
48-
reply = true
49-
case "hi":
50-
reply = true
48+
p.sendReply(ctx, data.ChannelID, toCreate)
5149
case "公告":
52-
announcement = true
53-
default:
54-
}
55-
// 是否命中上面的指令,不回复多余的内容
56-
if reply {
57-
if _, err := p.api.PostMessage(ctx, data.ChannelID, toCreate); err != nil {
58-
log.Println(err)
50+
p.setAnnounces(ctx, data)
51+
case "pin":
52+
if data.MessageReference != nil {
53+
p.setPins(ctx, data.ChannelID, data.MessageReference.MessageID)
5954
}
60-
}
61-
if announcement {
62-
if _, err := p.api.CreateChannelAnnounces(
63-
ctx, data.ChannelID,
64-
&dto.ChannelAnnouncesToCreate{MessageID: data.ID},
65-
); err != nil {
66-
log.Println(err)
55+
case "emoji":
56+
if data.MessageReference != nil {
57+
p.setEmoji(ctx, data.ChannelID, data.MessageReference.MessageID)
6758
}
59+
default:
6860
}
6961

7062
return nil

0 commit comments

Comments
 (0)