2018-03-10 15:47:00 +08:00
|
|
|
/*
|
2018-03-14 13:26:53 +08:00
|
|
|
Description: Emmits a server-wide message as `info`
|
2018-03-10 15:47:00 +08:00
|
|
|
*/
|
|
|
|
|
2020-03-07 01:00:30 +08:00
|
|
|
import * as UAC from '../utility/UAC/_info';
|
2020-03-06 00:49:25 +08:00
|
|
|
|
2018-09-30 14:44:36 +08:00
|
|
|
// module main
|
2020-09-17 13:44:32 +08:00
|
|
|
export async function run({ server, socket, payload }) {
|
2018-06-04 15:07:24 +08:00
|
|
|
// increase rate limit chance and ignore if not admin
|
2020-03-06 00:49:25 +08:00
|
|
|
if (!UAC.isAdmin(socket.level)) {
|
2019-11-07 15:35:23 +08:00
|
|
|
return server.police.frisk(socket.address, 20);
|
2018-03-10 15:47:00 +08:00
|
|
|
}
|
|
|
|
|
2018-06-04 15:07:24 +08:00
|
|
|
// send text to all channels
|
|
|
|
server.broadcast({
|
2018-03-10 15:47:00 +08:00
|
|
|
cmd: 'info',
|
2020-09-17 13:44:32 +08:00
|
|
|
text: `Server Notice: ${payload.text}`,
|
2020-10-10 13:34:59 +08:00
|
|
|
channel: false, // @todo Multichannel, false for global
|
2018-03-10 15:47:00 +08:00
|
|
|
}, {});
|
|
|
|
|
2019-11-07 15:35:23 +08:00
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
export const requiredData = ['text'];
|
|
|
|
export const info = {
|
2018-05-13 18:33:22 +08:00
|
|
|
name: 'shout',
|
2018-09-30 14:44:36 +08:00
|
|
|
description: 'Displays passed text to every client connected',
|
|
|
|
usage: `
|
2019-11-07 15:35:23 +08:00
|
|
|
API: { cmd: 'shout', text: '<shout text>' }`,
|
2018-06-04 15:07:24 +08:00
|
|
|
};
|