ETH官方钱包

切換
舊版
前往
大廳
主題

【Discord BOT】Windows上自架簡(jiǎn)易點(diǎn)歌機(jī)器人教學(xué)

Yuzuki Yuki | 2018-03-16 04:59:24 | 巴幣 312 | 人氣 49753

【Discord BOT】Windows上自架簡(jiǎn)易點(diǎn)歌機(jī)器人教學(xué)
 
一、前言
        是從Youtube抓歌來放的機(jī)器人,篇幅有點(diǎn)長(zhǎng),圖多www
採(cǎi)用的是https://github.com/Just-Some-Bots/MusicBot這篇的機(jī)器人,其實(shí)不會(huì)講太多複雜的設(shè)定,就依原文翻譯並佐以圖片說明,雖然不難,但是如果你對(duì)電腦基礎(chǔ)觀念都有問題的請(qǐng)趕快上一頁,這裡不適合你;如果是住外面宿舍,網(wǎng)路業(yè)者設(shè)有防火牆等問題我沒辦法幫你處理;如果野心很大想玩得很專業(yè)的…抱歉我是臭NOOB,如果寫的不對(duì)還請(qǐng)多多糾正。
        以下文章接是在64位元的Windows 10下進(jìn)行,其他版本W(wǎng)indows應(yīng)該也是一樣,不會(huì)差太多。
 


二、前置硬體準(zhǔn)備
1. 一臺(tái)能長(zhǎng)時(shí)間開機(jī)的Windows PC
    (目前架在I7-3770上)
2.穩(wěn)定的網(wǎng)路
 


三、軟體下載及安裝
        會(huì)用到Notepad++、Python 3.5.4、Git for Windows三款軟體,等等依序下載安裝

1. Notepad++ (文字編輯器,其他地方也很好用)
官方網(wǎng)站:https://notepad-plus-plus.org/
 
下載點(diǎn)(2018.10.16):
中間一些條款請(qǐng)點(diǎn)選同意,到此介面稍作停留,先找到Localization這項(xiàng),點(diǎn)開後找Chinese (Traditional)安裝繁中介面,如果覺得無所謂也可以直接跳過。

 
下一步後三個(gè)選項(xiàng),前兩個(gè)不必勾選,第三個(gè)是增加捷徑到桌面,要勾不勾自行決定。

 
安裝完成後直接關(guān)掉開啟的視窗即可。
 
2. Python 3.7.0 (之前建議安裝的3.5目前版本沒什麼毛病,不過建議有空還是更新到3.7保險(xiǎn))
官方網(wǎng)站:https://www.python.org/
 
 
點(diǎn)開後的頁面請(qǐng)注意下面兩項(xiàng)需要勾選
【Install launcher for all users (recommended)】
【Add Python 3.5 to PATH】
確認(rèn)有打勾勾後按下有盾牌的Install Now等待安裝完畢即可

 
3. Git for Windows (之後下載及更新的工具,安裝最新版即可)
官方網(wǎng)站:https://gitforwindows.org/
 
 
一樣請(qǐng)先下一部大法,點(diǎn)到這個(gè)頁面暫停一下,
確認(rèn)勾選為【Use Git from the Windows CommandPrompt】

 
下一步不用更改,下一步到此畫面請(qǐng)注意一下,
確認(rèn)勾選為【Checkout Windows-style, commitUnix-style endings】

 
下一步後確認(rèn)勾選為【Use MinTTY (the default terminalMSYS2)】

 
之後下一步也不用更改,安裝完畢後一樣關(guān)閉視窗即可
 
 
 
四、機(jī)器人下載
在你的電腦找個(gè)好位置準(zhǔn)備當(dāng)機(jī)器人的家,
因?yàn)榫€上音樂的快取會(huì)下載到同一個(gè)位置,儲(chǔ)存空間需要足夠,
我以我的使用者文件夾為例,
找個(gè)空白的地方點(diǎn)右鍵,選【Git Bash here】,
此時(shí)會(huì)打開一個(gè)黑色的指令視窗,請(qǐng)複製括弧內(nèi)的文字
【git clone https://github.com/Just-Some-Bots/MusicBot.git MusicBot -b master】,
並於指令視窗中貼上(黑視窗右鍵,選Paste),然後用力按下鍵盤上的enter鍵執(zhí)行。



 
完成後,會(huì)在剛剛右鍵的位置得到一個(gè)叫”MusicBot”的資料夾機(jī)器人相關(guān)的文件都會(huì)在裡面,等等在說明怎麼設(shè)定運(yùn)作,另外,黑視窗直接關(guān)閉即可。
 
 
 
