小屋創作

日誌2019-06-20 11:42

【教學】製作 Discord Bot - DISCORD機器人

作者:雙雙

●安裝必要的程式
 (1)Node.js - 官方網站 - 左邊穩定版,右邊最新版,建議下載穩定版
 (2)notepad++ - 阿榮福利味 - 比記事本好用的記事本,最簡易的寫程式工具

●開啟discord帳號開發者模式
 (1)找到discord的「使用者設定」
 (2)找到左邊的「外觀」
 (3)找到進階選項裡面的「開發者模式」,打開


●建立Discord Bot
 (1)至 Discord應用程式開發網頁
 (2)點擊右邊的「New Application」,輸入應用程式名稱

 (3)給你的機器人大頭貼,記得按下面的「Save Changes」才會儲存
 (4)點左邊的「Bot」,按右邊的「Add Bot」

 (5)輸入機器人的名稱,這個名稱是機器人在伺服器裡顯示的名稱


●將機器人加入到Discord伺服器裡
 (1)點左邊的「General Information」,複製「CLIENT ID」那一行數字
 (2)將Client ID放進下方網址中,取代xxxxxxx那個部分
https://discordapp.com/oauth2/authorize?&client_id=xxxxxxxxxxxxx&scope=bot&permissions=8

 (3)將該網址輸入網址列,選擇要加入的伺服器,授權

 (4)該機器人就會被加入到你的伺服器囉!這時候機器人是離線狀態的~

●撰寫機器人程式碼
 (1)在電腦裡新增一個資料夾,我個人是直接新增在node.js的資料夾裡面
 (2)增加「auth.json」、「package.json」、「bot.js」這三個檔案
  ※兩個json的檔名固定的,js的檔名可以看你自由調整,我是使用dice.js
 (3)這三個檔案用notepad++開啟


●「auth.json」程式碼
 (1)回到Discord應用程式開發網頁,左邊「Bot」,複製TOKEN值

 (2)將TOKEN值放進下方程式碼裡,取代xxxxxxx那個部分
{
"token": "xxxxxxxxxxxx"
}


●「package.json」程式碼
{
"name": "DiceBot",
"version": "1.0.0",
"description": "DiceBot",
"main": "dice.js",
"author": "Double",
"dependencies": {
"discord.io": "github:woor/discord.io#gateway_v6",
"winston": "^3.2.1"
}
}

 name、description、author可以自由修改
 main裡面放的是你的js檔的檔名
 其他地方不要動

※覺得奇怪,我的怎麼長得跟你的不一樣?是因為我上面語言選擇「JSON」

●「bot.js」程式碼
 建議notepad++上面的「語言」選擇「JavaScript」
var Discord = require('discord.io');
var logger = require('winston');
var auth = require('./auth.json');
// Configure logger settings
logger.remove(logger.transports.Console);
logger.add(new logger.transports.Console, {
    colorize: true
});
logger.level = "debug";
// Initialize Discord Bot
var bot = new Discord.Client({
   token: auth.token,
   autorun: true
});
bot.on("ready", function (evt) {
    logger.info("Connected");
    logger.info("Logged in as: ");
    logger.info(bot.username + " - (" + bot.id + ")");
});
bot.on("message", function (user, userID, channelID, message, evt) {
if (message.substring(0, 1) == '!') {
        var args = message.substring(1).split(' ');
        var cmd = args[0];

//主要修改的部分
var ran = Math.floor(Math.random()*100)+1;//亂數產生1~100
        switch(cmd) {
            case 'dice'://若輸入!dice時執行
                bot.sendMessage({
                    to: channelID,
                    message: user + ' 骰出了 ' + ran + ' 點!'//機器人回覆這一行字
                });
            break;
         }

     }
});

 裡面你會需要動到的部分,只有備註為「主要修改的部分」那一區
 可以先不要修改,做到最後一步確定執行沒問題再回來修改

●執行機器人
 (1)執行Node.js Command prompt

 (2)輸入指令到你放上述檔案的位置
  像我是放在H碟,Node.js的資料夾內部,DiscordBot資料夾
  就依序輸入以下指令
H:
cd DiscordBot
  它的位置就會找到H:\Program Files\nodejs\DiscordBot的資料夾

 (3)依序輸入指令安裝discord.js
npm install --save discord.js
npm install discord.io winston -–save
npm install https://github.com/woor/discord.io/tarball/gateway_v6
  裝完之後回到資料夾一看,會發現又多了一個資料夾跟一個json檔,就是安裝成功

 (4)輸入指令執行機器人
node bot.js
  ※因為我的js檔,檔名是dice.js,所以我輸入的是node dice.js
  出現以下的訊息,就代表機器人正常執行成功

  回到伺服器看,機器人是否已經上線了
  若你沒有更動我的程式直接執行,可以在文字頻道輸入「!dice」看機器人是否有回應

※停止機器人的方法:在Node.js Command prompt按下鍵盤Ctrl+C
※若要修改bot.js的程式碼,修改程式後儲存,
 按Ctrl+C停止機器人,再直接 node bot.js 啟動即可

●下次執行機器人
 
 discord.js不用再重新安裝囉!

32

16

LINE 分享

相關創作

星期六要去參加詩擂台賽

2023年日本卒業旅行紀錄 D3:努瑪梓(X)沼津(O)

【今日鬆餅】枕頭與貓

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】