Skip to content

Commit

Permalink
bot fix (again)
Browse files Browse the repository at this point in the history
  • Loading branch information
mirdukkkkk committed Feb 17, 2024
1 parent a01c7df commit ac6e87c
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 22 deletions.
59 changes: 38 additions & 21 deletions src/commands/GameCommand.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
const PixelCommand = require('../structures/PixelCommand');
const fetch = require('node-fetch');
const { codeBlock } = require('discord.js');

class GameCommand extends PixelCommand {
constructor() {
Expand All @@ -10,6 +11,7 @@ class GameCommand extends PixelCommand {
}

async run(message, args) {
// needs refactor
if(!message.client.permissions.admin.has(message.author.id))
return message.reply({ content: 'Вы не являетесь администратором, доступ к команде ограничен' });

Expand All @@ -19,27 +21,37 @@ class GameCommand extends PixelCommand {
if(name.length > 32)
return message.reply({ content: `Имя игры не может быть больше 32 символов` });

fetch(`${message.client.config.api_domain}/game/change`, {
const request = await fetch(`${message.client.config.api_domain}/game/change`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
token: message.client.config.insideToken,
name
})
});
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer ' + (await message.client.database.collection('users').findOne(
{ userID: message.author.id },
{ projection: { _id: 0, token: 1 } }
))?.token
},
body: JSON.stringify({ name })
}).then(res => res?.json()).catch(() => {});

if(request?.error ?? !request) return message.reply({ content: request ? codeBlock('json', JSON.stringify(request)) : 'От API поступил пустой ответ, возможно, стоит проверить его состояние' });

return message.reply({ content: `Название игры было изменено` });
}

const ended = (args[0] !== 'start');
fetch(`${message.client.config.api_domain}/game/change`, {
const request = await fetch(`${message.client.config.api_domain}/game/change`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
token: message.client.config.insideToken,
ended
})
});
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer ' + (await message.client.database.collection('users').findOne(
{ userID: message.author.id },
{ projection: { _id: 0, token: 1 } }
))?.token
},
body: JSON.stringify({ ended })
}).then(res => res?.json()).catch(() => {});

if(request?.error ?? !request) return message.reply({ content: request ? codeBlock('json', JSON.stringify(request)) : 'От API поступил пустой ответ, возможно, стоит проверить его состояние' });

return message.reply({ content: `Игра была успешно ${ended ? 'завершена' : 'запущена'}` });
} else {
Expand All @@ -49,14 +61,19 @@ class GameCommand extends PixelCommand {
if(!Number.isInteger(cooldown))
return message.reply({ content: 'Кулдаун должен быть целым числом' });

fetch(`${message.client.config.api_domain}/game/change`, {
const request = await fetch(`${message.client.config.api_domain}/game/change`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
token: message.client.config.insideToken,
cooldown
})
});
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer ' + (await message.client.database.collection('users').findOne(
{ userID: message.author.id },
{ projection: { _id: 0, token: 1 } }
))?.token
},
body: JSON.stringify({ cooldown })
}).then(res => res?.json()).catch(() => {});

if(request?.error ?? !request) return message.reply({ content: request ? codeBlock('json', JSON.stringify(request)) : 'От API поступил пустой ответ, возможно, стоит проверить его состояние' });

return message.reply({ content: `Как кулдаун игры было установлено значение в \`${cooldown}ms\`` });
}
Expand Down
2 changes: 1 addition & 1 deletion src/commands/ModCommand.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class ModeratorCommand extends PixelCommand {
Authorization: 'Bearer ' + (await message.client.database.collection('users').findOne(
{ userID: message.author.id },
{ projection: { _id: 0, token: 1 } }
)).token
))?.token
},
body: JSON.stringify({
action
Expand Down

0 comments on commit ac6e87c

Please sign in to comment.