Skip to content

Conversation

@Orel2888
Copy link

// Support filter return false 
class PingController extends TelegramBaseController {

	before(scope) {

        return false
    }

    pingHandler($) {
    	return $.sendMessage('Pong')
    }

    /**
    * Run if before returned false
    */
    rejected(err, $) {

    	return $.sendMessage('Before filter returned false')
    }

	get routes() {
        return {
            'pingCommand': 'pingHandler'
        }
    }
}


// Support filter return {Promise}. Use resolve
class PingController extends TelegramBaseController {

	before(scope) {

        return new Promise((resolve, reject) => {
        	scope.someKey = 'data'

        	resolve(scope)
        })
    }

    pingHandler($) {
    	return $.sendMessage('Pong')
    }

	get routes() {
        return {
            'pingCommand': 'pingHandler'
        }
    }
}

// Support filter return {Promise}. Use reject
class PingController extends TelegramBaseController {

	before(scope) {

        return new Promise((resolve, reject) => {
        	
        	reject('Error')
        })
    }

    pingHandler($) {
    	return $.sendMessage('Pong')
    }


	/**
    * Catch error from before
    */    
    rejected(err, $) {

    	return $.sendMessage('Rejected', err)
    }

	get routes() {
        return {
            'pingCommand': 'pingHandler'
        }
    }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant