Slack client for your terminal

slack-term

A Slack client for your terminal.

Screenshot

Installation

Binary installation

Download a compatible binary for your system. For convenience, place slack-term in a directory where you can access it from the command line. Usually this is /usr/local/bin.

$ mv slack-term /usr/local/bin

Via Go

If you want, you can also get slack-term via Go:

$ go get -u github.com/erroneousboat/slack-term
$ cd $GOPATH/src/github.com/erroneousboat/slack-term
$ go install .

Via docker

You can also run it with docker, make sure you have a valid config file on your host system.

docker run -it -v [config-file]:/config erroneousboat/slack-term

Setup

  1. Get a slack token, click here

  2. Running slack-term for the first time, will create a default config file at ~/.config/slack-term/config.

$ slack-term
  1. Update the config file and update your slack_token For more configuration options of the config file, see the wiki.
{
    "slack_token": "yourslacktokenhere"
}

Usage

When everything is setup correctly you can run slack-term with the following command:

$ slack-term

Default Key Mapping

Below are the default key-mappings for slack-term, you can change them in your config file.

mode key action
command i insert mode
command / search mode
command k move channel cursor up
command j move channel cursor down
command g move channel cursor top
command G move channel cursor bottom
command K thread up
command J thread down
command G move channel cursor bottom
command pg-up scroll chat pane up
command ctrl-b scroll chat pane up
command ctrl-u scroll chat pane up
command pg-down scroll chat pane down
command ctrl-f scroll chat pane down
command ctrl-d scroll chat pane down
command n next search match
command N previous search match
command , jump to next notification
command q quit
command f1 help
insert left move input cursor left
insert right move input cursor right
insert enter send message
insert esc command mode
search esc command mode
search enter command mode
Comments
  • Is it possible to install on 32 bit systems?

    Is it possible to install on 32 bit systems?

    Hi, Looking at the binnaries provided and the MAKEFILE, it looks like slack-term does not include options for 32 bit systems. Is it not compatible at all with 32 bit systems? or by editing the MAKEFILE is it possible to compile for those systems?

  • Program Crashes With Error: Cannot unmarshal object into Go struct field

    Program Crashes With Error: Cannot unmarshal object into Go struct field

    Version: 0.5.0 Installation method: Direct download of binary (M1 Mac running Monterey)

    On visiting any channels with incompatible blocks, the program crashes with the following error message:

    cannot unmarshal object into Go struct field Attachment.messages.attachments.blocks of type slack.Block

  • Unable to authorize client

    Unable to authorize client

    Despite making a file containing my token as ~/.config/slack-term/config/.slack-term, I get this error:

    2022/01/24 18:24:59 not able to authorize client, check your connection and if your slack-token is set correctly

    This is my file:

    {
        "slack_token": "mytokenwashere"
    }
    

    What is the issue?


    Version: 0.5.0 Installation method: sudo snap install slack-term

  • WIP: Feature/fast scroll mute

    WIP: Feature/fast scroll mute

    I read contributing.md and I'm fully aware this may not be merging as is. I'm happy to make this PR a discussion and implement requested changes as we go. this PR helped me get slack-term a lot more usable on a slightly bigger workspace (aka long channel list and lots of notifications).

    in a nutshell this PR adds:

    • a fast scroll hotkey for faster scrolling through channels list
    • proper muted channels handling and marking them somewhat similar to how the webUI does
    • update slack-api to upstream 0.10 (and required patches that came with that)
    • drop of vendor support

    all of the above works but was just a quick and dirty way to get this going for me and read/learn the code base, but before I spend more time cleaning this up, I figured I start this discussion....

    also what I'd still really like to find/fix is a way to limit the direct DM contacts in the channels list to those that are actually still open. it seems like none of the fields provided by the API identifies those?!?!. it seems any Contact every contacted is listed and that makes this list way longer than it needs to be.

  • Syntax error when start slack-term

    Syntax error when start slack-term

    Please read CONTRIBUTING.md


    Version: 0.5.0 Installation method: Download binary and move to /usr/local/bin in my system

    I ran into error with follow message when I start slack-term

    /usr/local/bin/slack-term: line 1: syntax error near unexpected token `<'
    /usr/local/bin/slack-term: line 1: `<html><body>You are being <a href="https://objects.githubusercontent.com/github-production-release-asset-2e65be/67938435/ced5e400-65ed-11ea-8ca1-4307f17c2411?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20211112%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20211112T060022Z&amp;X-Amz-Expires=300&amp;X-Amz-Signature=6b1316f6c4a60979a62c123012e91b5504d51a221dac6454b61086d6ce0f2ec2&amp;X-Amz-SignedHeaders=host&amp;actor_id=0&amp;key_id=0&amp;repo_id=67938435&amp;response-content-disposition=attachment%3B%20filename%3Dslack-term-linux-amd64&amp;response-content-type=application%2Foctet-stream">redirected</a>.</body></html>'
    

    Thanks for help!

YouTube client on your terminal

