@@ -27,8 +27,12 @@ func main() {
2727 if err := botToken .LoadFromConfig (getConfigPath ("config.yaml" )); err != nil {
2828 log .Fatalln (err )
2929 }
30- // 初始化 openapi
30+
31+ // 初始化 openapi,正式环境
3132 api := botgo .NewOpenAPI (botToken ).WithTimeout (3 * time .Second )
33+ // 沙箱环境
34+ // api := botgo.NewSandboxOpenAPI(botToken).WithTimeout(3 * time.Second)
35+
3236 // 获取 websocket 信息
3337 wsInfo , err := api .WS (ctx , nil , "" )
3438 if err != nil {
@@ -40,9 +44,26 @@ func main() {
4044 websocket .RegisterResumeSignal (syscall .SIGUSR1 )
4145 // 根据不同的回调,生成 intents
4246 intent := websocket .RegisterHandlers (
43- ATMessageEventHandler (), ReadyHandler (), ErrorNotifyHandler (), GuildEventHandler (),
44- MemberEventHandler (), ChannelEventHandler (), DirectMessageHandler (),
47+ // at 机器人事件,目前是在这个事件处理中有逻辑,会回消息,其他的回调处理都只把数据打印出来,不做任何处理
48+ ATMessageEventHandler (),
49+ // 如果想要捕获到连接成功的事件,可以实现这个回调
50+ ReadyHandler (),
51+ // 连接关闭回调
52+ ErrorNotifyHandler (),
53+ // 频道事件
54+ GuildEventHandler (),
55+ // 成员事件
56+ MemberEventHandler (),
57+ // 子频道事件
58+ ChannelEventHandler (),
59+ // 私信,目前只有私域才能够收到这个,如果你的机器人不是私域机器人,会导致连接报错,那么启动 example 就需要注释掉这个回调
60+ DirectMessageHandler (),
61+ // 频道消息,只有私域才能够收到这个,如果你的机器人不是私域机器人,会导致连接报错,那么启动 example 就需要注释掉这个回调
62+ CreateMessageHandler (),
4563 )
64+
65+ // 指定需要启动的分片数为 2 的话可以手动修改 wsInfo
66+ // wsInfo.Shards = 2
4667 if err = botgo .NewSessionManager ().Start (wsInfo , botToken , & intent ); err != nil {
4768 log .Fatalln (err )
4869 }
@@ -97,6 +118,13 @@ func DirectMessageHandler() websocket.DirectMessageEventHandler {
97118 }
98119}
99120
121+ func CreateMessageHandler () websocket.MessageEventHandler {
122+ return func (event * dto.WSPayload , data * dto.WSMessageData ) error {
123+ fmt .Println (data )
124+ return nil
125+ }
126+ }
127+
100128func getConfigPath (name string ) string {
101129 _ , filename , _ , ok := runtime .Caller (1 )
102130 if ok {
0 commit comments