def apply_reactions(self, user):
<EOL>if self.topic is not False:<EOL><INDENT>self._log.info('<STR_LIT>'.format(topic=self.topic))<EOL>user.topic = self.topic<EOL><DEDENT>if self.global_limit:<EOL><INDENT>self._log.info('<STR_LIT>'.format(num=self.global_limit))<EOL>self.agentml.set_limit(self, (time() + self.global_limit), self.glimit_blocking)<EOL><DEDENT>if self.user_limit:<EOL><INDENT>self._log.info('<STR_LIT>'.format(num=self.user_limit))<EOL>user.set_limit(self, (time() + self.user_limit))<EOL><DEDENT>for var in self.vars:<EOL><INDENT>var_type, var_name, var_value = var<EOL>var_name  = '<STR_LIT>'.join(map(str, var_name)) if isinstance(var_name, Iterable) else var_name<EOL>var_value = '<STR_LIT>'.join(map(str, var_value)) if isinstance(var_value, Iterable) else var_value<EOL>if var_type == '<STR_LIT:user>':<EOL><INDENT>self.trigger.user.set_var(var_name, var_value)<EOL><DEDENT>if var_type == '<STR_LIT>':<EOL><INDENT>self.trigger.agentml.set_var(var_name, var_value)<EOL><DEDENT><DEDENT>
Set active topics and limits after a response has been triggered
:param user: The user triggering the response
:type  user: agentml.User