Initially Quake doesn't allow you to define multi-stroke bindings easily -- it needs some jumping around configs.
Binder was a tool doing it for you. A config such as this:
q s : say_team QUAD SOON!
q 1 : say_team QUAD in 10 seconds! // 10sec
q 5 : say_team QUAD in 5 seconds! // 5sec
q r 1 : say_team RED POWERUP in 10 seconds! // 10sec
q b 5 : say_team BLUE POWERUP in 5 seconds! // 5sec

\ d 1 : say ^7DA uDu Tbl HAXyu OT MEH9 6**** ^4(c) ^7coolle^4R
\ d 3 : say ^7Try it without Guillom (c) rail

\ c s : callvote shuffle

\ c 1 : callvote teamsize 1 // ts1
\ c 2 : callvote teamsize 2 // ts2
\ c 8 : callvote teamsize 8 // ts8

\ c m s : callvote map spacectf
\ c m 6 : callvote map campgrounds
transforms into several configs and you shouldn't bother to know how do they work.

The first version of Binder was made by me three years ago as offline executable. Now I decided to make it available online here: http://naki.pro/binder/
It already has some tutorial, but any discussion is welcome here in comments.

It works for Quakelive and probably Q3A, etc. Theoretically I can adapt it to any another game, which can /exec configs.