emacs client for Slack
- websocket
- request
- oauth2
- do
package install
- do
- circe (for the Linewise User Interface library).
- alert
- emojify (optional)
- required if you want to show emoji
- get client-id and client-secret from https://api.slack.com/applications/new
- get token from https://api.slack.com/web
;; I'm using use-package and el-get and evil
(el-get-bundle slack)
(use-package slack
:commands (slack-start)
:init
(setq slack-buffer-emojify t) ;; if you want to enable emoji, default nil
(setq slack-prefer-current-team t)
:config
(slack-register-team
:name "emacs-slack"
:default t
:client-id "aaaaaaaaaaa.00000000000"
:client-secret "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
:token "aaaa-sssssssssss-88888888888-hhhhhhhhhhh-jjjjjjjjjj"
:subscribed-channels '(test-rename rrrrr))
(slack-register-team
:name "test"
:client-id "3333333333.77777777777"
:client-secret "cccccccccccccccccccccccccccccccc"
:token "xxxx-yyyyyyyyyy-zzzzzzzzzzz-hhhhhhhhhhh-llllllllll"
:subscribed-channels '(hoge fuga))
(evil-define-key 'normal slack-info-mode-map
",u" 'slack-room-update-messages)
(evil-define-key 'normal slack-mode-map
",c" 'slack-buffer-kill
",ra" 'slack-message-add-reaction
",rr" 'slack-message-remove-reaction
",rs" 'slack-message-show-reaction-users
",pl" 'slack-room-pins-list
",pa" 'slack-message-pins-add
",pr" 'slack-message-pins-remove
",mm" 'slack-message-write-another-buffer
",me" 'slack-message-edit
",md" 'slack-message-delete
",u" 'slack-room-update-messages
",2" 'slack-message-embed-mention
",3" 'slack-message-embed-channel
"\C-n" 'slack-buffer-goto-next-message
"\C-p" 'slack-buffer-goto-prev-message)
(evil-define-key 'normal slack-edit-message-mode-map
",k" 'slack-message-cancel-edit
",s" 'slack-message-send-from-buffer
",2" 'slack-message-embed-mention
",3" 'slack-message-embed-channel))
(use-package alert
:commands (alert)
:init
(setq alert-default-style 'notifier))
- go to https://api.slack.com/applications/new
- fill in the blanks like this
- press
Create Application
and it appears
- go to https://api.slack.com/web
- scroll down
- it is in the Authentication section.
I recommend to chat with slackbot for tutorial using slack-im-select
.
slack-register-team
- set team configuration and create team.
- :name, :client-id, :client-secret is needed for argumens
slack-change-current-team
- change
slack-current-team
var
- change
slack-start
- do authorize and initialize
slack-ws-close
- turn off websoeket connection
slack-group-select
- select group from list
slack-im-select
- select direct message from list
slack-channel-select
- select channel from list
slack-group-list-update
- update group list
slack-im-list-update
- update direct message list
slack-channel-list-update
- update chennel list
slack-message-embed-mention
- use to mention to user
slack-message-embed-channel
- use to mention to channel
see alert.