Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1316460838 |
@@ -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);
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user