Added say command with operator config.

This commit is contained in:
ThePendulum 2021-11-15 20:44:34 +01:00
parent 2ddac57365
commit 18ffdefffb
3 changed files with 27 additions and 3 deletions

View File

@ -11,6 +11,7 @@ module.exports = {
birthdate: new Date(1952, 11, 10),
avatar: 'https://i.imgur.com/IZwrjjG.png',
},
operators: ['admin'],
uniqueUsername: true,
socket: 'ws://127.0.0.1:3000/socket',
api: 'http://127.0.0.1:3000/api',
@ -20,7 +21,7 @@ module.exports = {
color: 'var(--message-56)',
},
channels: ['GamesNight'],
games: ['mash', 'trivia', 'ping', 'duck'],
games: ['mash', 'trivia', 'duck', 'ping', 'say'],
trivia: {
mode: 'first', // first or timeout
rounds: 10,

View File

@ -209,10 +209,10 @@ function getGames(bot) {
const games = config.games.reduce((acc, key) => {
const game = require(`./games/${key.game || key}`); // eslint-disable-line global-require, import/no-dynamic-require
const sendMessage = (body, roomId) => {
const sendMessage = (body, roomId, options) => {
bot.socket.transmit('message', {
roomId,
body: `[${game.name || key}] ${body}`,
body: options?.label === false ? body : `[${game.name || key}] ${body}`,
style: config.style,
});
};

23
src/games/say.js Normal file
View File

@ -0,0 +1,23 @@
'use strict';
const config = require('config');
function onCommand([rawRoomName, ...words], context) {
if (!config.operators?.includes(context.user.username)) {
return;
}
const roomName = rawRoomName.replace(/#+/, '');
const message = words.join(' ');
const room = Object.values(context.bot.rooms).find((botRoom) => botRoom.name === roomName);
if (!room) {
return;
}
context.sendMessage(message, room.id, { label: false });
}
module.exports = {
onCommand,
};