Skip to content

Commit 705dc0c

Browse files
authored
Add files via upload
1 parent 752f85f commit 705dc0c

File tree

8 files changed

+2107
-0
lines changed

8 files changed

+2107
-0
lines changed

src/commands/clonegame.js

+127
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
const { EmbedBuilder, PermissionsBitField } = require("discord.js");
2+
const { SlashCommandBuilder } = require("@discordjs/builders");
3+
const config = require("../config.js");
4+
let ip = config.ip
5+
let serverip = config.serverip
6+
const x73db = require("x73db")
7+
const axios = require('axios');
8+
const cheerio = require('cheerio');
9+
const https = require('https');
10+
const dbtoken = new x73db("token")
11+
const dbserverid = new x73db("serverid")
12+
let fs = require('fs');
13+
14+
const httpsAgent = new https.Agent({ keepAlive: true });
15+
16+
module.exports = {
17+
data: new SlashCommandBuilder()
18+
.setName("clonegame")
19+
.setDescription("Clone a game server!")
20+
.addStringOption(option =>
21+
option.setName('username')
22+
.setDescription('Username')
23+
.setRequired(true))
24+
.addStringOption(option =>
25+
option.setName('id')
26+
.setDescription('Server ID')
27+
.setRequired(true))
28+
.addStringOption(option =>
29+
option.setName('server')
30+
.setDescription('Server Name')
31+
.setRequired(true))
32+
.addStringOption(option =>
33+
option.setName('slots')
34+
.setDescription('Server Slots')
35+
.setRequired(true)),
36+
run: async (client, interaction) => {
37+
38+
let gettoken = await dbtoken.get(`token${interaction.member.user.id}`)
39+
let serverid = await dbserverid.get(`serverid${interaction.member.user.id}`)
40+
if(!gettoken) return await interaction.reply({ content: `:x: - **There is no token registered!**\n Use \`/login\` to create your token.`, ephemeral: true });
41+
let game = await interaction.options.getString("game")
42+
let username = await interaction.options.getString("username")
43+
let homeidx = "";
44+
45+
let server_name = 'server_name'
46+
let token = 'token'
47+
let value1 = await interaction.options.getString("server")
48+
let slots = 'slots'
49+
let value2 = await interaction.options.getString("slots")
50+
let remote_server_id = 'remote_server_id'
51+
//let value3 = 171
52+
let value3 = await interaction.options.getString("id")
53+
let home_cfg_id = 'home_cfg_id'
54+
let value4 = "145"
55+
let mod_cfg_id = 'mod_cfg_id'
56+
let value5 = "181"
57+
const api = await axios.create({baseURL: ip})
58+
let port = Math.floor(Math.random() * 30000) + 20000;
59+
let cpw = Math.floor(Math.random() * 30000) + 1000;
60+
let eftp = "1"
61+
let affinity = "0"
62+
let nice = "0"
63+
api.post(`/ogp_api.php?user_games/clone`, {
64+
token: gettoken,
65+
origin_home_id: value3,
66+
new_server_name: value1,
67+
new_ip: serverip,
68+
new_port: port,
69+
control_password: `${cpw}`,
70+
enable_ftp: `${eftp}`,
71+
ftp_password: `${cpw}`,
72+
slots: value2,
73+
affinity: `${affinity}`,
74+
nice: `${nice}`
75+
})
76+
/*var link = `${ip}/ogp_api.php?user_games%2Fcreate=&token=${gettoken}&remote_server_id=${value3}&server_name=${value1}&home_cfg_id=${value4}&mod_cfg_id=${value5}&ip=${serverip}&port=${port}&control_password=${cpw}&enable_ftp=${eftp}&ftp_password=${cpw}&slots=${value2}&affinity=${affinity}&nice=${nice}`;
77+
await axios.get(link)
78+
*/
79+
.then(async (res) => {
80+
81+
console.log(res.data)
82+
if(res.data.message == "This function is restricted to administrator accounts.") return await interaction.reply({ content: `:x: - **${res.data.message}**`, ephemeral: true }).then((e) => {
83+
console.log(`${res.data.message}`)
84+
});
85+
if(res.data.status == "200") return await interaction.reply({ content: `✅ - **Successfully cloning a server**\nServer Name: ||${value1}||\nSlots: ||${value2}||\nID:||${res.data.message.clone_home_id}||`, ephemeral: true }).then(async(e) => {
86+
await dbserverid.set(`${username}${value1}_serverid_${interaction.member.user.id}`, res.data.message.clone_home_id)
87+
console.log(`${game}\nServer Name: ||${value1}||\nSlots: ${value2}\nID:${res.data.message.clone_home_id}`)
88+
89+
90+
91+
await api.post(`/ogp_api.php?user_admin/assign`, {
92+
token: gettoken,
93+
home_id: `${res.data.message.clone_home_id}`,
94+
email: username,
95+
timestamp: 0
96+
})
97+
.then(async (res) => {
98+
console.log("aa", res.data)
99+
})
100+
.catch(async error => {
101+
console.log(error)
102+
await interaction.reply({ content: `:x: - **Wrong informations**`, ephemeral: true });
103+
104+
105+
})
106+
107+
});
108+
109+
//if(res.data.includes("Duplicate entry")) return await interaction.reply({ content: `:x: - **Failed to create game, Server port already in use.**`, ephemeral: true }).then((e) => {console.log(`Failed to create account, name or username already in use.`) });
110+
await interaction.reply({ content: `:x: - **Error**`, ephemeral: true }).then((e) => {
111+
console.log(`Error`)
112+
});
113+
114+
115+
})
116+
.catch(async error => {
117+
console.log(error)
118+
await interaction.reply({ content: `:x: - **Wrong informations**`, ephemeral: true });
119+
120+
121+
})
122+
let homeid1 = await dbserverid.get(`${username}${value1}_serverid_${interaction.member.user.id}`)
123+
console.log("hellooo", homeidx)
124+
125+
126+
}
127+
};

0 commit comments

Comments
 (0)