/nuqql

Command line instant messenger inspired by centericq/centerim

Primary LanguagePythonMIT LicenseMIT

nuqql

nuqql is a command line instant messenger inspired by centericq and centerim written in Python and using ncurses.

nuqql uses so-called backends for connecting to chat networks. Currently, nuqql supports the following backends:

  • nuqql-slixmppd: nuqql-slixmppd uses slixmpp and allows nuqql to connect to XMPP chat networks.
  • nuqql-matrixd-nio: nuqql-matrixd-nio uses matrix-nio and allows nuqql to connect to Matrix chat networks.
  • nuqql-matrixd: nuqql-matrixd uses the Matrix Python SDK and allows nuqql to connect to Matrix chat networks. Note: the Matrix Python SDK project strongly recommends using matrix-nio, so prefer using nuqql-matrixd-nio.
  • nuqql-mattermostd: nuqql-mattermostd uses the Mattermost Golang Driver and allows nuqql to connect to Mattermost servers
  • purpled: purpled uses libpurple and allows nuqql to connect to multiple chat networks. Note: purpled is less tested than other backends, so you might want to prefer other backends.

Quick Start

You can install nuqql, for example, with pip for your user only with the following command:

$ pip install --user nuqql

The basic nuqql setup consist of installing one or more backends and adding your instant messaging accounts to them. See setup for more information about how to setup nuqql.

Run

After the installation, you can run nuqql with the nuqql command:

$ nuqql

Overview

The layout of nuqql is as follows:

+--------------+----------------+
|              |                |
|              |                |
|              |                |
|              |   Log Window   |
|              |                |
| List Window  |                |
|              |                |
|              +----------------+
|              |                |
|              |  Input Window  |
|              |                |
+--------------+----------------+
  • List Window: shows the Conversation List
  • Log Window: shows the Log of the current Conversation
  • Input Window: shows the user's input of the current Conversation

The Conversation List shows your buddies and special conversations for your backend commands and nuqql commands. Buddies are shown with their status (on, afk, off) and their name, e.g., [on] buddy@jabber.org. Group chats and invites to group chats are shown with [grp] and [grp_invite] as a special status. The nuqql and backend command conversations are shown as {nuqql} and with {backend} in front of their name, e.g., {backend} slixmppd.

Controls

Basic controls of nuqql are:

  • Navigate the Conversation List with the arrow keys UP and DOWN
  • Press ENTER on a conversation to open it
  • Press h on a conversation to open it and switch to its chat log
  • In a conversation:
    • Enter your message/command
    • Send message/command with CTRL-x
    • Switch to chat log window with CTRL-o or F9
      • Search chat log with /
    • Leave conversation with the ESC key
  • Exit nuqql with the q key when you are in no conversation

See controls for more information about nuqql's controls.

Changes

See changelog for changes in each version.