diff --git a/src/SlashCommands.js b/src/SlashCommands.js index e5378d4347..b72ea341b5 100644 --- a/src/SlashCommands.js +++ b/src/SlashCommands.js @@ -240,6 +240,35 @@ const commands = { return reject(this.getUsage()); }), + ignore: new Command("ignore", "", function(roomId, args) { + if (args) { + const matches = args.match(/^(\S+)$/); + if (matches) { + const ignoredUsers = MatrixClientPeg.get().getIgnoredUsers(); + ignoredUsers.push(matches[1]); // de-duped internally below + return success( + MatrixClientPeg.get().setIgnoredUsers(ignoredUsers), + ); + } + } + return reject(this.getUsage()); + }), + + unignore: new Command("unignore", "", function(roomId, args) { + if (args) { + const matches = args.match(/^(\S+)$/); + if (matches) { + const ignoredUsers = MatrixClientPeg.get().getIgnoredUsers(); + const index = ignoredUsers.indexOf(matches[1]); + if (index !== -1) ignoredUsers.splice(index, 1); + return success( + MatrixClientPeg.get().setIgnoredUsers(ignoredUsers), + ); + } + } + return reject(this.getUsage()); + }), + // Define the power level of a user op: new Command("op", " []", function(roomId, args) { if (args) {