消息事件注册
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'
|
||||
const emitter = mitt()
|
||||
import msg from "./base.js"
|
||||
|
||||
|
||||
/**
|
||||
* 新消息通知
|
||||
* @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
|
||||
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);
|
||||
});
|
||||
console.log(1)
|
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