Skip to content
This repository has been archived by the owner on Jul 27, 2024. It is now read-only.

packet现在修改为传递指针,请注意 #6

Merged
merged 2 commits into from
May 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 2 additions & 43 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,50 +17,8 @@
### 安装 💡
` github.com/mcoo/OPQBot@latest`
[使用教程](https://mcenjoy.cn/330/)
### 例子 👆
```golang
package main

import (
"github.com/mcoo/OPQBot"
"log"
"time"
)
func main() {
opqBot := OPQBot.NewBotManager(2629326992,"https://192.168.2.2:8899")
err := opqBot.Start()
if err != nil {
log.Println(err.Error())
}
defer opqBot.Stop()
err = opqBot.AddEvent(OPQBot.EventNameOnGroupMessage, func(botQQ int64, packet OPQBot.GroupMsgPack) {
log.Println(botQQ,packet)
})
if err != nil {
log.Println(err.Error())
}
err = opqBot.AddEvent(OPQBot.EventNameOnFriendMessage, func(botQQ int64, packet OPQBot.FriendMsgPack) {
log.Println(botQQ,packet)
})
if err != nil {
log.Println(err.Error())
}
err = opqBot.AddEvent(OPQBot.EventNameOnGroupShut, func(botQQ int64, packet OPQBot.GroupShutPack) {
log.Println(botQQ,packet)
})
if err != nil {
log.Println(err.Error())
}
opqBot.Send(OPQBot.SendMsgPack{
SendToType: OPQBot.SendToTypeFriend,
ToUserUid: 2435932516,
Content: OPQBot.SendTypePicMsgByUrlContent{Content: "你好", PicUrl: "https://img-home.csdnimg.cn/images/20201124032511.png"},
})
time.Sleep(1*time.Hour) // 可以用WaitGroup替代
}
```

更多请看 [wiki](https://github.com/mcoo/OPQBot/wiki)
请看 [wiki](https://github.com/mcoo/OPQBot/wiki)

以example文件为准 [example](https://github.com/opq-osc/OPQBot/blob/main/example/main.go)

Expand All @@ -77,4 +35,5 @@ func main() {
20210424 添加事件的中间件,向下兼容以前的代码,使用看example,完善silk功能
20210427 修复SocketIO数据畸形的问题,添加群上传功能
20210428 添加内置session 相关内容看Wiki
20210512 packet现在修改为传递指针,请注意
```
22 changes: 11 additions & 11 deletions example/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ func main() {
//log.Println(infoReg.FindStringSubmatch(lists.Data.Data[0]["html"].(string))[1])

//log.Println(ck.PSkey.Qzone)
err = opqBot.AddEvent(OPQBot.EventNameOnGroupMessage, VerifyBlackList, func(botQQ int64, packet OPQBot.GroupMsgPack) {
err = opqBot.AddEvent(OPQBot.EventNameOnGroupMessage, VerifyBlackList, func(botQQ int64, packet *OPQBot.GroupMsgPack) {
if packet.FromUserID != opqBot.QQ {
s := opqBot.Session.SessionStart(packet.FromUserID)
//last, _ := s.GetString("last")
Expand Down Expand Up @@ -190,7 +190,7 @@ func main() {
if err != nil {
log.Println(err.Error())
}
err = opqBot.AddEvent(OPQBot.EventNameOnFriendMessage, func(botQQ int64, packet OPQBot.FriendMsgPack) {
err = opqBot.AddEvent(OPQBot.EventNameOnFriendMessage, func(botQQ int64, packet *OPQBot.FriendMsgPack) {
if packet.Content == "赞我" {
i, ok := ZanNote[packet.FromUin]
if ok {
Expand Down Expand Up @@ -260,7 +260,7 @@ func main() {
if err != nil {
log.Println(err.Error())
}
err = opqBot.AddEvent(OPQBot.EventNameOnGroupShut, func(botQQ int64, packet OPQBot.GroupShutPack) {
err = opqBot.AddEvent(OPQBot.EventNameOnGroupShut, func(botQQ int64, packet *OPQBot.GroupShutPack) {
log.Println(botQQ, packet)
})
if err != nil {
Expand All @@ -281,25 +281,25 @@ func main() {
err = opqBot.AddEvent(OPQBot.EventNameOnOther, func(botQQ int64, e interface{}) {
log.Println(e)
})
err = opqBot.AddEvent(OPQBot.EventNameOnGroupSystemNotify, func(botQQ int64, e OPQBot.GroupSystemNotifyPack) {
err = opqBot.AddEvent(OPQBot.EventNameOnGroupSystemNotify, func(botQQ int64, e *OPQBot.GroupSystemNotifyPack) {
log.Println(e)
})
err = opqBot.AddEvent(OPQBot.EventNameOnGroupRevoke, func(botQQ int64, e OPQBot.GroupRevokePack) {
err = opqBot.AddEvent(OPQBot.EventNameOnGroupRevoke, func(botQQ int64, e *OPQBot.GroupRevokePack) {
log.Println(e)
})
err = opqBot.AddEvent(OPQBot.EventNameOnGroupJoin, func(botQQ int64, e OPQBot.GroupJoinPack) {
err = opqBot.AddEvent(OPQBot.EventNameOnGroupJoin, func(botQQ int64, e *OPQBot.GroupJoinPack) {
log.Println(e)
})
err = opqBot.AddEvent(OPQBot.EventNameOnGroupAdmin, func(botQQ int64, e OPQBot.GroupAdminPack) {
err = opqBot.AddEvent(OPQBot.EventNameOnGroupAdmin, func(botQQ int64, e *OPQBot.GroupAdminPack) {
log.Println(e)
})
err = opqBot.AddEvent(OPQBot.EventNameOnGroupExit, func(botQQ int64, e OPQBot.GroupExitPack) {
err = opqBot.AddEvent(OPQBot.EventNameOnGroupExit, func(botQQ int64, e *OPQBot.GroupExitPack) {
log.Println(e)
})
err = opqBot.AddEvent(OPQBot.EventNameOnGroupExitSuccess, func(botQQ int64, e OPQBot.GroupExitSuccessPack) {
err = opqBot.AddEvent(OPQBot.EventNameOnGroupExitSuccess, func(botQQ int64, e *OPQBot.GroupExitSuccessPack) {
log.Println(e)
})
err = opqBot.AddEvent(OPQBot.EventNameOnGroupAdminSysNotify, func(botQQ int64, e OPQBot.GroupAdminSysNotifyPack) {
err = opqBot.AddEvent(OPQBot.EventNameOnGroupAdminSysNotify, func(botQQ int64, e *OPQBot.GroupAdminSysNotifyPack) {
log.Println(e)
})
if err != nil {
Expand All @@ -313,7 +313,7 @@ func main() {
//})
opqBot.Wait()
}
func VerifyBlackList(botQQ int64, packet OPQBot.GroupMsgPack) {
func VerifyBlackList(botQQ int64, packet *OPQBot.GroupMsgPack) {
if packet.FromUserID == 123123123 {
log.Println("触发黑名单")
return
Expand Down
24 changes: 12 additions & 12 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ func (b *BotManager) Start() error {
result.NowIndex = 0
result.MaxIndex = len(f) - 1

f[0].Call([]reflect.Value{reflect.ValueOf(args.CurrentQQ), reflect.ValueOf(result)})
f[0].Call([]reflect.Value{reflect.ValueOf(args.CurrentQQ), reflect.ValueOf(&result)})
}
//log.Println(args)
})
Expand Down Expand Up @@ -872,25 +872,25 @@ func (b *BotManager) AddEvent(EventName string, f ...interface{}) error {
var okStruck string
switch EventName {
case EventNameOnFriendMessage:
okStruck = "OPQBot.FriendMsgPack"
okStruck = "*OPQBot.FriendMsgPack"
case EventNameOnGroupMessage:
okStruck = "OPQBot.GroupMsgPack"
okStruck = "*OPQBot.GroupMsgPack"
case EventNameOnGroupJoin:
okStruck = "OPQBot.GroupJoinPack"
okStruck = "*OPQBot.GroupJoinPack"
case EventNameOnGroupAdmin:
okStruck = "OPQBot.GroupAdminPack"
okStruck = "*OPQBot.GroupAdminPack"
case EventNameOnGroupExit:
okStruck = "OPQBot.GroupExitPack"
okStruck = "*OPQBot.GroupExitPack"
case EventNameOnGroupExitSuccess:
okStruck = "OPQBot.GroupExitSuccessPack"
okStruck = "*OPQBot.GroupExitSuccessPack"
case EventNameOnGroupAdminSysNotify:
okStruck = "OPQBot.GroupAdminSysNotifyPack"
okStruck = "*OPQBot.GroupAdminSysNotifyPack"
case EventNameOnGroupRevoke:
okStruck = "OPQBot.GroupRevokePack"
okStruck = "*OPQBot.GroupRevokePack"
case EventNameOnGroupShut:
okStruck = "OPQBot.GroupShutPack"
okStruck = "*OPQBot.GroupShutPack"
case EventNameOnGroupSystemNotify:
okStruck = "OPQBot.GroupSystemNotifyPack"
okStruck = "*OPQBot.GroupSystemNotifyPack"
case EventNameOnDisconnected:
okStruck = "ok"
case EventNameOnConnected:
Expand All @@ -906,7 +906,7 @@ func (b *BotManager) AddEvent(EventName string, f ...interface{}) error {
continue
}
if fVal.Type().NumIn() != 2 || fVal.Type().In(1).String() != okStruck {
return errors.New(EventName + ": FuncError, Your Function " + fVal.Type().Name() + " Should Have " + okStruck)
return errors.New(EventName + ": FuncError, Your Function Should Have " + okStruck + " Your Struct is " + fVal.Type().In(1).String())
}

events = append(events, fVal)
Expand Down
3 changes: 3 additions & 0 deletions model.go
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,9 @@ func (ctx *Context) Next(currentQQ int64, result interface{}) {
return
}
ctx.NowIndex += 1
//r := reflect.ValueOf(result)
//r.Field(0).Field(0).Elem().SetInt(int64(ctx.NowIndex))
//log.Println(ctx.NowIndex)
ctx.f[ctx.NowIndex].Call([]reflect.Value{reflect.ValueOf(currentQQ), reflect.ValueOf(result)})
}

Expand Down