My feature was simple - per-team, per-channel, dated files. Basically appending each message received to log/{TEAM}/{CHANNEL}/{YYYY-MM-DD}.log.
I took inspiration from this issue to create a custom message handler (stored in slack-message-custom-notifier) that would log the incoming message to disk:
(setq slack-log-directory (concat (expand-file-name slack-file-dir))) (defun mc_/handle-message (message room team) (let* ((team-name (slack-team-name team)) (room-name (slack-room-name room team)) (text (slack-message-to-string message team))) (mc_/chat-log team-name room-name text))) (defun mc_/chat-log (team-name room-name text) "Write to log/{TEAM}/{ROOM}/{DATE}.log" (let* ((dir slack-log-directory) (today (format-time-string "%Y-%m-%d")) (filename (format "%s%s/%s/%s.log" dir team-name room-name today))) (when (not (file-exists-p filename)) (make-directory (file-name-directory filename) t) (write-region "" nil filename) ) (write-region (concat (format-time-string "%H:%M:%S") ": " text "\n") nil filename 'append))) (setq slack-message-custom-notifier #'mc_/handle-message)
I've posted to /r/emacs with the above to solicit feedback. Hopefully this isn't too far off the mark though! Updates if/when the code is revised.

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.