Autocomplete nwrplay
This commit is contained in:
parent
e5d9a687d4
commit
081b4ef261
68
index.js
68
index.js
|
@ -643,19 +643,6 @@ discord.on('ready', async () => {
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "nwrplay",
|
|
||||||
"description": "Nwr stream",
|
|
||||||
"type": 1,
|
|
||||||
"options": [
|
|
||||||
{
|
|
||||||
"name": "callsign",
|
|
||||||
"description": "The URL of the stream to play",
|
|
||||||
"type": 3,
|
|
||||||
"required": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "pause",
|
"name": "pause",
|
||||||
"description": "Pause/Unpause the current stream",
|
"description": "Pause/Unpause the current stream",
|
||||||
|
@ -674,10 +661,33 @@ discord.on('ready', async () => {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
nwrplayCommand = {
|
||||||
|
"name": "nwrplay",
|
||||||
|
"description": "Nwr stream",
|
||||||
|
"type": 1,
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"name": "callsign",
|
||||||
|
"description": "The URL of the stream to play",
|
||||||
|
"type": 3,
|
||||||
|
"required": true,
|
||||||
|
"choices": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
for (const key in nwrstreams.callsigns) {
|
||||||
|
nwrplayCommand.options[0].choices.push({
|
||||||
|
"name": key,
|
||||||
|
"value": key
|
||||||
|
});
|
||||||
|
}
|
||||||
|
commands.push(nwrplayCommand);
|
||||||
}
|
}
|
||||||
await (async () => {
|
await (async () => {
|
||||||
try {
|
try {
|
||||||
//Global
|
//Global
|
||||||
|
if(config.debug >= 1) console.log(`${colors.magenta("[DEBUG]")} Registering global commands: ${JSON.stringify(commands, null, 2)}`);
|
||||||
await rest.put(Routes.applicationCommands(discord.user.id), { body: commands })
|
await rest.put(Routes.applicationCommands(discord.user.id), { body: commands })
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
|
@ -1058,22 +1068,22 @@ discord.on("interactionCreate", async (interaction) => {
|
||||||
if (!interaction.inGuild()) return interaction.reply({ content: "This command can only be used in a guild", ephemeral: true });
|
if (!interaction.inGuild()) return interaction.reply({ content: "This command can only be used in a guild", ephemeral: true });
|
||||||
// Get the callsign
|
// Get the callsign
|
||||||
const callsign = interaction.options.getString("callsign");
|
const callsign = interaction.options.getString("callsign");
|
||||||
// Read the JSON file
|
// Read the JSON file
|
||||||
const data = nwrstreams
|
const data = nwrstreams
|
||||||
// Get the URL associated with the callsign
|
// Get the URL associated with the callsign
|
||||||
const url = data.callsigns[callsign];
|
const url = data.callsigns[callsign];
|
||||||
// Sanity check URL for funny stuff
|
// Sanity check URL for funny stuff
|
||||||
if (!url.match(/https?:\/\/[^\s]+/)) return interaction.reply({ content: "Invalid URL", ephemeral: true });
|
if (!url.match(/https?:\/\/[^\s]+/)) return interaction.reply({ content: "Invalid URL", ephemeral: true });
|
||||||
// Get the channel
|
// Get the channel
|
||||||
channel = interaction.member.voice.channel;
|
channel = interaction.member.voice.channel;
|
||||||
if (!channel) return interaction.reply({ content: "You need to be in a voice channel", ephemeral: true });
|
if (!channel) return interaction.reply({ content: "You need to be in a voice channel", ephemeral: true });
|
||||||
// Join the channel and play the stream
|
// Join the channel and play the stream
|
||||||
st = JoinChannel(channel, url, .1, interaction)
|
st = JoinChannel(channel, url, .1, interaction)
|
||||||
if (st) {
|
if (st) {
|
||||||
interaction.reply({ content: "Joined, trying to start playing.", ephemeral: true });
|
interaction.reply({ content: "Joined, trying to start playing.", ephemeral: true });
|
||||||
} else {
|
} else {
|
||||||
interaction.reply({ content: `Failed to play stream`, ephemeral: true });
|
interaction.reply({ content: `Failed to play stream`, ephemeral: true });
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "leave": // Leave Channel
|
case "leave": // Leave Channel
|
||||||
|
|
Loading…
Reference in a new issue