Discord protocol plugin for bitlbee.
License
-------
bitlbee-discord plugin is distributed under GPLv2 license.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Build dependencies
------------------
- bitlbee and headers >= 3.4
If using distribution version of bitlbee you will need to install the dev
package, usually bitlbee-dev or bitlbee-devel. If bitlbee was built from
source don't forget to do `make install-dev`.
- libwebsockets >= 1.6 and headers (https://libwebsockets.org)
Archlinux users can use libwebsocket-git from AUR, others are out of luck and
will have to build it from source for now, debian's version in sid is too old
(1.2), fedora23 doesn't provide this package at all.
- glib2 and headers => 2.32
The library itself is usually installed as a dependency of bitlbee, headers
need to be installed separately. In debian the package containing them is
libglib2.0-dev.
- autotools (if building from git)
A bit of an overkill, but autotools is a buildsystem of choice now, sorry.
Building and Installing
-----------------------
If building from git you will first need to generate autotools configuration
script and related files by executing the following command:
$ ./autogen.sh
After that (or when building from a tarball) you can build as usual:
$ ./configure
$ make
$ sudo make install
If your bitlbee's plugindir is in non-standard location you can specify it by
calling ./configure with --with-plugindir=/path/to/plugindir option.
Usage
-----
Plugint adds 'discord' protocol to bitlbee, add your account as usual:
> account add discord <email> <password>
> account discord on
Options
-------
This section describes options available throug "account set" bitlbee command
(for help on usage of this command see "help account set").
- host (type: string; default: "discordapp.com")
Discord server hostname. Just in case discord changes the hostname or there
are some alternatives with compatible API.
- voice_status_notify (type: boolean; default: no)
This enables text notifications in your control channel about users
changing/leaving voice channels. Can be noisy on big servers.
- edit_prefix (type: string; default: "EDIT: ")
A string that will be prefixed to an edited message to distinguish those
from normal ones.
- urlinfo_handle (type: string; default: "urlinfo")
User handle that will be used to post url expansion info such as title and
description in groupchats.
- max_backlog (type: integer; default: 50)
Maximum number of backlog messages per channel to fetch on connection.
Unlike twitter implementation in bitlbee this won't dump seen messages.
- send_acks (type: boolean; default: yes)
By default bitlbee-discord will send an "ack" for every message received,
thus marking everything as "read" on mobile/webapp. Setting this to false
will disable all acks from bitlbee-discord.
- mention_suffix (type: string; default: ":")
Suffinx used in a regex to look for username mentions to automatically
convert your usual irc-style "nick:" mentions to discord's "<@id>" format.
So if you type "nick: hello" in bitlbee, it will be displayed as
"@nick hello" in discord. This can be multicharacter and you can even do OR
logic here because it is actually used as a part of glib regex. That is
setting this to "[:,]" will match both "nick:" and "nick,". But beware
overcomplicating this may lead to bitlbee-discord spending a lot of time
parsing your outgoing messages. Setting this to "" will disable this
function.
Bugs
----
Plugin is in early development stages, so there should be plenty, please report
them at github: https://github.com/sm00th/bitlbee-discord/issues