五、機(jī)器人連結(jié)DISCORD帳戶、伺服器設(shè)定
首先,打開並且登入你的DISCORD程式在”使用者設(shè)定” > ”外觀” 選項(xiàng)底部
開啟【開發(fā)者模式】

 
開啟後,順便點(diǎn)發(fā)藍(lán)光的Discord API或這邊(也可從官網(wǎng)最下方"開發(fā)人員"下面的"應(yīng)用程式"進(jìn)入),會(huì)開啟網(wǎng)頁,在頁面點(diǎn)選"Create an application"
 
下一個(gè)頁面,請(qǐng)幫你的機(jī)器人取個(gè)名字,也可以順便加一張大頭貼,這邊設(shè)定等等會(huì)直接繼承到之後步驟,記得在彈出提示中選擇"Save Changes"
(BTW.取叫MusicBOT之類的Discord會(huì)說同名的太多不準(zhǔn)你建立)
 
之後點(diǎn)選左側(cè)欄位SETTINGS下的"Bot",在頁面BUILD-A-BOT下點(diǎn)選【Add Bot】然後選【Yes, do it!】確認(rèn)
 
接著在變大的頁面裡點(diǎn)選Click to Reveal Token或是直接點(diǎn)下方的Copy,複製下這一排大小寫英文混雜數(shù)字的亂碼,請(qǐng)記住有這東西,馬上就會(huì)用到
 
網(wǎng)頁先別關(guān),回到剛剛下載好的機(jī)器人資料夾,打開他,裡面有一個(gè)叫”config”的資料夾,點(diǎn)進(jìn)去可以找到一個(gè)叫【example_options.ini】的檔案,對(duì)他右鍵複製,然後貼上一個(gè)複本在旁邊,把複本名稱改成【options.ini】;之後對(duì)【options.ini】這個(gè)檔案右鍵選取”Edit with Notepad++”開啟

 
開啟後我們先找到Token =bot_token 這一項(xiàng),回到剛剛網(wǎng)頁,把那排亂碼複製並貼在bot_token的位置;之後下面一點(diǎn)有一個(gè)OwnerID = auto,請(qǐng)打開Discord的桌面程式,在你的伺服器對(duì)話或成員隨便找一個(gè)有你的名字的地方按下右鍵,選取【複製ID】,把複製下來的東西貼在auto的位置,兩樣完成後如下方第二張圖,文字檔就可以先存檔(Ctrl+S或點(diǎn)選上方比較大片的單片藍(lán)色磁片,存完書籤上的紅色磁片也會(huì)變?yōu)樗{(lán)色),但先別急著關(guān),還有一些東西你說不定會(huì)用到。


 
在文字檔可以找到一個(gè)選項(xiàng)是CommandPrefix= ! 這個(gè)是下指令時(shí)的字首,如果驚嘆號(hào)已經(jīng)有其他機(jī)器人在用可自行改成米字號(hào)或百分比等符號(hào);
BindToChannels = 可以在後方加入文字頻道的ID(像複製擁有者ID一樣對(duì)文字頻道右鍵),讓機(jī)器人只接收那個(gè)頻道所下的指令;
AutojoinChannels = 則是在後方加入語音頻道的ID,讓機(jī)器人綁定一個(gè)指定的語音頻道,機(jī)器人開機(jī)時(shí)就會(huì)直接加入。
其他選項(xiàng)都有英文介紹,如果有興趣幽冥暗月大大有更詳細(xì)介紹,請(qǐng)移駕這裡
,本文就不多談。
 
 

六、就差最後一點(diǎn)了(自動(dòng)撥放、邀請(qǐng)進(jìn)入伺服器)
在開始執(zhí)行程式前還可以再設(shè)定一點(diǎn)東西,還記得config資料夾裡有個(gè)_autoplaylist.txt嗎?你可以參考他的格式新增一個(gè)autoplaylist.txt文字檔,去做閒置時(shí)自動(dòng)撥放的清單,想試試效果就直接建立複本改名稱也是可以。
 
再邀請(qǐng)近伺服器前,先更新youtube的下載器及機(jī)器人的相關(guān)套件,請(qǐng)回到上一層MusicBot資料夾,執(zhí)行” update.bat”,結(jié)束後關(guān)閉指令視窗即可。
 
希望你網(wǎng)頁還沒關(guān)閉,在剛剛機(jī)器人網(wǎng)頁裡左側(cè)欄進(jìn)入” OAuth2”頁面,在SCOPES下勾選”bot”,並在後面出現(xiàn)的下半?yún)^(qū)勾選”Administrator”後複製中間的網(wǎng)址,貼到瀏覽器的新分頁並前往,選擇欲加入的伺服器,確認(rèn)後即完成機(jī)器人加入。
 
