IOTQQ框架使用教程
本文最后更新于 2021年04月20日 已经是 482天前了 ,文章可能具有时效性,若有错误或已失效,请在下方留言
文章还在施工和完善呢!

前言

目前IOTQQ框架挺多的,许多功能也挺强大的,但我想要的是一个完全异步,自带队列,而且可以编译出二进制文件的框架,所以就有了这个项目

简单介绍

GitHub go.mod Go version (branch & subdirectory of monorepo)
GitHub tag (latest SemVer pre-release)
GitHub


支持的功能

入门使用

安装框架 (就一条命令欧~)

go get github.com/mcoo/OPQBot

使用

    opqBot := OPQBot.NewBotManager(2629326992,"http://192.168.2.2:8899") //前面是机器人的QQ号,后面参数是机器人接口的地址
    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)
})

好友消息事件

err = opqBot.AddEvent(OPQBot.EventNameOnFriendMessage, func(botQQ int64, packet OPQBot.FriendMsgPack) {
    log.Println(botQQ,packet)
})

群禁言事件

err = opqBot.AddEvent(OPQBot.EventNameOnGroupShut, func(botQQ int64, packet OPQBot.GroupShutPack) {
        log.Println(botQQ, packet)
    })

群成员撤回消息事件

    err = opqBot.AddEvent(OPQBot.EventNameOnGroupRevoke, func(botQQ int64, e OPQBot.GroupRevokePack) {
        log.Println(e)
    })

管理员变更事件

    err = opqBot.AddEvent(OPQBot.EventNameOnGroupAdmin, func(botQQ int64, e OPQBot.GroupAdminPack) {
        log.Println(e)
    })

主动退群成功事件

    err = opqBot.AddEvent(OPQBot.EventNameOnGroupExitSuccess, func(botQQ int64, e OPQBot.GroupExitSuccessPack) {
        log.Println(e)
    })

群成员退出群聊事件

    err = opqBot.AddEvent(OPQBot.EventNameOnGroupExit, func(botQQ int64, e OPQBot.GroupExitPack) {
        log.Println(e)
    })

某人进群事件

    err = opqBot.AddEvent(OPQBot.EventNameOnGroupJoin, func(botQQ int64, e OPQBot.GroupJoinPack) {
        log.Println(e)
    })

群系统消息相关通知 礼物通知 头衔变更通知等

    err = opqBot.AddEvent(OPQBot.EventNameOnGroupSystemNotify, func(botQQ int64, e OPQBot.GroupSystemNotifyPack) {
        log.Println(e)
    })

邀请加群,加群申请等管理员事件

    err = opqBot.AddEvent(OPQBot.EventNameOnGroupAdminSysNotify, func(botQQ int64, e OPQBot.GroupAdminSysNotifyPack) {
        log.Println(e)
    })

机器人连接断开事件

err = opqBot.AddEvent(OPQBot.EventNameOnConnected, func() {
        log.Println("连接成功!!!")
    })
    if err != nil {
        log.Println(err.Error())
    }
    err = opqBot.AddEvent(OPQBot.EventNameOnDisconnected, func() {
        log.Println("连接断开!!")
    })
    if err != nil {
        log.Println(err.Error())
    }

其他事件

    err = opqBot.AddEvent(OPQBot.EventNameOnOther, func(botQQ int64, e interface{}) {
        log.Println(e)
    })

发送消息函数

opqbot.Send(OPQBot.SendMsgPack{
                    SendToType:   OPQBot.SendToTypeGroup,
                    ToUserUid:    packet.FromGroupID,
                    Content:      OPQBot.SendTypePicMsgByBase64Content{
                        Content: OPQBot.MacroAt([]int64{packet.FromUserID})+"30s后撤回哟,注意身体 "+tu.Data[0].Title+"\n"+OPQBot.MacroId(),
                        Base64:  base64.StdEncoding.EncodeToString(res.Content()),
                        Flash:   false,
                    },
                    CallbackFunc: func(Code int, Info string,record OPQBot.MyRecord) {
                        time.Sleep(30*time.Second)
                        _ = opqbot.ReCallMsg(packet.FromGroupID,record.MsgRandom,record.MsgSeq)
                    },
                })

上面CallbackFunc可以不填,只有消息内容中含有宏OPQBot.MacroId() record 中才有消息的值,才能去用于撤回消息!

功能函数

success := opqBot.Zan(packet.FromUserID, 50)

提供base64发送语音(即将被移除)

opqBot.OldSendVoice(packet.FromGroupID,2,b)

撤回消息

_ = opqBot.ReCallMsg(record.FromGroupID, record.MsgRandom, record.MsgSeq)

刷新Key (勿滥用)

err := opqBot.RefreshKey()

戳一戳

err := opqBot.Chuo(1, packet.FromGroupID, packet.FromUserID)
                if err != nil {
                    log.Println(err.Error())
                }

设置队列速度

// 设置发送队列每次发送的间隔时间 默认1000ms
    opqBot.SetSendDelayed(1000)

func MacroAt(qqs []int64) string
//返回At的宏

func MacroAtAll() string
//返回At所有人的宏

func MacroId() string
//返回撤回消息使用的ID

example

主要看仓库里的example,博客可能更新不及时!!!

更新记录

20210318
简化发送代码
20210319
将宏移出BotManager,添加对发送队列每次发送时间的控制
20210322
添加发送函数的中间件
20210403
增加发送回调和优化中间件,基础功能完善
20210405
添加对撤回功能的完善和支持 注意看一下 example
20210406
戳一戳功能,example 即是文档
20210407
删除多余log,完善戳戳
20210420
添加Mp3转Silk功能和一些其他的功能
广告 广告位招租
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
小黄脸
上一篇
下一篇