A PieSpy-esque social network graph module for ERC.
With erc-social-graph
, you can generate and preview Social graphs using ERC,
an IRC client for Emacs. Currently, the code only tracks direct mentions on IRC
channels, and ignores binary conversations and private messages (both of which
are planned for the future). This graph is stored in a standard Emacs Lisp
Hash Table.
This hash table can be converted to a textual graph in the DOT Graph Language. This is a simple directed graph where each node represents an individual user, while the edges represent relationships between users. The bolder the edges, the stronger the relationship.
The graph can also be previewed dynamically, resulting in a graph that changes as messages are sent to the channel.
erc-social-graph
is available on MELPA, just add MELPA to your package
archives, and install the package with M-x package-install erc-social-graph
erc-social-graph can also be installed using el-get. To do so, run
M-x el-get-install erc-social-graph
Clone this repo to a desired location,
add this directory to your load-path, and finally add the module to erc-modules
:
(add-to-list 'load-path (expand-file-name "/path/to/erc-social-graph.el"))
(require 'erc-social-graph)
(erc-social-graph-enable)
To enable social graphs, run M-x erc-social-graph-enable
. The module now
scans connected channels, and updates it’s hash table accordingly.
erc-social-graph-draw
makes a DOT graph, and opens it. This file can be saved
to a different location with C-x C-w
, and compiled with Graphviz’s dot
utility, or various online tools.
To enable dynamic graphs, set erc-social-graph-dynamic-graph
to t
with
(setq erc-social-graph-dynamic-graph t)
Or, run customize-graph erc-social-graph
and set the option to t
.
When this option is set, erc-social-graph-draw
runs dot
with the -Tx11
option to create a new window which updates the graph as messages are sent
to the channel.