Twitch chat in the terminal.

Overview

Twitch Chat IRC, in the terminal.

What it looks like:

image

Keybinds:

Normal mode
Key Description
? Have the keybinds window appear.
i Enter insert mode for sending messages. Exit this mode with Esc.
Esc Exits out of layered windows, such as going from insert mode, to normal, to exiting the application.
c Go to the chat window chat.
q Quit out of the entire application.
Insert mode
Key Description
Ctrl + w Cuts a single word (from the cursor to the next whitespace)
Ctrl + u Cuts the entire line

Setup:

  1. Make sure you have both Cargo and installed from the rust-lang website. Make sure the Cargo binary folder is appended to your $PATH environment variable.
  2. Get an OAuth token from Twitch, and have it ready to put into the token variable in the config.toml file that you create. This config.toml file should be created in ~/.config/ttc/config.toml if you're on Linux or MacOS. If on Windows, place it at %appdata%/ttc/config.toml instead.
  3. Run cargo install twitch-terminal-chat and follow the instructions that it prints.
  4. You should now be able to run ttc from anywhere now. Have fun!
Comments
  • Add support for emotes via `emote_mapper`

    Add support for emotes via `emote_mapper`

    I'm not sure if this makes sense to have in here.

    I use it for my self, but as you want to implement Emotes via different means, this might be redundant, as using emote_mapper is not very ergonomic.

    You need to create a font with twitchmote, install the font file and configure twt to use it.

    type: enhancement size/M area: frontend 
    opened by ModProg 13
  • High CPU usage

    High CPU usage

    Describe the bug: High CPU usage

    To Reproduce: twt

    Expected behavior: low CPU

    Screenshots: TBD

    System:

    • Twitch-tui version:1.6.0

    • Operating System:5.18.12-artix-1

    • Terminal:st

    • Shell:zsh

    Add any other context about the problem here. Issue is not consistent

    type: bug 
    opened by aravinat21 10
  • Often at startup, twitch-tui does not connect and does not throw any error

    Often at startup, twitch-tui does not connect and does not throw any error

    Describe the bug: This is a hard bug to describe as it's not persistent, and can't be accuratly reproduced.

    The best I've got is that sometimes, when loading twt, it fails to connect to the chat, without throwing any error - I only see an empty list with the "Time / Username / Message content" header.

    To Reproduce: No good way to reproduce unfortunately.

    Screenshots: image

    System: Mac OS 12.2.1

    • Twitch-tui version: 1.6.0

    • Terminal: iTerm2 3.4.15

    • Shell: zsh

    type: bug area: backend 
    opened by jbkkd 10
  • No config file generated upon running twt

    No config file generated upon running twt

    Fresh install. Ran twt as instructed:

    Configuration not found. Create a config file at '/home/jtm/.config/twt/config.toml', and see 'https://github.com/Xithrius/twitch-tui/blob/main/default-config.toml' for an example configuration.
    

    twitch-tui 1.6.0 compiled on fedora with cargo 1.62.0


    By the way, incredibly cool project, v glad you were inspired to give us this. Pairs great with streamlink/mpv.

    image

    opened by shmup 9
  • Config files/directories don't get generated

    Config files/directories don't get generated

    Describe the bug:

    In step 3, from the README, it says that the default configuration paths get generated, but that wasn't the case when running it on Windows 10. Instead, this is what I get below.

    Configuration not found. Create a config file at 'C:\Users\ME\AppData\Roaming\twt\config.toml', and see 'https://github.com/Xithrius/twitch-tui/blob/main/default-config.toml' for an example configuration.

    To Reproduce:

    1. Install twt using cargo install.
    2. Run twt in the terminal, from README step 3.
    3. Go to APPDATA to get to configurations, given the twt directory.

    The directory and config file(s) isn't there. I checked all the directories in my ~/AppData, just in case and found nothing. Even checked ~/.config, although this is a Windows machine so there shouldn't be anything there.

    Expected behavior:

    I expected a directory at %APPDATA%\twt (PowerShell: $env:APPDATA\twt).

    Screenshots:

    System:

    • Twitch-tui version: 1.6.0
    • Operating System: Windows 10 Pro - Version 10.0.19044 Build 19044
    • Terminal: Windows Terminal
    • Shell: PowerShell

    Additional context: Add any other context about the problem here.

    I use the same context on Linux machines, which is why I have directories like ~/.config.

    type: bug area: backend 
    opened by AceofSpades5757 7
  • Bump tui from 0.15.0 to 0.16.0

    Bump tui from 0.15.0 to 0.16.0

    Bumps tui from 0.15.0 to 0.16.0.

    Release notes

    Sourced from tui's releases.

    v.0.16.0

    Features

    • Update crossterm to 0.20.
    • Add From<Cow<str>> implementation for text::Text (#471).
    • Add option to right or center align the title of a widgets::Block (#462).

    Fixes

    • Apply label style in widgets::Gauge and avoid panics because of overflows with long labels (#494).
    • Avoid panics because of overflows with long axis labels in widgets::Chart (#512).
    • Fix computation of column widths in widgets::Table (#514).
    • Fix panics because of invalid offset when input changes between two frames in widgets::List and widgets::Chart (#516).
    Changelog

    Sourced from tui's changelog.

    v0.16.0 - 2021-08-01

    Features

    • Update crossterm to 0.20.
    • Add From<Cow<str>> implementation for text::Text (#471).
    • Add option to right or center align the title of a widgets::Block (#462).

    Fixes

    • Apply label style in widgets::Gauge and avoid panics because of overflows with long labels (#494).
    • Avoid panics because of overflows with long axis labels in widgets::Chart (#512).
    • Fix computation of column widths in widgets::Table (#514).
    • Fix panics because of invalid offset when input changes between two frames in widgets::List and widgets::Chart (#516).
    Commits
    • 7870793 Release v0.16.0
    • a7c21a9 fix(widgets): avoid offset panic in Table and List when input changes
    • 914d54e chore: bump crossterm to 0.20
    • a68e38e fix(table): use Layout in table column widths computation
    • e870e5d feat(layout): add private option to control last chunk expansion
    • 29387e7 Add battleship.rs
    • 8eb6336 refactor(widgets): remove iter::repeat for blank symbols
    • 34a2be6 fix(widgets/chart): remove panics with long axis labels
    • fbd8344 doc(widgets/clear): clarify usage of clear
    • 8da5f74 refactor(examples): show more use case in gauge example
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    area: dependencies size/XS 
    opened by dependabot[bot] 7
  • Roadmap.

    Roadmap.

    Highest priority at the top, lowest at the bottom.

    • [x] GitHub Workflows.
    • [x] Precommit.
    • [x] Dependabot.
    • [ ] Scrolling:
      • [x] Auto
      • [ ] Manual
        • [ ] Bold text on selection
        • [ ] Actions on select (copy text, delete message, etc)
    • [x] https://github.com/Xithrius/terminal-twitch-chat/pull/7
    • [x] https://github.com/Xithrius/terminal-twitch-chat/pull/10
    • [x] https://github.com/Xithrius/terminal-twitch-chat/pull/14
    • [ ] Seeing who's in chat in a different window.
    • [ ] Document everything.
    • [ ] Command suggestions (if possible).
    • [x] https://github.com/Xithrius/terminal-twitch-chat/pull/17
    • [ ] Cycle through different chats by ctrl + tab and ctrl + shift + tab for right/left movement.
    • [ ] Unit test as much as necessary.
    area: documentation type: enhancement help wanted hacktoberfest 
    opened by Xithrius 7
  • Feat/yoink gh pages workflow

    Feat/yoink gh pages workflow

    Yoinked!!

    Description

    Setting up (yoinking) a rust doc workflow and publishing it to gh pages.

    Note: need to set up github pages with the main as the branch and docs as the root.

    Closes #232

    area: documentation type: enhancement size/L hacktoberfest-accepted 
    opened by Nadhum 6
  • Doesn't show messages if channel name has uppercase characters

    Doesn't show messages if channel name has uppercase characters

    Describe the bug: If the channel name has uppercase letters in it, no messages are loaded.

    To Reproduce:

    1. Either provide a channel with uppercase letters in it in the config or with -c
    2. Run twt
    3. See bug

    Screenshots: test Left side is twt -c xqc, right side is twt -c xQc

    System:

    • Twitch-tui version: tested on 1.6.0, 2.0.0-alpha.11

    • Operating System: Arch Linux w/ kernel 5.19.11-xanmod1-1-x64v2

    • Terminal: alacritty 0.10.1

    • Shell: zsh 5.9

    Additional context: I pipe this script to see which channels that I follow are online into dmenu to open twt and streamlink. The channel name given by that script is the name that shows up on twitch, so it might have uppercase letters. It's not a big deal, I just convert the uppercase letters to lowercase in my dmenu script, but I was wondering what causes this issue, because in the logs it says that it connected to the irc channel and it even shows the info (like follower mode, slow mode etc.)

    type: bug area: backend 
    opened by Rik034 6
  • Add twitch badges

    Add twitch badges

    Closes #84

    Add support for twitch badges by adding some emotes in the beginning of the username.

    Support badges:

    • vip :gem:
    • moderator :hammer:
    • subscriber :star:
    • prime gaming :crown:
    type: enhancement size/M area: frontend 
    opened by balroggg 6
  • Add clap

    Add clap

    Add parsing cli arguments by clap crate.

    Add parsing some vars from config:

    • twitch channel
    • tick delay
    • max messages
    • date shown
    • maximum username length
    • username alignment
    • palette

    Example:

    Running `target/debug/twt -h`
    twitch-tui 1.4.1
    Xithrius
    Twitch chat in the terminal.
    
    USAGE:
        twt [OPTIONS]
    
    FLAGS:
        -h, --help       Prints help information
        -V, --version    Prints version information
    
    OPTIONS:
        -c, --channel <CHANNEL>                         The streamer's name
        -s, --date-shown <true/false>                   If the time and date is to be shown
        -m, --max-messages <MESSAGES>                   The maximum amount of messages to be stored
        -u, --maximum-username-length <LENGTH>          The longest a username can be
        -p, --palette <PALETTE>
                The color palette for the username column: pastel (default), vibrant, warm, cool
    
        -t, --tick-delay <DELAY>                        The delay in milliseconds between terminal updates
        -a, --username-alignment <left/center/right>    Side the username should be aligned to
    

    Fix issue with text alignment. Now column with Username crop without error(maybe add some minimal value of crop, length of string Username or max value of any username in chat).

    type: enhancement size/M area: backend 
    opened by balroggg 6
  • Audit Keybinds Documentation With Source Code

    Audit Keybinds Documentation With Source Code

    Describe the solution you'd like Make sure that the keybinds guide rendered at (1.0) and done in markdown at (1.1) line up with the actual keybinds in rust done at (1.2).

    Describe alternatives you've considered N/A, at request of @Xithrius

    Additional context Links are as follows: 1.0: https://xithrius.github.io/twitch-tui/keybinds/index.html 1.1: https://github.com/Xithrius/twitch-tui/tree/main/book/src/keybinds 1.2: https://github.com/Xithrius/twitch-tui/blob/main/src/handlers/user_input/input.rs

    area: documentation type: enhancement area: keybinds 
    opened by blakexcosta 10
  • Allow user customization of title bar

    Allow user customization of title bar

    Currently, the user is only able to enable/disable the title bar.

    With this new feature, the user should be able to re-arrange/add/remove items such as the date, title, filter status, etc.

    The config option should be in the format of a string.

    An example could be something like %title% %date% %filter%.

    type: enhancement area: frontend 
    opened by Xithrius 0
  • Emotes

    Emotes

    Describe the solution you'd like Use any of the terminal image protocols to display emotes

    Additional context Possible librarry: https://github.com/atanunq/viuer

    type: enhancement area: frontend 
    opened by ModProg 6
  • Wrap line in message editor

    Wrap line in message editor

    Is your feature request related to a problem? Please describe. When writing long messages, you cannot see the beginning.

    Describe the solution you'd like Wordwrap the input box, increasing its vertical size when writing more.

    type: enhancement area: frontend 
    opened by ModProg 3
Releases(v2.0.2)
  • v2.0.2(Dec 16, 2022)

    What's changed

    • Cursor shape can be changed to an underscore, line, or block using the cursor_shape value in the config file. The cursor shape in the application will not change the one you've set in your own terminal. The default is the block cursor shape. Here's an example of the cursor shape having the value "underscore":
    image
    • New preview image and feature list in the README.

    Even more information

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.2".

    Documentation available here.

    If you have any problems/suggestions don't hesitate to submit an issue!

    Full difference: https://github.com/Xithrius/twitch-tui/compare/v2.0.1...v2.0.2

    Source code(tar.gz)
    Source code(zip)
  • v2.0.1(Dec 10, 2022)

    A quick patch to make CLI arguments actually work again.

    What's changed

    • Fixed CLI boolean arguments to where they do not overwrite config values with false at startup. Configuration value is now dependent on an or statement between the config value and argument value.
    • Added Visual Studio Code snippet for typed closures.

    Even more information

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.1".

    Documentation available here.

    If you have any problems/suggestions don't hesitate to submit an issue!

    Full difference: https://github.com/Xithrius/twitch-tui/compare/v2.0.0...v2.0.1

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0(Dec 10, 2022)

    v2.0.0 is finally here. In 2 days, it will be a year since v1.6.0 (the previous stable version) was released.

    This release announcement goes over all the changes from the past year. You will definitely want to look into the default config to see if you need to update anything.

    The changelog will exist below the following section.

    Even more information

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0".

    Documentation available here.

    If you have any problems/suggestions don't hesitate to submit an issue!

    Changelog

    Full difference: https://github.com/Xithrius/twitch-tui/compare/v1.6.0...v2.0.0

    Preface: changes are in least recent to most recent.

    • #88, #89: Margin gap integer around outer border can be configured with margin in config.toml, Title can be toggled with title_shown value in config.toml. Thanks, @ModProg.
    • Template for feature/bug issues when selecting an issue.
    • #83: Panic at tokio::select completed obliterated.
    • #104: Scrolling is now finally possible with the mouse, after all this time. Ctrl + f can be used to search for messages.
    • #107: Obliterated structopt for clap argument features to overwrite config values.
    • A bunch of documentation updating, including new README preview image, and removal of useless keybinds.
    • #108: Added support for Twitch badges, can be toggled through badges boolean value in config. Thanks, @balroggg.
    • Text in input boxes are independent of the surrounding box color.
    • #110: Filtering messages with filters.txt file. @ in insert mode gives mention suggestions given that said suggesting is enabled through mentions boolean value in config. / is static, needing no storage of previous commands, and will give suggestions no matter what. Channel switching suggestions also supported through channels boolean value in config. Filters are enabled through the enabled boolean value in the filters section.
    • Hitting tab on a suggestion will fill in the rest that the current suggestion gives.
    • Enabling/disabling filters/suggestions actually works with keybinds, filters disabled by default.
    • Added badges to README for project status.
    • On a release like the one you're currently looking at, the publish workflow will run, making it available on crates.io.
    • If config.toml doesn't exist on user's system, it is automatically generated.
    • #158: Sqlite isn't needed, we don't need such a database. JSON will do just fine so the user can edit whatever they'd like easily.
    • #162: --version CLI argument added. Thanks, @ModProg.
    • Panic keybind now manually crashes the application. Just in case you're stuck, or debugging.
    • #169: Added defaults to the config. If values don't exist in the config.toml file, there will be a value in its place once the application starts.
    • #180: Added logging so users and developers aren't lost when using the application or debugging.
    • Developer container added due to a human (me) wanting it.
    • #184: Message box has limit for how long a chat message can be.
    • #200: Default light/dark themes added. Configured with theme in config.toml.
    • #206: User's name is highlighted when it appears in chat. Use username_highlight in the config file.
    • #212: Appeasing the formatter: Tokyo Drift.
    • q is to quit the app, Esc to go back a window layer. Esc is no longer used for everything.
    • #230: Add result of how many messages had been found when searching. Thanks, @kosayoda.
    • #233: Added GitHub pages documentation. Thank you @Nadhum, I apologize once again for the bikeshedding, heh.
    • @ or / in normal mode immediately enters insert mode with said character at the start of the box.
    • #240: Environment variables will be looked for first before the token in config.toml. TWT_TOKEN environment variable is the one to be used.
    • Configuration value for the starting state of the application. See start_state value in config.
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-rc.1(Oct 28, 2022)

    With the full release of v2.0.0 on the horizon, it's time for the first release candidate.

    Additions

    • With the power of GitHub pages, new documentation with more intuitive instructions are available at https://xithrius.github.io/twitch-tui/. Thank you to @Nadhum in #233 for implementing this! :heart:
    • Hitting / or @ in normal mode will put the user into insert mode with the previously mentioned characters at the start of the box.
      • / for commands.
      • @ for mentioning users.
    • During #240 it was discussed that environment variables should be an option when using the Twitch token, and that's included in this release. Use the TWT_TOKEN environment variable to set your twitch-tui token.
    • The config and CLI now allow for a user to specify a starting mode, besides the default normal. Modes include normal, insert, help, channel, and search.

    Changes

    • The clap dependency was upgraded to version 4.0 in #227, which allows for a more consistent way of creating possible CLI argument values when developing.

    Even more information

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.12...v2.0.0-rc.1

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-rc.1".

    Documentation available here.

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.12(Sep 28, 2022)

    • State tabs have been implemented.
      • They show themselves at the bottom of the screen, disabled by default.
      • To enable this feature, set [frontend]'s attribute of state_tabs to true in your config.toml file.
    • Connecting to channels with uppercase letters in the name would cause the internal IRC client to not connect.
      • This feature was caught by @Rik034, and resolved in #223! :heart:
      • The user is still allowed to input channel names with uppercase characters, they'll just be converted to a lowercase string internally.
    • q quits the application when in a non-insert mode, such as the help window.
    • /clear actually works on the client side, when permissions are had.
    • The help window is no longer a popup (takes up the entire window), and also has better readability. image

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.11...v2.0.0-alpha.12

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.12".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.11(Sep 9, 2022)

    Instead of using multiple buffers for different input boxes along with a hashmap to bind states to said input buffers, I have reduced the total amount of previously previously said input buffers to just one.

    This will decreases computer resource very little. Save states may be put back in as a feature in the future, if/when I create a better implementation.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.10...v2.0.0-alpha.11

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.11".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.10(Sep 8, 2022)

    • Nothing much has changed for users besides highlighting their username in chat, with #206 merged.
    • For developers, faster builds, and more abstraction of functions.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.9...v2.0.0-alpha.10

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.10".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.9(Aug 20, 2022)

    • Built-in dark and light themes are now available through the theme setting in your config.toml.
      • Within the [frontend] section, set theme to either "dark" (default) or "light".
      • On the command line, you can do --theme "light", or --theme "dark".
    • Customization of themes will come in the near future.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.8...v2.0.0-alpha.9

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.9".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.8(Aug 17, 2022)

    • Addition of development container config for Visual Studio Code users.
    • Input mode now has a character limit of 500, going over this limit won't let you hit enter to send the message, and the text box border will change to red.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.7...v2.0.0-alpha.8

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.8".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.7(Jul 22, 2022)

    • Logging is now possible with either CLI arguments or config.toml.
      • CLI: --log-file/-l
      • config.toml: log_file
    • Some debug!() statements have been added for development purposes.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.6...v2.0.0-alpha.7

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.7".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.6(Jul 3, 2022)

    • Added Apache 2.0 License, moved MIT License.
    • Config is now generated from serialized defaults instead of making a web request.
      • This allowed us to remove the ureq dependency.
    • When Twitch-specific config isn't complete, the user will receive a panic.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.5...v2.0.0-alpha.6

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.6".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.5(Jun 14, 2022)

    • Scrolling through messages is now possible. Supported modes:
      • Search mode (Ctrl + f)
      • Insert mode (i)
      • Normal mode
    • "Broken pipe" error might have now been fixed, but more extensive testing is needed.
      • The best way to replicate this as of now is to switch to a channel never visited before with s in normal mode.
      • The error to look for is Io(OS { code: 32, kind: BrokenPipe, message: "Broken pipe" }), it will show up as a system message.
      • If re-connection is successful, you will only see this message once, followed by a one second pause, then messages can be read/written.
      • If retrying the connection isn't successful, the error will pop up once a second.
      • If you run into a broken pipe or any additional problems, be sure to create an issue!

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.4...v2.0.0-alpha.5

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.5".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.4(Jun 13, 2022)

    • #151: Configuration file is now generated via download if it doesn't exist.
    • #158: The sqlite database has been replaced with JSON for ease of editing by the user.
      • Note: this means that you will have to rename the [database] section in your config.toml to [storage], which can be seen in the default config, here.
    • #162: twt --version is now supported. Thanks, @ModProg.
    • Panics are now readable instead of cut-off messages that cannot be deciphered.
    • A manual panic (crash) can now be triggered by the user via Ctrl + p.
    • Filters in default-config.toml are now disabled by default.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.3...v2.0.0-alpha.4

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.4".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.3(Mar 24, 2022)

    • Filters now exist through a filters.txt file in the config folder of this program (see the README.md for path based on OS)
      • Text inputs are compiled to regex.
      • Can be enabled/disabled with Ctrl + t.
      • Can be reversed with Ctrl + r
    • Suggestions for recent mentions/channels/commands
      • Mentions/channels can are recorded when the Enter key is hit. Tracking to the sqlite database is disabled through the config.toml file.
      • When suggestions/tracking is enabled, @ will suggest mentions.
      • / suggests through the static commands, nothing is tracked to the database.
      • The channel switcher will suggest immediately when tracking is enabled.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v2.0.0-alpha.2...v2.0.0-alpha.3

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.3".

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.2(Mar 16, 2022)

  • v2.0.0-alpha.1(Feb 22, 2022)

    • Scrolling with the mouse wheel is now possible.
    • Changed from popup message searching to using Ctrl + f to highlight messages in the main window.
    • Swapping channels is now through the s keybind.
    • Title of the main window now has time and current channel.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.6.0...v2.0.0-alpha.1

    Release available on crates.io.

    Acquire the binary through cargo install twitch-tui --version "2.0.0-alpha.1".

    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(Dec 13, 2021)

    • Removed tabs above the insert window in favor for popup windows.
    • Added popup window for channel switching.
    • Up arrow in insert mode now gets user back to normal viewing mode.
    • Keybind help is now a popup window.
    • Title of main window now contains date/time formatted based on the config, and current channel (works on channel switch)

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.5.0...v1.6.0

    Release available on crates.io.

    Source code(tar.gz)
    Source code(zip)
  • v1.5.0(Dec 3, 2021)

    Application now has support for CLI arguments. Anything put through the command line will overwrite in-file config settings.

    Information on how to use command-line arguments are showed through twt --help:

    twitch-tui 1.5.0
    Xithrius <[email protected]>
    Twitch chat in the terminal
    
    USAGE:
        twt [OPTIONS]
    
    FLAGS:
        -h, --help       Prints help information
        -V, --version    Prints version information
    
    OPTIONS:
        -c, --channel <channel>                            The streamer's name
        -d, --date-shown <date-shown>                      Show the date/time [possible values: true, false]
        -m, --max-messages <max-messages>                  The maximum amount of messages to be stored
        -u, --max-username-length <max-username-length>    Maximum length for Twitch usernames
        -p, --palette <palette>
                Username color palette [default: pastel]  [possible values: pastel, vibrant, warm, cool]
    
        -t, --tick-delay <tick-delay>                      The delay in milliseconds between terminal updates
        -a, --username-alignment <username-alignment>      Username column alignment [possible values: left, center, right]
    

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.4.0...v1.5.0

    Release available on crates.io.

    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(Nov 11, 2021)

    • Ctrl + Tab to cycle right and Ctrl + Shift + Tab to cycle left through the tabs of the input box. These tabs include the chat, and modifiable values such as the current channel, username, and server.
    • Switching channels clears the chat.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.3.0...v1.4.0

    Release available on crates.io.

    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Oct 27, 2021)

    • Twitch usernames now have correct captilization. Thanks @balroggg, for https://github.com/Xithrius/twitch-tui/pull/44!
    • Command suggestions are now pulled up when the first character in the insert window is /. Window currently has a height of 7 suggestions.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.2.3...v1.3.0

    Release available on crates.io.

    Source code(tar.gz)
    Source code(zip)
  • v1.2.3(Oct 25, 2021)

    • Binary name updated from ttc to twt.
    • Updated information within the README to reflect binary and project name changes.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.2.2...v1.2.3

    Release available on crates.io.

    Source code(tar.gz)
    Source code(zip)
  • v1.2.2(Oct 25, 2021)

  • v1.2.1(Oct 17, 2021)

    • Updated instructions to install the program within README.

    Full Changelog: https://github.com/Xithrius/terminal-twitch-chat/compare/v1.2.0...v1.2.1

    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Oct 17, 2021)

    • Many new keybinds have been added! Check the README dropdown tables about everything that insert mode now has to offer!
    • The keybinds window now shows two different tables. One for normal mode, and one for insert mode. More to come in the future.
    • Authentication and command errors now show up in the console.

    Full Changelog: https://github.com/Xithrius/terminal-twitch-chat/compare/v1.1.3...v1.2.0

    Source code(tar.gz)
    Source code(zip)
  • v1.1.3(Oct 4, 2021)

    Massive performance improvements. See #31 for the details. Thank you, @kosayoda! :heart:

    v1.1.2 and below: image

    v1.1.3: image

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.1.2...v1.1.3

    Source code(tar.gz)
    Source code(zip)
  • v1.1.2(Oct 1, 2021)

    • Edit README.md so it gives clearer instructions, with tables. Setup has also been edited.
    • Ctrl + w has been added which removes everything from the cursor until a whitespace.
    • Ctrl + u removes everything until the start of the insert line.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.1.0...v1.1.2

    Source code(tar.gz)
    Source code(zip)
  • v1.1.1(Oct 1, 2021)

    • Added clippy to check for idiomatic code.
    • Added more hooks to .pre-commit-config.yaml so files are properly formatted before commits.
    • Bumped version of crossterm.
    • Styles for different parts of the terminal window are now more accessible to the rest of the project.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.1.0...v1.1.1

    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Sep 20, 2021)

    • The crate termion has been swapped out for crossterm.
    • Project is now stable on Windows.

    Please let me know through issues if you encounter any problems.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.0.3...v1.1.0

    Source code(tar.gz)
    Source code(zip)
  • v1.0.3(Sep 20, 2021)

    • General performance has been improved, thank you @kosayoda for #23!

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.0.2...v1.0.3

    Source code(tar.gz)
    Source code(zip)
  • v1.0.2(Sep 19, 2021)

    • MacOS config is now confirmed to be completely the same as Linux.
    • README and paths have been updated.

    Full Changelog: https://github.com/Xithrius/twitch-tui/compare/v1.0.1...v1.0.2

    Source code(tar.gz)
    Source code(zip)
Owner
Python is fun. Administrator and Triage Lead of @python-discord.
null
A multi-threaded Twitch chat archiving and downloading tool.

Twitch Chat Downloader ??️ tcd is a multi-threaded Twitch Chat Downloader built in Rust ?? . Usage: tcd [OPTIONS] <--channel <CHANNEL>|--video <VIDEO>

Matthew Polak 6 Dec 19, 2022
Harmony chat client in the terminal!

ilo-toki Harmony chat client in the terminal! Usage Run it with cargo run once you've cloned the repo. If you'd like, you can install the program with

jan Jenwa 2 Dec 15, 2022
Terminal UI to chat with large language models (LLM) using different model backends, and integrations with your favourite editors!

Oatmeal Terminal UI to chat with large language models (LLM) using different model backends, and integrations with your favourite editors! Overview In

Dustin Blackman 88 Dec 4, 2023
Rust-advent - Learning Rust by solving advent of code challenges (Streaming live on Twitch every Monday)

Rust advent ?? ?? Learning Rust by implementing solutions for Advent of Code problems. ?? HEY, we are live-streaming our attempts to solve the exercis

Luciano Mammino 20 Nov 11, 2022
A Twitch OAuth token revoker written in Rust.

Revoker - A Twitch OAuth Token Revoker Details Revoker is a small CLI tool written in Rust, made so you can easily and urgently remove a Twitch OAuth

Mykola 4 May 20, 2022
LL Cool Twitch Tools

LL Cool Twitch Tools Hit me up on my twitch channel This project is a playground twitch API playground for me.

Christopher N. KATOYI 9 Dec 23, 2022
Twitch Bot Project (Rust)

This is a Twitch bot written in Rust that connects to the Twitch IRC server and allows users to interact with the bot via chat messages. The bot can join multiple Twitch channels and respond to commands.

icsboyx 4 Aug 17, 2023
Tree-based TUI chat client

cove Cove is a TUI client for euphoria.io, a threaded real-time chat platform. It runs on Linux, Windows and macOS. Manual installation This section c

null 8 Nov 16, 2022
(Pre-Release Software) Secure, Encrypted, P2P chat written atop Warp, IPFS, LibP2P, Dioxus and many more awesome projects and protocols.

Uplink Privacy First, Modular, P2P messaging client built atop Warp. Uplink is written in pure Rust with a UI in Dioxus (which is also written in Rust

Satellite 13 Jan 25, 2023
All in One AI Chat Tool( GPT-4 / GPT-3.5 /OpenAI API/Azure OpenAI)

WeChatAI Create All in One personal AI chat assistant English | 中文介绍 This project is not for reward and profit, only used for personal Screenshot Supp

null 38 Apr 25, 2023
Yet another command-line chat GPT frontend written in Rust.

gpterm Yet another command-line chat GPT frontend written in Rust. Features Stream output with typing effect Store chat messages/history Context aware

Makis Christou 22 May 4, 2023
Slack chat bot written in Rust that allows the user to interact with a large language model.

A Slack chat bot written in Rust that allows the user to interact with a large language model. Creating an App on Slack, first steps Go to https://api

Marco Inacio 13 Nov 2, 2023
xyz is a chat platform where people sign up, play a matching game, and say goodbye

xyz is an asynchronous chat and web service What you need Docker Desktop ?? Cargo (Rust package manager) ?? Clone our project Follow the steps below t

Matthew 12 Oct 11, 2023
A chat to help users understand lessons from St. Josemaria Escriva's works

A chat to help users understand lessons from St. Josemaria Escriva's works. I'll be using Rust, OpenAI API, and qdrant vector database. Non-profit code, only looking forward to enlightening minds.

Eduardo Lemos 3 Nov 9, 2023
A terminal ASCII media player. View images, gifs, videos, webcam, YouTube, etc.. directly in the terminal as ASCII art.

Terminal Media Player View images, videos (files or YouTube links), webcam, etc directly in the terminal as ASCII. All images you see below are just m

Max Curzi 36 May 8, 2023
ask.sh: AI terminal assistant that can read and write your terminal directly!

ask.sh: AI terminal assistant that read from & write to your terminal ask.sh is an AI terminal assistant based on OpenAI APIs such as GPT-3.5/4! What'

hmirin 5 Jun 20, 2023
A simple and efficient terminal UI implementation with ratatui.rs for getting quick insights from csv files right on the terminal

CSV-GREP csv-grep is an intuitive TUI application writting with ratatui.rs for reading, viewing and quickly analysing csv files right on the terminal.

Anthony Ezeabasili 16 Mar 10, 2024
:large_orange_diamond: Build beautiful terminal tables with automatic content wrapping

Comfy-table Comfy-table tries to provide utility for building beautiful tables, while being easy to use. Features: Dynamic arrangement of content to a

Arne Beer 525 Jan 8, 2023
🛎 60+ Elegant terminal spinners for Rust

Spinners - ?? 60+ Elegant terminal spinners for Rust ❤️ Shameless plug Charts, simple as a URL. No more server-side rendering pain, 1 url = 1 chart Lo

Francois-Guillaume Ribreau 435 Dec 26, 2022