weechat-xmpp/README.org

109 lines
4.5 KiB
Org Mode
Raw Normal View History

2018-05-09 05:14:05 +00:00
#+TITLE: weechat-slack
#+AUTHOR: Tony Olagbaiye
2018-05-09 16:35:55 +00:00
#+EMAIL: frony0@gmail.com
2018-05-09 05:14:05 +00:00
#+DATE: 2018-05-09
#+DESCRIPTION: Weechat plugin for Slack
#+KEYWORDS: weechat slack c api
#+LANGUAGE: en
2018-05-09 13:30:47 +00:00
#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:nil skip:nil d:nil todo:t pri:t tags:not-in-toc
2018-05-09 05:14:05 +00:00
#+EXPORT_EXCLUDE_TAGS: exclude
#+STARTUP: showall
[[https://travis-ci.org/bqv/weechat-slack][file:https://api.travis-ci.org/bqv/weechat-slack.svg?branch=master]]
[[https://coveralls.io/github/bqv/weechat-slack?branch=master][file:https://coveralls.io/repos/github/bqv/weechat-slack/badge.svg?branch=master]]
2018-05-09 22:58:37 +00:00
[[https://github.com/bqv/weechat-slack/issues][file:https://img.shields.io/github/issues/bqv/weechat-slack.svg]]
[[https://github.com/bqv/weechat-slack/issues?q=is:issue+is:closed][file:https://img.shields.io/github/issues-closed/bqv/weechat-slack.svg]]
[[https://github.com/bqv/weechat-slack/blob/master/LICENSE][file:https://img.shields.io/github/license/bqv/weechat-slack.svg]]
[[https://github.com/bqv/weechat-extras/][file:https://img.shields.io/badge/weechat--extras-slack-yellow.svg]]
2018-05-09 05:14:05 +00:00
2018-05-09 11:12:57 +00:00
| Status: | Under Development |
2018-05-09 05:14:05 +00:00
| Location: | [[http://github.com/bqv/weechat-slack]] |
2018-05-09 11:12:57 +00:00
| Version: | 0.1.0 |
2018-05-09 05:14:05 +00:00
* Description
A weechat plugin in C to extend the chat client to
support Slack workspaces via the RTM and Web APIs.
2018-05-11 02:31:21 +00:00
* Installing
See http://github.com/bqv/weechat-extras for the suite this is part of
and a repository/package for your distribution.
2018-05-09 05:14:05 +00:00
* Dependencies
- libwebsockets (static, submodule)
- json-c (static, submodule)
- weechat (>= v1.7)
2018-05-09 05:14:05 +00:00
* Building
#+begin_src sh
git clone git://github.com/bqv/weechat-slack.git
cd weechat-slack
make
make install
#+end_src
2018-05-09 13:18:30 +00:00
Do *NOT* run make install as root, it installs the plugin to your
local weechat plugins directory
2018-05-09 23:12:42 +00:00
* Development
I use emacs for development of this, although I am also a fan of vim.
My debug build process involves static analysis with clang and cppcheck,
and dynamic analysis with address-sanitizer and leak-sanitizer.
2018-05-10 08:32:24 +00:00
My debug evaluation process involves gdb/mi run with the arguments
=-ex "handle SIGPIPE nostop noprint pass" --args weechat -a 2>asan.log=
since part of weechat and it's default plugins use SIGPIPE as control.
2018-05-09 23:12:42 +00:00
I have no real requests for style of pull requests besides a wish that
you keep vaguely to the style I have adopted for this project.
Happy coding!
2018-05-09 05:14:05 +00:00
2018-05-09 11:12:57 +00:00
* Tasks
2018-05-09 22:58:37 +00:00
** DONE [#A] Implement basic functionality (milestone v0.1)
** TODO [#A] Implement essential api endpoints and events (milestone v0.2)
2018-05-09 16:35:55 +00:00
- [X] +Implement handling api message =message.me_message= (see [[http://github.com/bqv/weechat-slack/issues/5][#5]])+
- [X] +Implement sending request =chat.meMessage= (see [[http://github.com/bqv/weechat-slack/issues/5][#5]])+
2018-05-09 11:12:57 +00:00
- [ ] Implement handling api message =message.thread_broadcast=
2018-05-09 16:35:55 +00:00
- [X] +Implement handling api message =message.bot_message= (see [[http://github.com/bqv/weechat-slack/issues/2][#2]])+
2018-05-09 11:12:57 +00:00
- [ ] Implement handling api message =message.message_changed=
- [ ] Implement handling api message =message.message_deleted=
- [ ] Implement handling api message =message.message_replied=
- [ ] Implement sending websocket =typing= message
2018-05-09 22:58:37 +00:00
** TODO [#B] Implement completion engine (milestone v0.3)
2018-05-09 11:12:57 +00:00
- [ ] Tab completion for slack emoji (see [[http://github.com/bqv/weechat-slack/issues/3][#3]])
- [ ] Support Slack Emoji
- [ ] Support Custom Emoji
2018-05-09 11:12:57 +00:00
- [ ] Tab completion for display/user names (see [[http://github.com/bqv/weechat-slack/issues/1][#1]])
- [ ] Sort nick-completion by recent (see [[http://github.com/bqv/weechat-slack/issues/4][#4]])
** TODO [#B] Implement websocket ping and pong (milestone v0.4)
- [ ] Add ping timer and pong handler (see [[http://github.com/bqv/weechat-slack/issues/9][#9]])
2018-05-09 22:58:37 +00:00
** TODO [#C] Implement remaining api endpoints and events (milestone v0.5)
- [ ] Support all channel types
- [X] +Channels+
- [ ] Groups
- [ ] MPIMs
- [ ] IMs
2018-05-09 11:12:57 +00:00
- [ ] Complete api endpoint set
- [ ] Complete api event set
2018-05-09 22:58:37 +00:00
** TODO [#C] Implement full weechat functionality (milestone v0.6)
- [ ] Hook buffer closes
- [ ] Relay compatibility
2018-05-09 22:58:37 +00:00
** TODO [#D] Close all issues (milestone v1.0)
2018-05-09 11:12:57 +00:00
2018-05-09 05:14:05 +00:00
* Contributing
*Your contributions are always welcome!*
Please submit a pull request or create an issue
to add a new or missing feature.
* License
weechat-slack is licensed under the Mozilla Public
License Version 2.0 available [[https://www.mozilla.org/en-US/MPL/2.0/][here]] and in LICENSE.