MeowTube YouTube client on your terminal Table of Contents About Getting Started Usage Contributing About MeowTube is a CLI (Command Line Interface) t

Jul 29, 2022
Pi-fetch - get a summary of your pi-hole stats from your terminal

pi-fetch get a summary of your pi-hole stats from your terminal _ ___ _ _ ___|_|___| _|___| |_ ___| |_ | . | |___| _| -_| _

Jan 9, 2022
Stonks is a terminal based stock visualizer and tracker that displays realtime stocks in graph format in a terminal.
Stonks is a terminal based stock visualizer and tracker that displays realtime stocks in graph format in a terminal.

Stonks is a terminal based stock visualizer and tracker. Installation Requirements: golang >= 1.13 Manual Clone the repo Run make && make install Pack

Dec 16, 2022
Are you programming and suddenly your stomach is rumbling? No problem, order your Ifood without leaving your favorite text editor ❤️

vim-ifood Você ta programando e de repente bateu aquela fome? Sem problemas, peça seu Ifood sem sair do seu editor de texto favorito ❤️ Are you progra

Jun 2, 2022
Terminal client for SimpleNote

GoNote - Terminal client for SimpleNote GoNote is a simple utility for managing notes in your SimpleNote account. It allows basic operations like crea

Nov 22, 2022
lazyhub - Terminal UI Client for GitHub using gocui.
lazyhub - Terminal UI Client for GitHub using gocui.

lazyhub - Terminal UI Client for GitHub using gocui.

Dec 14, 2022
📱🥴 TikTok terminal client for browsing & downloading videos
📱🥴 TikTok terminal client for browsing & downloading videos

tiktik ?? ?? - TikTok Terminal Client Name inspiration - this yt vid Huge Thanks to Egor who wrote the parsing part Installation ?? go get -u github.c

Dec 3, 2022
The Discord terminal client you never knew you wanted.
The Discord terminal client you never knew you wanted.

I AM CLOSING DOWN THE CORDLESS PROJECT Hey, so I know this is somewhat of a bummer, but I got banned because of ToS violation today. This seemed to be

Jan 7, 2023
Visp is a Vi-like Spotify client for terminal users.
Visp is a Vi-like Spotify client for terminal users.

Visp Visp is an interactive console client for Spotify, written in Go. Its interface is similar to Vim, and aims to be fast, configurable, and practic

Dec 31, 2022
Terminal client for MangaDex 📖
Terminal client for MangaDex 📖

mangadesk - Terminal client for MangaDex ?? Download manga directly from your terminal to read! This client retrieves information straight from MangaD

Dec 27, 2022
Lightweight Discord terminal client
Lightweight Discord terminal client

discordo Lightweight Discord terminal client Features Lightweight: Discordo is designed to have a low memory footprint and low CPU usage, overall a lo

Jan 6, 2023
TScli - a very simple terminal-based client for TSWeb online judge

TScli TScli - a very simple terminal-based client for TSWeb online judge. It supports submitting problems and receiving feedback on them. Installation

Oct 24, 2021
Gocheat - Golang terminal client for cht.sh that uses charm.sh's bubbletea project

Go Cheat.sh install gotext go get -u golang.org/x/text/cmd/gotext go generate

Jun 3, 2022
gomerge is a tool to quickly bulk merge several pull requests from your terminal.
gomerge is a tool to quickly bulk merge several pull requests from your terminal.

Gomerge is a tool to quickly enable you to bulk merge Github pull requests from your terminal. The intention of this tool is to simplfy, and eventually automate the merging of github pull requests. This tool should be able to run on most systems.

Dec 28, 2022
🎄 A Christmas tree right from your terminal!
🎄 A Christmas tree right from your terminal!

ctree ?? A Christmas tree right from your terminal! ?? Demo ⌛ No Refresh Don't want the tree to refresh every 2 seconds? Easy! Just add the --no-refre

Dec 20, 2022
❓🖼 Find the anime scene by image using your terminal
❓🖼 Find the anime scene by image using your terminal

What Anime CLI ❓ ?? > This application is basically a ?? wrapper around trace.moe PREVIEW Usage ?? Get Anime By Image File ?? what-anime file anime.jp

Jan 2, 2023
Pi-hole data right from your terminal. Live updating view, query history extraction and more!
Pi-hole data right from your terminal. Live updating view, query history extraction and more!

Pi-CLI Pi-CLI is a command line program used to view data from a Pi-Hole instance directly in your terminal.

Dec 12, 2022
Draw images in your ANSI terminal with true color
Draw images in your ANSI terminal with true color

___ _____ ____ / _ \/ _/ |/_/ /____ ______ _ Made with love by Eliuk Blau / ___// /_> </ __/ -_) __/ ' \ https://github.com/eliukblau/pix

Dec 14, 2022
The personal information dashboard for your terminal
The personal information dashboard for your terminal

WTF (aka 'wtfutil') is the personal information dashboard for your terminal, providing at-a-glance access to your very important but infrequently-need

Dec 31, 2022