Connect to a Twitch channel's chat from your terminal

ttchat

Connect to a Twitch channel's chat from your terminal

Installing

Download release

See https://github.com/atye/ttchat/releases.

With Go

go get github.com/atye/ttchat

Clone and build

git clone https://github.com/atye/ttchat.git

make build

You should see the binary at ./bin/ttchat.

Configuration and Setup

A configuration file at $HOME/.ttchat/config.yaml containing some account information is required for authentication.

clientID: "your_twitch_client_id"
username: "your_twitch_login_username"
redirectPort: "9999"

clientID is your Client ID listed on your application on https://dev.twitch.tv/console.

username is your username for logging in.

redirectPort is the port that ttchat will use to spin up a temporary, localhost server used in the authentication process. If redirectPort is empty, port 9999 is used.

Your Twitch application's list of OAuth Redirect URLs must have a match for the URL of ttchat. If this was your configuration:

clientID: "123"
username: "foo"
redirectPort: "8080"

ttchat would listen on http://localhost:8080 for Twitch's authentication result. So, your Twitch application must have http://localhost:8080 for a redirect URL.

Running

See ttchat -h for options and arguments

ttchat --channel ludwig

Obtaining an access token requires you to login via your default browswer. To provide your own token, use the --token flag. See https://dev.twitch.tv/docs/authentication/getting-tokens-oauth for more details on obtaining your own access token.

ttchat -c ludwing --token $ACCESS_TOKEN

Comments
  • not working with access token

    not working with access token

    OS: AntiX 19 (based on Debian 10), terminal: Roxterm. First of all, thanks for this awesome program. I am trying to setup ttchat with my own access token for not open the browser every time, but have no success. What I did:

    1. I am already get my own "app access token" as written at Twitch FAQ.
    2. When I do in terminal:

    ttchat -c "channel name" --token "app access token"

    the program opens, the "send the message" line appears, but nothing more happens. The program is not receives or sends messages. What I am doing wrong?

  • Line spacing

    Line spacing

    There is currently no way to change the line spacing. It would be nice to add a parameter in config.yaml that lets you change the spacing between lines for a more compact/spaced view.

  • Add access token to configuration file

    Add access token to configuration file

    Instead of opening the authorization link every time when running the program, could you add the access token to the configuration file? I would also like to use the program on a machine without a desktop environment and this is making it impossible. Thank you!

  • Unable to `go get`

    Unable to `go get`

    Go get fails with:

    ❯ go get github.com/atye/ttchat
    go get: github.com/atye/ttchat@none updating to
            github.com/atye/[email protected]: parsing go.mod:
            module declares its path as: gitub.com/atye/ttchat
                    but was required as: github.com/atye/ttchat
    
  • Line wrapping issue

    Line wrapping issue

    If a chat message is too long, it doesn't wrap on the terminal, it just goes off-screen and you have to resize the terminal to view the whole message.

  • Support other platforms

    Support other platforms

    Youtube, Facebook, etc.

    This goes beyond the scope of this project being for Twitch but depending how much attention this issue gets, it could be considered.

    Comment the platform you'd like to see.

  • Save token for future use

    Save token for future use

    The docs don't specify an expiration date for the authentication flow used by ttchat. The token can be saved locally in config.yaml and used again bypassing the browser.

basic terminal based chat application written in go
basic terminal based chat application written in go

this app uses websocket protocol to communicate in real time. both the client and the server are written in golang. it uses: gorilla/websocket package

Nov 4, 2021
Terminal chat with multiroom support over custom protocol.

Terminal Chat Content Content Overview Download Commands Protocol Room URL Platforms Examples Overview It is a multiroom terminal chat. It allows comm

Sep 3, 2022
Go-snake - Go CLI implementation of Snake game, using channels
Go-snake - Go CLI implementation of Snake game, using channels

go-snake ?? Go CLI implementation of Snake game, using channels. NB: this code w

Oct 19, 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
A highly-scalable, entity-resolution technology that was originally developed to connect internal data together

TiloRes CLI What is TiloRes? TiloRes is a highly-scalable, “entity-resolution” technology that was originally developed to connect internal data toget

Jun 17, 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
Brigodier is a command parser & dispatcher, designed and developed for command lines such as for Discord bots or Minecraft chat commands. It is a complete port from Mojang's "brigadier" into Go.

brigodier Brigodier is a command parser & dispatcher, designed and developed to provide a simple and flexible command framework. It can be used in man

Dec 15, 2022
🚀 Get Youtube Live stream chat feed without any authentication!

youtube-live-chat-downloader Fetches Youtube live chat messages with no authentication required. How does it work? The request for fetching live chat

Oct 17, 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
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
🎄 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
Advanced ANSI style & color support for your terminal applications
Advanced ANSI style & color support for your terminal applications

termenv lets you safely use advanced styling options on the terminal. It gathers information about the terminal environment in terms of its ANSI & col

Dec 31, 2022
GIFs in your terminal
GIFs in your terminal

gifwrap GIFs in your terminal. Install Download the latest binary or install with Go: go install github.com/liamg/gifwrap/cmd/gifwrap@latest Usage Usa

Jan 2, 2023