added functions chanSpy() messageRecord()