Allow classic commands in DMs even when disabled, add channel name to music end message, better check for API_TYPE, update docs
This commit is contained in:
parent
50bff306c0
commit
e474d838b0
11 changed files with 94 additions and 35 deletions
|
@ -14,17 +14,19 @@ class AwaitRejoin extends EventEmitter {
|
|||
this.listener = (member, newChannel) => this.verify(member, newChannel);
|
||||
this.bot.on("voiceChannelJoin", this.listener);
|
||||
this.bot.on("voiceChannelSwitch", this.listener);
|
||||
setTimeout(() => this.stop(), 10000);
|
||||
this.stopTimeout = setTimeout(() => this.stop(), 10000);
|
||||
this.checkInterval = setInterval(() => this.verify({ id: memberID }, channel, true), 1000);
|
||||
}
|
||||
|
||||
verify(member, channel, checked) {
|
||||
if (this.channel.id === channel.id) {
|
||||
if ((this.member === member.id && this.channel.voiceMembers.has(member.id)) || (this.anyone && !checked)) {
|
||||
clearTimeout(this.stopTimeout);
|
||||
this.rejoined = true;
|
||||
this.stop(member);
|
||||
return true;
|
||||
} else if (this.anyone && (!checked || this.channel.voiceMembers.size > 1)) {
|
||||
clearTimeout(this.stopTimeout);
|
||||
this.rejoined = true;
|
||||
this.stop(random(this.channel.voiceMembers.filter((i) => i.id !== this.bot.user.id && !i.bot)));
|
||||
return true;
|
||||
|
|
|
@ -11,7 +11,7 @@ import EventEmitter from "events";
|
|||
|
||||
// only requiring this to work around an issue regarding worker threads
|
||||
const nodeRequire = createRequire(import.meta.url);
|
||||
if (process.env.API_TYPE === "none") {
|
||||
if (!process.env.API_TYPE || process.env.API_TYPE === "none") {
|
||||
nodeRequire(`../../build/${process.env.DEBUG && process.env.DEBUG === "true" ? "Debug" : "Release"}/image.node`);
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ export async function checkStatus() {
|
|||
const response = await request(`http://${node.url}/version`, { headers: { authorization: node.auth } }).then(res => res.body.text());
|
||||
if (response) newNodes.push(node);
|
||||
} catch {
|
||||
logger.error(`Failed to get status of Lavalink node ${node.host}.`);
|
||||
logger.error(`Failed to get status of Lavalink node ${node.url}.`);
|
||||
}
|
||||
}
|
||||
nodes = newNodes;
|
||||
|
@ -230,8 +230,10 @@ export async function nextSong(client, options, connection, track, info, music,
|
|||
const newTrack = await connection.node.rest.decode(newQueue[0]);
|
||||
nextSong(client, options, connection, newQueue[0], newTrack, music, voiceChannel, host, player.loop, player.shuffle, track);
|
||||
try {
|
||||
if (newQueue[0] !== track && playingMessage.channel.messages.has(playingMessage.id)) await playingMessage.delete();
|
||||
if (newQueue[0] !== track && player.playMessage.channel.messages.has(player.playMessage.id)) await player.playMessage.delete();
|
||||
if (options.type === "classic") {
|
||||
if (newQueue[0] !== track && playingMessage.channel.messages.has(playingMessage.id)) await playingMessage.delete();
|
||||
if (newQueue[0] !== track && player.playMessage.channel.messages.has(player.playMessage.id)) await player.playMessage.delete();
|
||||
}
|
||||
} catch {
|
||||
// no-op
|
||||
}
|
||||
|
@ -241,19 +243,14 @@ export async function nextSong(client, options, connection, track, info, music,
|
|||
players.delete(voiceChannel.guild.id);
|
||||
queues.delete(voiceChannel.guild.id);
|
||||
skipVotes.delete(voiceChannel.guild.id);
|
||||
const content = "🔊 The current voice channel session has ended.";
|
||||
const content = `🔊 The voice channel session in \`${voiceChannel.name}\` has ended.`;
|
||||
if (options.type === "classic") {
|
||||
await client.createMessage(options.channel.id, content);
|
||||
} else {
|
||||
await options.interaction.createMessage(content);
|
||||
}
|
||||
try {
|
||||
if (playingMessage.channel.messages.has(playingMessage.id)) await playingMessage.delete();
|
||||
if (player?.playMessage.channel.messages.has(player.playMessage.id)) await player.playMessage.delete();
|
||||
} catch {
|
||||
// no-op
|
||||
}
|
||||
} else {
|
||||
}
|
||||
if (options.type === "classic") {
|
||||
try {
|
||||
if (playingMessage.channel.messages.has(playingMessage.id)) await playingMessage.delete();
|
||||
if (player?.playMessage.channel.messages.has(player.playMessage.id)) await player.playMessage.delete();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue