cleverbot.go
func (s *Session) History() QAPairs {
	s.mu.Lock()
	defer s.mu.Unlock()
	var qa []QAPair
	for i := 1; ; i++ {
		if v, ok := s.Decoded[fmt.Sprintf("interaction_%d_other", i)].(string); ok && v != "" {
			qa = append([]QAPair{{s.Decoded[fmt.Sprintf("interaction_%d", i)].(string),
				s.Decoded[fmt.Sprintf("interaction_%d_other", i)].(string)}}, qa...)
		} else {
			return qa
		}
	}
}
func (s *Session) History() QAPairs {
	s.mu.Lock()
	defer s.mu.Unlock()
	var qa []QAPair
	for i := 1; ; i++ {
		if v, ok := s.Decoded[fmt.Sprintf("interaction_%d_other", i)].(string); ok && v != "" {
			qa = append([]QAPair{{s.Decoded[fmt.Sprintf("interaction_%d", i)].(string),
				s.Decoded[fmt.Sprintf("interaction_%d_other", i)].(string)}}, qa...)
		} else {
			return qa
		}
	}
}
func ( s * Session ) History ( ) QAPairs { s . mu . Lock ( ) defer s . mu . Unlock ( ) var qa [ ] QAPair for i := 1 ; ; i ++ { if v , ok := s . Decoded [ fmt . Sprintf ( " " , i ) ] . ( string ) ; ok && v != " " { qa = append ( [ ] QAPair { { s . Decoded [ fmt . Sprintf ( " " , i ) ] . ( string ) , s . Decoded [ fmt . Sprintf ( " " , i ) ] . ( string ) } } , qa ... ) } else { return qa } } }
// History returns an array of QApair of upto 100 interactions that have happened in Session.
History returns an array of QApair of upto 100 interactions that have happened in Session .