# gaze

A way to easily have movie/TV/sports nights with friends over Discord.

Disclaimer 1: Gaze uses two components to stream content. It uses a traditional Discord bot account for taking commands and searching for content. It also uses a selfbot Discord account in order to actually stream the content, as Discord bot accounts are not allowed to stream. **Selfbots are against Discord TOS.** I am not responsible for anything that happens to your account as a result of using Gaze. Don't use your main account, or any account that you care about, as the selfbot. 

Disclaimer 2: I use A.I. agents through OpenCode to assist me with making this project. I supervise it and ensure I understand what it's doing before adding its code, but if this isn't something you're comfortable with, then Gaze is probably not for you.

Gaze is intended for my personal usage. I am making the code available to all, but understand that some problems, such as content sourcing, are done in ways that work for me. So you might have trouble with these areas.

## Usage

Gaze uses Node as the runtime. Bun is not supported as it [hasn't implemented the necessary libuv functions yet](https://github.com/oven-sh/bun/issues/18546). 

Right now, it needs a .env file in the Gaze directory with the following values:

- BOT_TOKEN : the token of the bot account Gaze will run through
- APPLICATION_ID : application id of the bot account
- TEST_ACCOUNT_TOKEN : the token of the account that will stream content
- TEST_GUILD_ID : the guild id where content will be streamed
- TEST_CHANNEL_ID : the voice channel id where content will be streamed
- BROWSER : path to the executable of a puppeteer-supported browser
