Compare commits

...

2 Commits

Author SHA1 Message Date
ThePendulum 98eda1879b 1.5.9 2021-11-15 20:44:36 +01:00
ThePendulum 18ffdefffb Added say command with operator config. 2021-11-15 20:44:34 +01:00
5 changed files with 30 additions and 6 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,

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "schat2-clive",
"version": "1.5.8",
"version": "1.5.9",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "schat2-clive",
"version": "1.5.8",
"version": "1.5.9",
"license": "ISC",
"dependencies": {
"bhttp": "^1.2.8",

View File

@ -1,6 +1,6 @@
{
"name": "schat2-clive",
"version": "1.5.8",
"version": "1.5.9",
"description": "Game host for SChat 2-powered chat sites",
"main": "src/app.js",
"scripts": {

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,
};