最後最後,在MusicBot資料夾執(zhí)行” run.bat”即可運(yùn)行機(jī)器人,黑色視窗請(qǐng)不要關(guān)。

 
 
 
七、指令、維護(hù)及更新
常用指令如下(打在文字頻道,字首請(qǐng)自行更換)
撥放音樂:%play https://youtu.be/OOOOOXXXXX
跳過音樂:%skip
查詢現(xiàn)在播放:%np
檢視播放清單:%queue
機(jī)器人重新開機(jī):%restart
機(jī)器人關(guān)機(jī):%shutdown
讓機(jī)器人傳回youtube清單所有歌曲連結(jié)給建立者:%pldump <URL>
 
維護(hù)主要是Youtube下載器更新速度很快,而且不會(huì)提醒,雖然不一定每次都要更新才能用,但久了用舊的下載器會(huì)出問題,請(qǐng)先將機(jī)器人關(guān)機(jī)(直接關(guān)掉視窗也沒差),運(yùn)行”update.bat”,也會(huì)順便更新機(jī)器人程式。
 
複數(shù)機(jī)器人架設(shè)方式很簡(jiǎn)單,先直接把MusicBot資料夾改其它名稱,然後從上面開始的下載開始重複一遍就行。
 
其他有使用上的問題請(qǐng)參考作者網(wǎng)站
 
----------------------------------------------------------------------------------------
9/06
鑒於問題裡常看到很多帶答案問問題,就不一一回覆
如果遇到我不回覆你的問題
那可以上這個(gè)網(wǎng)站,把錯(cuò)誤報(bào)表貼上去
裡面的機(jī)器人會(huì)告訴你問題在哪裡w

10/15
有巴友反映無法撥放清單
解決方法如下((有點(diǎn)懷疑是作者BUG啦
config資料夾的permissions.ini開啟後
把[Default]下面"Extractors = "後面的全部刪除後儲(chǔ)存重開即可

1/3
因工作繁忙,關(guān)閉回覆,有問題請(qǐng)自行爬文。

創(chuàng)作回應(yīng)

洨布丁
不好意思打擾一下
我設(shè)定好了 也正常啟用
但是發(fā)現(xiàn) 歌單替換了 但是還是在播同樣的音樂
還有指令沒辦法使用O_O
2018-11-09 19:13:34
Yuzuki Yuki
跳過指令是用投票跟比例來決定是否能跳過
options 大概在75行那邊可以改
SkipRequired = 1
SkipRatio = 0
這樣一人就能決定是否Skip掉當(dāng)前歌曲
2018-11-10 00:42:01
Yuzuki Yuki
無法播YT歌單
permissions裡
把[Default]下面"Extractors = "後面的全部刪除後儲(chǔ)存重開即可

2018-11-10 00:43:01
啊傑
[INFO] launcher: Starting sanity checks
[INFO] launcher: Checking for Python 3.5+
[INFO] launcher: Checking console encoding
[INFO] launcher: Setting console encoding to UTF-8
[INFO] launcher: Ensuring we're in the right environment
[CRITICAL] launcher: Bot wasn't installed using Git. Reinstall using http://bit.ly/musicbotdocs.
Press enter to continue . . .

如何解決?
2018-11-30 21:58:40
Yuzuki Yuki
[INFO]啟動(dòng)器:?jiǎn)?dòng)完整性檢查
[INFO]啟動(dòng)器:檢查Python 3.5+
[INFO]啟動(dòng)器:檢查控制臺(tái)編碼
[INFO]啟動(dòng)器:將控制臺(tái)編碼設(shè)置為UTF-8
[INFO]發(fā)射器:確保我們處於合適的環(huán)境中
[CRITICAL]啟動(dòng)器:未使用Git安裝Bot。 使用bit.ly/musicbotdocs重新安裝。
按Enter繼續(xù)。。。
2018-12-01 10:00:10
X~Chi-Square
[ERROR] launcher: Error starting bot
Traceback (most recent call last):
File "run.py", line 368, in main
m = MusicBot()
File "E:\MusicBot\musicbot\bot.py", line 71, in __init__
self.config = Config(config_file)
File "E:\MusicBot\musicbot\config.py", line 83, in __init__
self.run_checks()
File "E:\MusicBot\musicbot\config.py", line 187, in run_checks
self.bound_channels = set(int(item) for item in self.bound_channels)
File "E:\MusicBot\musicbot\config.py", line 187, in <genexpr>
self.bound_channels = set(int(item) for item in self.bound_channels)
ValueError: invalid literal for int() with base 10: 'general'

[INFO] launcher: All done.
第一天有成功 地2天就登不進(jìn)去了 請(qǐng)大大幫忙Q__Q (感謝
2018-12-12 00:52:31
X~Chi-Square
我知道哪裡錯(cuò)了 感謝
2018-12-12 07:24:27
羽殤
想請(qǐng)問一下 如果要更改機(jī)器人的指令要去哪改
想把一些指令改短一點(diǎn)
2018-12-23 13:38:17

相關(guān)創(chuàng)作

更多創(chuàng)作