In the spirit of doing as much as possible inside Emacs, this package provides a
means of checking whether your favourite Twitch.tv
streamer is online, using the Helm
framework. It's as simple as
You can open live streams in the browser, or join the streamer's Twitch chat
directly in Emacs through
This package also contains a special
livestreamer-mode that supports opening
streams with Livestreamer, for those of us who
want to avoid playback in the browser itself.
helm-twitch interactively will display a Helm buffer containing the
top live streams on Twitch.tv at present. Entering a pattern in the minibuffer
will search for live streams and channels using the Twitch.tv API. The default
action for these streams and channels is to open them in a browser.
helm-twitch has very few customization parameters. The most immediately useful
twitch-game-type, which you can use to narrow the stream results to a
particular game. For example:
(setq twitch-game-type "League of Legends")
If you would like to connect to Twitch chat directly in Emacs, you will need to
helm-twitch-oauth-token variables. For
(setq helm-twitch-username "[REDACTED]" helm-twitch-oauth-token "oauth:8lgmfrplmxw65qkjml5lg41z36u9ga")
You can get an OAUTH token for this purpose here.
helm-twitch also defines a few faces, which are modelled after the Zenburn
colours by default. You can change them by modifying
All of which have self-explanitory names.
Using Twitch.tv Credentials with
As a result of the now-required authentication for all Twitch.tv API calls
(circa September 2016), Livestreamer now requires an OAuth token
to play Twitch.tv streams. Luckily, it's easy to achieve this by adding this
credential (which is the same as the one required by
explained above) to your custom
livestreamer-opts. For example:
(setq livestreamer-opts (concat "--twitch-oauth-token " twitch-api-oauth-token " " livestreamer-opts))
See also the Twitch.tv blog post.
Helm is not the only completion framework available for Emacs. Many users prefer
ivy ecosystem, and I am not opposed to porting the code for use within
that ecosystem. However,
helm-twitch makes extensive use of Helm's capacity to
have multiple "sources" for a single completion, and this makes it difficult to
imagine doing so. Contributions are very welcome!
This project is distributed under the GNU General Public License, version 3 or greater. See the LICENSE file for details.