Compare commits

...

1 Commits

Author SHA1 Message Date
lamp 1316460838 vrchat command only 2022-03-31 17:37:49 -07:00
+3 -59
View File
@@ -1,47 +1,6 @@
var vrchat = require("vrchat");
var client = require("./client");
var config = require("./config");
var commands = require("./commands");
var fs = require("fs");
var configuration = new vrchat.Configuration(config.vrchat_configuration);
var authenticationApi = new vrchat.AuthenticationApi(configuration);
authenticationApi.getCurrentUser().then(console.log);
var usersApi = new vrchat.UsersApi(configuration);
var status2icon = {
"join me": '🔵',
"active": '🟢',
"ask me": '🟠',
"busy": '🔴',
"offline": '⚫'
}
try {
var vrcul = JSON.parse(fs.readFileSync("data/vrcul.json"), "utf8");
} catch(error) {
var vrcul = [];
}
async function updateUserStatuses() {
for (let {channel, userId} of vrcul) {
try {
channel = client.channels.resolve(channel);
let user = (await usersApi.getUser(userId)).data;
let status_icon = user.state == "online" ? status2icon(user.status) : '⚫';
let nn = `${status_icon} ${user.displayName}`;
if (nn != channel.name)
await channel.setName(nn);
} catch (error) {
console.error("vrcus", error.message);
}
}
}
module.exports.interval = setInterval(updateUserStatuses, 1000*60*5);
commands.push({
name: "addvru",
description: "Add VRChat user to status monitor",
@@ -52,20 +11,5 @@ commands.push({
type: "STRING",
required: true
}
],
exec: async i => {
try {
let u = i.options.getString("user");
let user = (await usersApi[u.startsWith("usr_") ? 'getUser' : 'getUserByName'](u)).data;
let status_icon = user.state == "online" ? status2icon(user.status) : '⚫';
let nn = `${status_icon} ${user.displayName}`;
let channel = await client.channels.resolve(config.vrchat_status_category).createChannel(nn);
vrcul.push({channel: channel.id, userId: user.id});
fs.writeFileSync("data/vrcul.json", JSON.stringify(vrcul));
await i.reply(channel.toString());
} catch (error) {
i.reply(error.message);
}
}
]
});