Delta Chaton the command line.
Experimental application built on top of the deltachat-node native addon. Bringing E2EE chat over email to the commmand line.
- Install
- Usage
- Platform Support
- Screenshots
- Shortcuts and Keys
- Commands
- Configuration
- Why?
- Debug
- Kudos and Inspiration
- License
npm i deltachat-cli -gdeltachat --email [email protected] --mail_pw fooBy default deltachat will use the $HOME/.deltachat_cli folder for storing data. This can be overriden by using the --home argument.
Run deltachat using current folder to store data:
deltachat --email [email protected] --mail_pw foo --home .Currently deltachat-cli only works on Linux. This is completely dependent on the platform support of deltachat-node. If you're on a Debian based distro the following command should be enough to cover software and build dependencies.
sudo apt install libetpan-dev libssl-dev libsqlite3-dev libsasl2-dev \
libbz2-dev zlib1g-dev meson ninja-build
TODO
ctrl-nSwitch to next window.ctrl-pSwitch to previous window.alt-norpagedownScroll down.alt-porpageupScroll up.alt-<n>Switch to window<n>where n is between 1 and 9.enterAccept input from the user.tabAuto completes commands (starting with/) and nicks.
Commands can be executed from anywhere, but the output of all commands show up in the status window.
/archive-chat [<id>]Archive a chat. If<id>is omitted, defaults to current chat./block-contact <id>Block a contact./clearClear the debug or status window./create-chat <contactId>Create a normal chat with a single user./create-contact [<name>] <address>Create a contact./delete-chat [<id>]Delete a chat. If<id>is omitted, defaults to current chat./delete-contact <id>Delete a contact (might fail if you have an open chat with that particular user)./delete-message <id>Delete a message./get-chatsList all chats./get-contactsList all contacts./help [<command>]Show all commands and their short syntax or help about a specificcommand./star-message <id>Star a message (starred messages show up in a virtualstarschat)./unarchive-chat <id>Unarchive a chat./unblock-contact <id>Unblock a contact.
You can use environment variables instead of command line arguments:
[email protected] deltachat_cli_mail_pw=foo deltachatYou can also write a custom configuration file in either .json or .ini format. Please see the rc documentation for more details.
It's possible to configure various styles in the application.
- Text colors and background colors are taken from
chalk. - Gradient types are taken from the
gradient-stringmodule. - Box styles (for chat messages) are taken from the
boxenmodule.
Please consult rc.js for default values.
Why not just write a plugin for
irssiorweechatand be done with it?
That's a great question. You should write one yourself!
The main goal is to implement something using deltachat-node to exercise the api, find stuff that doesn't work so well and make way for a coming desktop application. It's also an exploration into writing command line application based on the following node modules:
You should check them out. They're great!
Running deltachat with --debug will create a debug window where all events from deltachat-node can be seen.
A lot of inspiration comes from irssi and the architecture has a lot in common with cabal.
Licensed under the GPLv3, see LICENSE file for details.
Copyright © 2018 Delta Chat contributors.