Skip to content
Social graphs for ERC
Emacs Lisp
Branch: master
Clone or download
vibhavp Merge pull request #3 from rrix/refactor-draw
Refactor ~erc-social-graph-draw~
Latest commit e6ef341 May 8, 2015
Type Name Latest commit message Commit time
Failed to load latest commit information.
.travis.yml Add travis thing. Feb 9, 2015
LICENSE Add License. Feb 3, 2015 Minor adjustments to May 7, 2015 Added dynamic graphs. Feb 18, 2015
erc-social-graph.el Refactor ~erc-social-graph-draw~ May 8, 2015
example.gif Crop gif. Feb 18, 2015


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.



Via package.el

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

Via el-get

erc-social-graph can also be installed using el-get. To do so, run M-x el-get-install erc-social-graph

Via Git:

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)


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.

Dynamic Graphs

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.

You can’t perform that action at this time.