前往
大廳
主題

不負責任Discord-Bot簡單製作

月月 | 2019-03-20 09:17:30 | 巴幣 199 | 人氣 13730

零.垃圾話
以下內容是我從網路以及朋友一起摸出來的東西
有什麼問題可以發問
不過不一定會有解答
如果喜歡的話按個喜歡~



一.軟體使用
node  個人使用10.15.3LTS
https://nodejs.org/en/
下載好之後就放著 不用特別去點他

notepad++
https://notepad-plus-plus.org/zh/
自行去下載 這邊就不多說了



二.前置動作
開自己帳號的使用者設定
找到左側的外觀並且拉到最下面
開啟開發者模式



開啟後就可以先把discord先放旁邊
然後去這個網站https://discordapp.com/developers/applications/
選取右上角的New Application
點開後會先要你取bot的名稱



成功創進來後會到以下這個畫面
紅色圈起來的地方可以改bot名稱以及圖片
改好之後下方會跳出視窗 記得要去選取
save change才會儲存~
"跳出All your edits have been carefully recorded.才會真正儲存成功"



之後選取左側bot後會到以下畫面
在頁面BUILD-A-BOT的裡面選取Add Bot
並且Yes, do it !!



成功後會到以下這個畫面
圖片中紅色圈起來的
Token很重要,先複製起來
點選click to reval token 並且把顯示的代碼複製起來
(ps.不要給別人看到,那是用來連結自己bot的代碼)
複製起來後先開啟下載好的notepad++
(頁面先小窗即可,等下還會用到)




三.機器人程式
開啟notepda++後會顯示此畫面

成功開啟後選取左上角檔案另存新檔並且把
副檔名選取java script
並且存在想要放的位子
個人存在D: notepad > project
(檔案位子很重要唷~)




然後打上以下圖片的程式碼
解釋圖片裡面都有了
(如果有錯歡迎大大指教)


下面這是可有可無的東西
//cmd登入訊息
client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
});
以上這個可加可不加 是用來顯示有沒有登入成功
有成功就會顯示訊息


接下來開啟剛剛小窗的網頁
並且選取
OAuth2



選取bot後再選取管理員
並且複製中間的網址到網站上面 就可以把機器人加入到你擁有權限的server裡面
到此為止就可以把網頁關閉了




四.開啟你可愛/帥氣的Bot

先到你剛剛存程式碼的地方
並且在紅色圈圈裏面路徑點一次左鍵
讓她呈現複製的反應
並且輸入cmd(命令提示字元)




開啟cmd後會像下圖
並且打上

npm install --save discord.js
npm version
(npm只需要輸入一次 輸入一次後就不需要再次輸入)
並且enter(對應程式碼裡面的discord.js)
以及node + 你的存檔名稱
enter後 你的bot就會上線
如果沒上線...就再發問吧!


最後可以在你的程式碼裡面寫入這個
client.on('message', msg => {
  if (msg.content === '老婆') {
    msg.reply('你沒有老婆!!');
  }
});

*重要*
cmd會因為本身網路而有問題
使用的時候盡量在網路穩定的時候用

如有什麼東西想要詢問,歡迎在下方留言
看到的話有時間會回應~
謝謝大家的觀看~

2021-06-03 16:09:34
請問一下版主大大
如果我要讓BOT回覆圖片的話要把msg.rep;y改成哪一個函式?
2021-06-03 20:44:06
要看你想讓她怎回復
像是這樣
case 'hibiki':
msg.channel.send('超可愛的對吧', {files: ["./picture/hibiki.jpg"]});
2020-08-28 08:42:32
node 主要功能是在幹嘛的 可以不載嗎
2020-08-28 10:10:49
node很重要 可以說是執行的必要條件之一
2020-04-28 22:21:15
照著大大說的打最後跳出這個訊息
ReferenceError: NzA0Njc3ODU2MjczNDk4MTQz is not defined
at Object.<anonymous> (D:\Notepad++\projest\bot:5:15)
[90m at Module._compile (internal/modules/cjs/loader.js:1133:30)[39m
[90m at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)[39m
[90m at Module.load (internal/modules/cjs/loader.js:977:32)[39m
[90m at Function.Module._load (internal/modules/cjs/loader.js:877:14)[39m
[90m at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)[39m
[90m at internal/main/run_main_module.js:18:47[39m
求解個
2020-06-24 12:13:08
通常有問題都是有少步驟 可以往上翻看看,最近有點忙 有點晚回應QQ
2019-12-21 17:09:15
你好~我剛接觸機器人~想弄一個~有幸拜讀到大大文章~感謝!
想問一下上面的問與答部分 上面那個迴圈的你打安安~bot也回安安 ~他會偵測到bot自己回的安安然後又接這回安安~的迴圈~你底下這個範例不就變回圈了??
case '安安': 這邊是你輸入內容
msg.channel.send('安安'); 這邊是bot回應
break;

另外有位大大提到其他指令~你說後面有寫~請問是哪邊後面QQ?
2019-12-21 20:02:04
既然都提到其他指令了 這邊補上一個(算是小福利)
這是讓bot進出語音頻道的程式碼

client.on('message', msg => {
switch (msg.content)
{
case '~Verniy': {
if(msg.member.voiceChannel) {
if( !msg.guild.voiceConnection ) {
msg.member.voiceChannel.join().then(
connection => {
}
).catch(console.error);
msg.channel.send('來了~');
}
} else {
msg.reply('請先進入頻道:3...');
}
break;
}
case '~Verniy休息': {
if( msg.guild.voiceConnection ) {
msg.guild.voiceConnection.disconnect();
msg.channel.send('晚安~');
} else {
msg.channel.send('可是..我還沒進來:3');
}
break;
}
}
});
2019-10-15 22:22:20
internal/modules/cjs/loader.js:638
throw err;
^

Error: Cannot find module 'D:\機器人\bot'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

相關創作

更多創作