1
0
Fork 0
out-of-your-element-fork-th.../d2m/event-dispatcher.js

34 lines
1.3 KiB
JavaScript
Raw Normal View History

2023-06-28 12:06:56 +00:00
const assert = require("assert").strict
2023-05-04 20:25:00 +00:00
const {sync} = require("../passthrough")
/** @type {import("./actions/send-message")}) */
const sendMessage = sync.require("./actions/send-message")
/** @type {import("./actions/add-reaction")}) */
const addReaction = sync.require("./actions/add-reaction")
2023-05-04 20:25:00 +00:00
// Grab Discord events we care about for the bridge, check them, and pass them on
2023-04-30 12:57:30 +00:00
2023-04-25 20:06:08 +00:00
module.exports = {
/**
* @param {import("./discord-client")} client
* @param {import("discord-api-types/v10").GatewayMessageCreateDispatchData} message
*/
onMessageCreate(client, message) {
2023-06-28 12:06:56 +00:00
/** @ts-ignore @type {import("discord-api-types/v10").APIGuildChannel} */
const channel = client.channels.get(message.channel_id)
const guild = client.guilds.get(channel.guild_id)
2023-07-01 13:40:54 +00:00
if (message.guild_id !== "112760669178241024" && message.guild_id !== "497159726455455754") return // TODO: activate on other servers (requires the space creation flow to be done first)
2023-06-28 12:06:56 +00:00
sendMessage.sendMessage(message, guild)
2023-04-25 20:06:08 +00:00
},
/**
* @param {import("./discord-client")} client
* @param {import("discord-api-types/v10").GatewayMessageReactionAddDispatchData} data
*/
onReactionAdd(client, data) {
2023-06-28 11:38:58 +00:00
if (data.emoji.id !== null) return // TODO: image emoji reactions
2023-04-25 20:06:08 +00:00
console.log(data)
addReaction.addReaction(data)
2023-04-25 20:06:08 +00:00
}
}