'use strict';

const config = require('config');
const { version } = require('../../package.json');

function onCommand(args, context) {
	const commandsByGame = Object.entries(context.games).reduce((acc, [command, game]) => ({ ...acc, [game.name]: [...(acc[game.name] || []), command] }), {});
	const commands = Object.entries(commandsByGame).map(([gameName, gameCommands]) => `${gameCommands.length > 1 ? `${gameName}: ` : ''}${gameCommands.map((command) => `${config.prefix}${command}`).join(', ')}`).join(' | ');

	context.sendMessage(`${config.user.username} v${version} | ${commands} | try ${config.prefix}game:help for more info, ${config.prefix}game:score [username] and ${config.prefix}game:lead for scores.`, context.room.id, { styleCommands: true });
}

module.exports = {
	onCommand,
	commands: ['commands'],
};
