import 'dotenv/config';
import { Client, GatewayIntentBits, VoiceChannel } from 'discord.js';
import { connectToChannel } from './util/helpers.js';
-import {startSpeaking, stopSpeaking} from './sammi.js';
+import {startSpeaking, stopSpeaking, sendEffect } from './sammi.js';
const token = process.env.TOKEN
const channelId = process.env.CHANNEL!
client.destroy()
}
+client.on('voiceChannelEffectSend', sendEffect)
+
process.on('exit', cleanup)
process.on('SIGTERM', cleanup)
process.on('SIGINT', cleanup)
import http from 'http'
+import { VoiceChannelEffect } from 'discord.js'
const sammiEndpoint = `http://localhost:${process.env.SAMMIPORT!}/webhook`
const passwrd = process.env.PASS || ""
req.on('error', console.error)
req.end()
}
+
+export function sendEffect(effect : VoiceChannelEffect) {
+ const mutData : any = effect
+ delete mutData.guild
+ mutData.trigger = "va4s:effect"
+ const data = JSON.stringify(mutData)
+
+ const req = http.request(sammiEndpoint, {method: 'POST', headers: headers(data)})
+ console.log(`User ${effect.userId} send effect ${effect.soundId}`)
+ req.write(data)
+ req.on('error', console.error)
+ req.end()
+}