Added Team System

This commit is contained in:
2023-05-09 13:57:01 +02:00
parent 10183ac56b
commit d2ab24ed64
37 changed files with 1733 additions and 665 deletions

View File

@@ -0,0 +1,17 @@
const { Events } = require('discord.js');
module.exports = {
name: Events.MessageCreate,
async execute({ log }, message) {
if (message.channelId === process.env.MINECRAFT_CHANNEL_ID && !message.author.bot) {
await fetch(process.env.WEB_HOST + '/api/minecraft/message/chattominecraft', {
method: 'POST',
body: JSON.stringify({
content: message.content,
discordId: message.author.id,
}),
});
}
},
};

View File

@@ -1,6 +1,6 @@
const { EmbedBuilder } = require('discord.js');
const registerEvents = ({ createEmbed, client }) => {
const registerEvents = ({ client }) => {
client.player.on('trackStart', (queue, track) => {

View File

@@ -4,6 +4,7 @@ const { Player } = require('discord-player');
const fs = require('node:fs');
const path = require('node:path');
const dotenv = require('dotenv');
const express = require('express');
const createEmbed = require('./functions/createEmbed.js');
dotenv.config();
@@ -15,11 +16,25 @@ const log = {
};
// Register client and music events
const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildVoiceStates, GatewayIntentBits.GuildMembers] });
const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildVoiceStates, GatewayIntentBits.GuildMembers, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent] });
client.player = new Player(client);
require('./functions/player.js').registerEvents({ client, createEmbed });
// Express
const app = express();
app.use(express.json());
const messageRoute = require('./routes/Message');
app.use('/minecraft', messageRoute);
app.listen('4000', () => {
log.Info('Express app running');
});
// Command handling
client.commands = new Collection();
@@ -53,3 +68,5 @@ for (const file of eventFiles) {
}
client.login(process.env.DISCORD_TOKEN);
module.exports.client = client;

File diff suppressed because it is too large Load Diff

View File

@@ -17,6 +17,8 @@
"discord.js": "^14.7.1",
"distube": "^4.0.4",
"dotenv": "^16.0.3",
"eslint": "^8.29.0"
"eslint": "^8.29.0",
"express": "^4.18.2",
"ytdl-core": "^4.11.4"
}
}

View File

@@ -0,0 +1,38 @@
const { WebhookClient, EmbedBuilder } = require('discord.js');
const express = require('express');
const router = express.Router();
const webhookClient = new WebhookClient({ url: process.env.MINECRAFT_WEBHOOK_URL });
router.post('/sendchatmessage', (req, res) => {
const { content, username, avatarURL } = req.body;
if (!username || !content || !avatarURL) return res.status(400).send({ error: 'Content, username and avatar_url are required' });
webhookClient.send({
content: content,
username: username,
avatarURL: avatarURL,
});
res.send({ data: 'Test data' });
});
router.post('/sendgamemessage', (req, res) => {
const { content, avatarURL } = req.body;
if (!content || !avatarURL) return res.status(400).send({ error: 'Content, username and avatar_url are required' });
const messageEmbed = new EmbedBuilder()
.setColor(process.env.EMBED_COLOR)
.setAuthor({ name: content, iconURL: avatarURL });
webhookClient.send({
embeds: [messageEmbed],
username: 'Server',
});
res.send({ data: 'Test data' });
});
module.exports = router;