MCPcopy Index your code
hub / github.com/HiDeoo/YaTA

github.com/HiDeoo/YaTA @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
977 symbols 2,379 edges 177 files 584 documented · 60%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

YaTA

YaTA - Yet another Twitch App

Integration Status License

YaTA is a very opinionated Twitch chat client.

Features

  • 💬 Whispers.
  • 🙃 Twitch & third party emotes.
  • 💰 Cheermotes.
  • 📖 User logs.
  • 🔨 Moderation tools.
  • 🔍 Custom highlights.
  • 🔫 Custom actions.
  • 🎬 Clips, Youtube, Straw Poll, Github previews.
  • 🗳️ Straw Poll creator.
  • 🔍 Search.
  • 🚀 And a lot more…

Usage

Go to the website!

Contribute

  1. Fork & clone this repository.
  2. Install all the dependencies using Yarn: yarn install.
  3. Set up the development environment:

  4. Create a Twitch app here.

  5. Set the OAuth Redirect URL of the app to http://localhost:3000/auth.
  6. Copy the Client-ID of the newly created Twitch app.
  7. Make a copy of the .env file named .env.development.local and fill it with your Client-ID and redirect URL:

    env REACT_APP_TWITCH_CLIENT_ID=your-client-id-here REACT_APP_TWITCH_REDIRECT_URI=http://localhost:3000/auth

    The REACT_APP_YOUTUBE_API_KEY & REACT_APP_IMGUR_CLIENT_ID variables are not required and only used when interacting with these APIs.

  8. Build & run the development version: yarn run start.

Motivations

I don't really use the Twitch website as I watch streams in VLC using streamlink so I only used most of the time the Twitch popout chat. With the removal of the legacy popout chat and the new popout chat lacking very important features (like whisper support), I started looking for chat client alternatives providing most features included in the official chat and also some new ones.

As I couldn't find any proper alternative including all my requirements, I decided to build my own.

License

Licensed under the MIT License, Copyright © HiDeoo.

See LICENSE for more information.

Extension points exported contracts — how you extend this code

Serializable (Interface)
(no doc) [8 implementers]
src/utils/typescript.ts
Props (Interface)
* React Props.
src/components/DropOverlay.tsx
StateProps (Interface)
* React Props.
src/containers/StreamList.tsx
FfzEmoteUrls (Interface)
* Ffz emote URLs.
src/libs/Ffz.ts
ApplicationState (Interface)
(no doc)
src/store/reducers.ts
ProcessEnv (Interface)
(no doc)
src/@types/yata/process.d.ts
ToggleableProps (Interface)
(no doc)
src/constants/toggleable.ts
DefaultTheme (Interface)
(no doc)
src/styled/index.ts

Core symbols most depended-on inside this repo

theme
called by 94
src/styled/index.ts
createAction
called by 67
src/utils/redux.ts
size
called by 67
src/styled/index.ts
serialize
called by 59
src/utils/typescript.ts
addLog
called by 48
src/libs/Command.ts
ifProp
called by 44
src/styled/index.ts
manager
called by 33
src/libs/Sound.ts
fetch
called by 22
src/libs/Twitch.ts

Shape

Method 432
Class 196
Function 152
Interface 151
Enum 46

Languages

TypeScript100%

Modules by API surface

src/libs/Twitch.ts53 symbols
src/store/ducks/settings.ts40 symbols
src/libs/Resources.ts22 symbols
src/libs/Command.ts22 symbols
src/libs/PubSub.ts21 symbols
src/containers/Channel.tsx21 symbols
src/store/ducks/logs.ts20 symbols
src/containers/Chat.tsx20 symbols
src/libs/EmotesProvider.ts19 symbols
src/libs/Notification.ts15 symbols
src/containers/StreamList.tsx15 symbols
src/containers/EmotePicker.tsx15 symbols

For agents

$ claude mcp add YaTA \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact