You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- 🔗 **YouTube Live Streams**: Direct streaming support for YouTube live content
19
+
- 🌐 **Twitch Support**: Stream Twitch live streams and video-on-demand (VODs)
20
+
- 🔗 **Direct URL Streaming**: Stream from arbitrary video file URLs and live streams
21
+
- 🎵 **Queue System**: Queue multiple videos with auto-play and skip functionality
22
+
- 🌐 **Web Management Interface**: Full-featured web dashboard for video library management
23
+
- 📤 **Video Upload**: Upload videos through the web interface
22
24
23
25
## 📋 Requirements
24
-
-[Bun](https://bun.sh/)`v1.1.39+`
26
+
-[Bun](https://bun.sh/)`v1.1.39+` (recommended) or [Node.js](https://nodejs.org/)`v16+`
25
27
-[FFmpeg](https://www.ffmpeg.org/)_(in PATH or working directory)_
28
+
-[yt-dlp](https://github.com/yt-dlp/yt-dlp)_(automatically downloaded/updated by the bot)_
26
29
27
30
## 🚀 Installation
28
31
@@ -44,17 +47,31 @@ bun install
44
47
45
48
## 🎮 Usage
46
49
47
-
Start with Bun:
50
+
### Starting the Bot
51
+
52
+
**With Bun (recommended):**
48
53
```bash
49
54
bun run start
50
55
```
51
56
52
-
Start with Node.js:
57
+
**With Node.js:**
53
58
```bash
54
59
bun run build
55
60
bun run start:node
56
61
```
57
62
63
+
> **Note:** All videos are played through a queue system. Use the `play` command to add videos to the queue, and they will be played sequentially with automatic advancement to the next video.
64
+
65
+
### Video Sources
66
+
67
+
StreamBot supports multiple video sources:
68
+
69
+
-**Local Videos**: Store videos in your `VIDEOS_DIR` folder and use `play <filename>`
70
+
-**Smart Play**: Use `play <input>` for automatic detection and streaming (local file, URL, YouTube video, or Twitch stream)
71
+
-**YouTube Search**: Use `ytsearch <query>` to search YouTube and display results (use `play` with search results to stream)
72
+
-**Live Streams**: Full support for YouTube Live streams and Twitch live content
73
+
-**Video Queue**: All playback goes through a queue system - videos are added to queue and played sequentially
SERVER_ENABLED = "false"#Whether to enable the built-in video server
146
-
SERVER_USERNAME = "admin"#The username for the video server's admin interface
147
-
SERVER_PASSWORD = "admin"#The password for the video server's admin interface
148
-
SERVER_PORT = "8080"#The port number the video server will listen on
159
+
SERVER_ENABLED = "false"#Enable the built-in web server for video management
160
+
SERVER_USERNAME = "admin"#Username for the web interface
161
+
SERVER_PASSWORD = "admin"#Password for the web interface (bcrypt hash is supported)
162
+
SERVER_PORT = "8080"#Port number for the web server
149
163
```
150
164
151
165
## Get Token ?
152
166
Check the [Get token wiki](https://github.com/ysdragon/StreamBot/wiki/Get-Discord-user-token)
153
167
154
-
## Server
168
+
## 🌐 Web Interface
155
169
156
-
An optional basic HTTP server can be enabled to manage the video library:
170
+
When enabled by setting `SERVER_ENABLED=true` in your `.env` file, StreamBot provides a user-friendly web-based management interface for seamless video library control.
157
171
158
-
- List videos
159
-
-Upload videos
160
-
-Delete videos
161
-
-Generate video preview thumbnails
172
+
**Features:**
173
+
-📋 **Video Library Management**: Browse, search, and organize your video collection
174
+
-📤 **Video Upload**: Upload new videos directly through the web interface
175
+
-🖼️ **Thumbnail Generation**: Automatic preview generation for all videos in the library
162
176
163
-
## Todo
177
+
**Access:** Available at `http://localhost:SERVER_PORT` when enabled
164
178
165
-
-[x] Adding ytsearch and ytplay commands
179
+
**Setup:**
180
+
1. Set `SERVER_ENABLED=true` in your `.env` file
181
+
2. Configure `SERVER_USERNAME`, `SERVER_PASSWORD`, and `SERVER_PORT`
182
+
3. Restart the bot to apply changes
183
+
4. Access the web interface in your browser at the configured port
0 commit comments