Bắt đầu nhanh
Hướng dẫn từng bước để thiết lập ZiPlayer trong dự án Discord bot của bạn. Chỉ cần vài phút để có một music bot hoàn chỉnh!
Cài đặt packages
Cài đặt các package cần thiết cho dự án của bạn
1npm install ziplayer @ziplayer/plugin @ziplayer/extension @discordjs/voice discord.js
Tạo PlayerManager
Khởi tạo và cấu hình PlayerManager với các plugins
1import { PlayerManager } from "ziplayer";
2import { SoundCloudPlugin, YouTubePlugin, SpotifyPlugin } from "@ziplayer/plugin";
3import { voiceExt } from "@ziplayer/extension";
4
5const manager = new PlayerManager({
6 plugins: [
7 new SoundCloudPlugin(),
8 new YouTubePlugin(),
9 new SpotifyPlugin()
10 ],
11 extensions: [new voiceExt(null, { lang: "vi-VN" })],
12});
Tạo và sử dụng Player
Tạo player cho guild và bắt đầu phát nhạc
1const player = manager.create(guildId, {
2 leaveOnEnd: true,
3 leaveTimeout: 30000,
4 userdata: { channel: textChannel },
5 extensions: ["voiceExt"],
6});
7
8await player.connect(voiceChannel);
9await player.play("Never Gonna Give You Up", userId);
10
11// Auto play & playlists
12player.queue.autoPlay(true);
13await player.play("https://www.youtube.com/playlist?list=PL123", userId);
Xử lý Events
Lắng nghe và xử lý các sự kiện của player
1player.on("willPlay", (player, track) => {
2 console.log("Up next:", track.title);
3});
4
5player.on("trackStart", (player, track) => {
6 console.log("Now playing:", track.title);
7});
8
9player.on("trackEnd", (player, track) => {
10 console.log("Finished:", track.title);
11});
Bước tiếp theo
💡 Mẹo hữu ích
Sử dụng TypeScript
ZiPlayer được viết hoàn toàn bằng TypeScript, cung cấp type safety và IntelliSense tốt nhất.
Error Handling
Luôn xử lý lỗi khi kết nối voice channel và phát nhạc để tránh crash bot.
Memory Management
Sử dụng leaveOnEnd và leaveTimeout để tự động dọn dẹp player khi không cần thiết.
Performance
Chỉ load các plugins cần thiết để tối ưu hóa hiệu suất và giảm memory usage.