iT邦幫忙

2022 iThome 鐵人賽

0
自我挑戰組

node.js 前端後端全都要系列 第 22

Day22- Discord.js v14 音樂機器人(二)

  • 分享至 

  • xImage
  •  
  • 最先建立一個 config檔,裡面存著一個prefix
{
    "prefix": "!"
    //這個prefix 是用來讓機器人知道這是指令不是對話的前綴字,要用!、?、*...皆可
}

https://ithelp.ithome.com.tw/upload/images/20221017/20152680g17ksKHTgp.jpg

  • 主程式最上方一樣,需要先從dicord.js和distube裡面require()寫好的classes。
const Discord = require('discord.js');
const { GatewayIntentBits } = require('discord.js');
const { DisTube } = require('distube');
const { Guilds, GuildVoiceStates,GuildMessages,MessageContent} = GatewayIntentBits;
//這行其實沒啥必要,只是寫了底下比較方便一點(?)
const { token } = require('./token.json');
const { prefix } = require('./config.json');
//這個prefix 是用來讓機器人知道這是指令不是對話的前綴字,要用!、?、*...皆可
});
  • 新建立一個client和distube
const client = new Discord.Client({
	intents: [Guilds, GuildVoiceStates,GuildMessages,MessageContent],
    //上面說的方便就是這裡,不用前面接一堆GatewayIntentBits.OOO
});

const distube = new DisTube(client, {
	searchSongs: 5,
	searchCooldown: 30,
	leaveOnEmpty: false,
	leaveOnFinish: false,
	leaveOnStop: false,
});

distube的敘述

看到上方的程式碼底下有很多要調整得值意義分別是:

  • searchSongs : 5
    會從關鍵字中,搜尋5個結果
  • searchCooldown: 30
    給你30秒的時間做歌曲的選擇
  • leaveOnEmpty: false
    當全部歌單都結束以後,是否離開伺服器
  • leaveOnFinish: false
    當單首歌結束以後,是否離開伺服器
  • leaveOnStop: false
    當你輸入stop停止他以後,是否離開伺服器

上一篇
Day21- Discord.js v14 音樂機器人(一)
下一篇
Day23- Discord.js v14 音樂機器人(三)
系列文
node.js 前端後端全都要25
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言