99type (
1010 PrivateMessagePlugin = func (* client.QQClient , * message.PrivateMessage ) int32
1111 GroupMessagePlugin = func (* client.QQClient , * message.GroupMessage ) int32
12+ TempMessagePlugin = func (* client.QQClient , * message.TempMessage ) int32
1213 MemberJoinGroupPlugin = func (* client.QQClient , * client.MemberJoinGroupEvent ) int32
1314 MemberLeaveGroupPlugin = func (* client.QQClient , * client.MemberLeaveGroupEvent ) int32
1415 JoinGroupPlugin = func (* client.QQClient , * client.GroupInfo ) int32
@@ -28,6 +29,7 @@ const (
2829
2930var PrivateMessagePluginList = make ([]PrivateMessagePlugin , 0 )
3031var GroupMessagePluginList = make ([]GroupMessagePlugin , 0 )
32+ var TempMessagePluginList = make ([]TempMessagePlugin , 0 )
3133var MemberJoinGroupPluginList = make ([]MemberJoinGroupPlugin , 0 )
3234var MemberLeaveGroupPluginList = make ([]MemberLeaveGroupPlugin , 0 )
3335var JoinGroupPluginList = make ([]JoinGroupPlugin , 0 )
@@ -42,6 +44,7 @@ var NewFriendAddedPluginList = make([]NewFriendAddedPlugin, 0)
4244func Serve (cli * client.QQClient ) {
4345 cli .OnPrivateMessage (handlePrivateMessage )
4446 cli .OnGroupMessage (handleGroupMessage )
47+ cli .OnTempMessage (handleTempMessage )
4548 cli .OnGroupMemberJoined (handleMemberJoinGroup )
4649 cli .OnGroupMemberLeaved (handleMemberLeaveGroup )
4750 cli .OnJoinGroup (handleJoinGroup )
@@ -64,6 +67,11 @@ func AddGroupMessagePlugin(plugin GroupMessagePlugin) {
6467 GroupMessagePluginList = append (GroupMessagePluginList , plugin )
6568}
6669
70+ // 添加临时消息插件
71+ func AddTempMessagePlugin (plugin TempMessagePlugin ) {
72+ TempMessagePluginList = append (TempMessagePluginList , plugin )
73+ }
74+
6775// 添加群成员加入插件
6876func AddMemberJoinGroupPlugin (plugin MemberJoinGroupPlugin ) {
6977 MemberJoinGroupPluginList = append (MemberJoinGroupPluginList , plugin )
@@ -134,6 +142,16 @@ func handleGroupMessage(cli *client.QQClient, event *message.GroupMessage) {
134142 })
135143}
136144
145+ func handleTempMessage (cli * client.QQClient , event * message.TempMessage ) {
146+ SafeGo (func () {
147+ for _ , plugin := range TempMessagePluginList {
148+ if result := plugin (cli , event ); result == MessageBlock {
149+ break
150+ }
151+ }
152+ })
153+ }
154+
137155func handleMemberJoinGroup (cli * client.QQClient , event * client.MemberJoinGroupEvent ) {
138156 SafeGo (func () {
139157 for _ , plugin := range MemberJoinGroupPluginList {
0 commit comments