You've already forked matrix-react-sdk
							
							
				mirror of
				https://github.com/matrix-org/matrix-react-sdk.git
				synced 2025-11-04 11:51:45 +03:00 
			
		
		
		
	Support sending invite reasons with /invite command
Signed-off-by: Robin Townsend <robin@robin.town>
This commit is contained in:
		@@ -441,15 +441,14 @@ export const Commands = [
 | 
				
			|||||||
    }),
 | 
					    }),
 | 
				
			||||||
    new Command({
 | 
					    new Command({
 | 
				
			||||||
        command: 'invite',
 | 
					        command: 'invite',
 | 
				
			||||||
        args: '<user-id>',
 | 
					        args: '<user-id> [<reason>]',
 | 
				
			||||||
        description: _td('Invites user with given id to current room'),
 | 
					        description: _td('Invites user with given id to current room'),
 | 
				
			||||||
        runFn: function(roomId, args) {
 | 
					        runFn: function(roomId, args) {
 | 
				
			||||||
            if (args) {
 | 
					            if (args) {
 | 
				
			||||||
                const matches = args.match(/^(\S+)$/);
 | 
					                const [address, reason] = args.split(/\s+(.+)/);
 | 
				
			||||||
                if (matches) {
 | 
					                if (address) {
 | 
				
			||||||
                    // We use a MultiInviter to re-use the invite logic, even though
 | 
					                    // We use a MultiInviter to re-use the invite logic, even though
 | 
				
			||||||
                    // we're only inviting one user.
 | 
					                    // we're only inviting one user.
 | 
				
			||||||
                    const address = matches[1];
 | 
					 | 
				
			||||||
                    // If we need an identity server but don't have one, things
 | 
					                    // If we need an identity server but don't have one, things
 | 
				
			||||||
                    // get a bit more complex here, but we try to show something
 | 
					                    // get a bit more complex here, but we try to show something
 | 
				
			||||||
                    // meaningful.
 | 
					                    // meaningful.
 | 
				
			||||||
@@ -490,7 +489,7 @@ export const Commands = [
 | 
				
			|||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    const inviter = new MultiInviter(roomId);
 | 
					                    const inviter = new MultiInviter(roomId);
 | 
				
			||||||
                    return success(prom.then(() => {
 | 
					                    return success(prom.then(() => {
 | 
				
			||||||
                        return inviter.invite([address]);
 | 
					                        return inviter.invite([address], reason);
 | 
				
			||||||
                    }).then(() => {
 | 
					                    }).then(() => {
 | 
				
			||||||
                        if (inviter.getCompletionState(address) !== "invited") {
 | 
					                        if (inviter.getCompletionState(address) !== "invited") {
 | 
				
			||||||
                            throw new Error(inviter.getErrorText(address));
 | 
					                            throw new Error(inviter.getErrorText(address));
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user