Compare commits
2 Commits
a2759ae0e4
...
444e8d78aa
Author | SHA1 | Date | |
---|---|---|---|
444e8d78aa | |||
1af0223042 |
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
to setup (requires node.js):
|
to setup (requires node.js):
|
||||||
|
|
||||||
* create a copy of example_config.json named config.json
|
* (in the config folder) create a copy of example_config.json named config.json
|
||||||
* fill out empty values with correct values in config.json (token is discord token, cookie is .ROBLOSECURITY cookie, clientId is the bot's ID (right click bot in discord then choose copy ID with developer mode enabled))
|
* fill out empty values with correct values in config.json (token is discord token, cookie is .ROBLOSECURITY cookie, clientId is the bot's ID (right click bot in discord then choose copy ID with developer mode enabled))
|
||||||
* install dependencies
|
* install dependencies
|
||||||
```
|
```
|
||||||
|
@ -2,8 +2,34 @@ const { SlashCommandBuilder } = require('@discordjs/builders');
|
|||||||
const { parse } = require("csv-parse/sync");
|
const { parse } = require("csv-parse/sync");
|
||||||
const fs = require('node:fs');
|
const fs = require('node:fs');
|
||||||
const noblox = require("noblox.js");
|
const noblox = require("noblox.js");
|
||||||
|
const axios = require("axios").default
|
||||||
|
|
||||||
|
async function robloxUserFromDiscord(id) {
|
||||||
|
if (isNaN(id)) return undefined;
|
||||||
|
try {
|
||||||
|
const res = await axios.get(`https://verify.eryn.io/api/user/${id}`)
|
||||||
|
return res.data.robloxId
|
||||||
|
} catch (error) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function robloxUsernameFromId(id) {
|
||||||
|
if (isNaN(id)) return undefined;
|
||||||
|
try {
|
||||||
|
const res = await axios.get(`https://users.roblox.com/v1/users/${id}`)
|
||||||
|
return res.data.name
|
||||||
|
} catch (error) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async function execute(interaction) {
|
async function execute(interaction) {
|
||||||
|
const userId = await robloxUserFromDiscord(interaction.user.id)
|
||||||
|
if (!userId) {
|
||||||
|
const msg = "You don't have a Roblox account linked with your Discord account. Visit https://verify.eryn.io/";
|
||||||
|
await interaction.reply({content: msg, ephemeral: true});
|
||||||
|
}
|
||||||
const game = interaction.options.getString("game");
|
const game = interaction.options.getString("game");
|
||||||
|
|
||||||
let fname;
|
let fname;
|
||||||
@ -26,6 +52,13 @@ async function execute(interaction) {
|
|||||||
await interaction.reply({content: `(id: ${id}) is not a valid model ID.`, ephemeral: true});
|
await interaction.reply({content: `(id: ${id}) is not a valid model ID.`, ephemeral: true});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (info.Creator.Id != userId) {
|
||||||
|
const assetUsername = await robloxUsernameFromId(info.Creator.Id);
|
||||||
|
const interactionUsername = await robloxUsernameFromId(userId);
|
||||||
|
const msg = `The account linked to your Discord (${interactionUsername}) is not the owner of this model (${assetUsername}), so you cannot submit it.`
|
||||||
|
await interaction.reply({content: msg, ephemeral: true});
|
||||||
|
return
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
await interaction.reply({content: `There is a problem with this asset ID (id: ${id}).`, ephemeral: true});
|
await interaction.reply({content: `There is a problem with this asset ID (id: ${id}).`, ephemeral: true});
|
||||||
|
3
config/.gitignore
vendored
Normal file
3
config/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
*
|
||||||
|
!example_config.json
|
||||||
|
!.gitignore
|
@ -2,6 +2,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@discordjs/builders": "^0.13.0",
|
"@discordjs/builders": "^0.13.0",
|
||||||
"@discordjs/rest": "^0.4.1",
|
"@discordjs/rest": "^0.4.1",
|
||||||
|
"axios": "^0.27.2",
|
||||||
"csv-parse": "^5.0.4",
|
"csv-parse": "^5.0.4",
|
||||||
"discord-api-types": "^0.32.1",
|
"discord-api-types": "^0.32.1",
|
||||||
"discord.js": "^13.6.0",
|
"discord.js": "^13.6.0",
|
||||||
|
Loading…
Reference in New Issue
Block a user