消息事件注册
This commit is contained in:
parent
3ca67f9721
commit
10aebe67e7
16
bin/channel-core/base.js
Normal file
16
bin/channel-core/base.js
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
import { createOpenAPI, createWebsocket } from 'qq-guild-bot';
|
||||||
|
|
||||||
|
|
||||||
|
const testConfig = {
|
||||||
|
appID: '102011802', // 申请机器人时获取到的机器人 BotAppID
|
||||||
|
token: 'YPwwxVTwbOy9ULfvsKpmax2PC4xXr74x', // 申请机器人时获取到的机器人 BotToken
|
||||||
|
intents: ['GUILD_MESSAGES', 'MESSAGE_AUDIT'], // 事件订阅,用于开启可接收的消息类型
|
||||||
|
sandbox: true, // 沙箱支持,可选,默认false. v2.7.0+
|
||||||
|
};
|
||||||
|
|
||||||
|
// 创建 client
|
||||||
|
export const client = createOpenAPI(testConfig);
|
||||||
|
|
||||||
|
// 创建 websocket 连接
|
||||||
|
export const ws = createWebsocket(testConfig);
|
||||||
|
|
44
bin/channel-core/index.js
Normal file
44
bin/channel-core/index.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import { messageCreate, messageDelete } from "../message/index.js";
|
||||||
|
import { ws } from "./base.js";
|
||||||
|
// 消息监听
|
||||||
|
ws.on('READY', (wsdata) => {
|
||||||
|
console.log('[READY] 事件接收 :', wsdata);
|
||||||
|
});
|
||||||
|
ws.on('ERROR', (data) => {
|
||||||
|
console.log('[ERROR] 事件接收 :', data);
|
||||||
|
});
|
||||||
|
ws.on('GUILDS', (data) => {
|
||||||
|
console.log('[GUILDS] 事件接收 :', data);
|
||||||
|
});
|
||||||
|
ws.on('GUILD_MEMBERS', (data) => {
|
||||||
|
console.log('[GUILD_MEMBERS] 事件接收 :', data);
|
||||||
|
});
|
||||||
|
ws.on('GUILD_MESSAGES', (data) => {
|
||||||
|
// console.log('[GUILD_MESSAGES] 事件接收 :', JSON.stringify(data));
|
||||||
|
if(data.eventType == "MESSAGE_CREATE"){
|
||||||
|
messageCreate(data.msg)
|
||||||
|
}else if(data.eventType == "MESSAGE_DELETE"){
|
||||||
|
messageDelete(data.msg)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
ws.on('GUILD_MESSAGE_REACTIONS', (data) => {
|
||||||
|
console.log('[GUILD_MESSAGE_REACTIONS] 事件接收 :', data);
|
||||||
|
});
|
||||||
|
ws.on('DIRECT_MESSAGE', (data) => {
|
||||||
|
console.log('[DIRECT_MESSAGE] 事件接收 :', data);
|
||||||
|
});
|
||||||
|
ws.on('INTERACTION', (data) => {
|
||||||
|
console.log('[INTERACTION] 事件接收 :', data);
|
||||||
|
});
|
||||||
|
ws.on('MESSAGE_AUDIT', (data) => {
|
||||||
|
console.log('[MESSAGE_AUDIT] 事件接收 :', data);
|
||||||
|
});
|
||||||
|
ws.on('FORUMS_EVENT', (data) => {
|
||||||
|
console.log('[FORUMS_EVENT] 事件接收 :', data);
|
||||||
|
});
|
||||||
|
ws.on('AUDIO_ACTION', (data) => {
|
||||||
|
console.log('[AUDIO_ACTION] 事件接收 :', data);
|
||||||
|
});
|
||||||
|
ws.on('PUBLIC_GUILD_MESSAGES', (data) => {
|
||||||
|
console.log('[PUBLIC_GUILD_MESSAGES] 事件接收 :', data);
|
||||||
|
});
|
4
bin/message/base.js
Normal file
4
bin/message/base.js
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
import mitt from 'mitt'
|
||||||
|
const emitter = mitt()
|
||||||
|
|
||||||
|
export default emitter
|
@ -1,4 +1,29 @@
|
|||||||
import mitt from 'mitt'
|
import msg from "./base.js"
|
||||||
const emitter = mitt()
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新消息通知
|
||||||
|
* @param {Object} message message对象
|
||||||
|
*/
|
||||||
|
export function messageCreate(message){
|
||||||
|
msg.emit("messageCreate",message)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 注册新消息通知
|
||||||
|
* @param {Function} fun 回调函数
|
||||||
|
*/
|
||||||
|
|
||||||
|
export function onMessageCreate(fun){
|
||||||
|
msg.on("messageCreate",fun)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 撤回消息通知
|
||||||
|
* @param {Object} message message对象
|
||||||
|
*/
|
||||||
|
export function messageDelete(message){
|
||||||
|
msg.emit("messageDelete",message)
|
||||||
|
}
|
||||||
|
|
||||||
export default emitter
|
|
60
index.js
60
index.js
@ -1,59 +1,7 @@
|
|||||||
import { createOpenAPI, createWebsocket } from 'qq-guild-bot';
|
import "./bin/channel-core/index.js"
|
||||||
|
|
||||||
import message from './bin/message/index.js'
|
// 加载插件
|
||||||
|
import "./plugins/activeStatistics/index.js"
|
||||||
|
|
||||||
message.$emit("aaa")
|
|
||||||
const testConfig = {
|
|
||||||
appID: '102011802', // 申请机器人时获取到的机器人 BotAppID
|
|
||||||
token: 'YPwwxVTwbOy9ULfvsKpmax2PC4xXr74x', // 申请机器人时获取到的机器人 BotToken
|
|
||||||
intents: ['GUILD_MESSAGES','MESSAGE_AUDIT'], // 事件订阅,用于开启可接收的消息类型
|
|
||||||
sandbox: true, // 沙箱支持,可选,默认false. v2.7.0+
|
|
||||||
};
|
|
||||||
|
|
||||||
// 创建 client
|
console.log(1)
|
||||||
const client = createOpenAPI(testConfig);
|
|
||||||
|
|
||||||
// 创建 websocket 连接
|
|
||||||
const ws = createWebsocket(testConfig);
|
|
||||||
// 消息监听
|
|
||||||
ws.on('READY', (wsdata) => {
|
|
||||||
console.log('[READY] 事件接收 :', wsdata);
|
|
||||||
});
|
|
||||||
ws.on('ERROR', (data) => {
|
|
||||||
console.log('[ERROR] 事件接收 :', data);
|
|
||||||
});
|
|
||||||
ws.on('GUILDS', (data) => {
|
|
||||||
console.log('[GUILDS] 事件接收 :', data);
|
|
||||||
});
|
|
||||||
ws.on('GUILD_MEMBERS', (data) => {
|
|
||||||
console.log('[GUILD_MEMBERS] 事件接收 :', data);
|
|
||||||
});
|
|
||||||
ws.on('GUILD_MESSAGES', (data) => {
|
|
||||||
console.log('[GUILD_MESSAGES] 事件接收 :', JSON.stringify(data));
|
|
||||||
client.messageApi.deleteMessage(data.msg.channel_id, data.msg.id, false ).then(({d})=>{
|
|
||||||
console.log(d)
|
|
||||||
}).catch((err)=>{
|
|
||||||
console.log(err)
|
|
||||||
})
|
|
||||||
});
|
|
||||||
ws.on('GUILD_MESSAGE_REACTIONS', (data) => {
|
|
||||||
console.log('[GUILD_MESSAGE_REACTIONS] 事件接收 :', data);
|
|
||||||
});
|
|
||||||
ws.on('DIRECT_MESSAGE', (data) => {
|
|
||||||
console.log('[DIRECT_MESSAGE] 事件接收 :', data);
|
|
||||||
});
|
|
||||||
ws.on('INTERACTION', (data) => {
|
|
||||||
console.log('[INTERACTION] 事件接收 :', data);
|
|
||||||
});
|
|
||||||
ws.on('MESSAGE_AUDIT', (data) => {
|
|
||||||
console.log('[MESSAGE_AUDIT] 事件接收 :', data);
|
|
||||||
});
|
|
||||||
ws.on('FORUMS_EVENT', (data) => {
|
|
||||||
console.log('[FORUMS_EVENT] 事件接收 :', data);
|
|
||||||
});
|
|
||||||
ws.on('AUDIO_ACTION', (data) => {
|
|
||||||
console.log('[AUDIO_ACTION] 事件接收 :', data);
|
|
||||||
});
|
|
||||||
ws.on('PUBLIC_GUILD_MESSAGES', (data) => {
|
|
||||||
console.log('[PUBLIC_GUILD_MESSAGES] 事件接收 :', data);
|
|
||||||
});
|
|
10
plugins/activeStatistics/index.js
Normal file
10
plugins/activeStatistics/index.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import { onMessageCreate } from "../../bin/message/index.js"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收到消息处理函数
|
||||||
|
* @param {Object} msg 消息对象
|
||||||
|
*/
|
||||||
|
function createMessage(msg){
|
||||||
|
console.log("收到消息",msg)
|
||||||
|
}
|
||||||
|
onMessageCreate(createMessage)
|
Loading…
Reference in New Issue
Block a user