創作內容

16 GP

不負責任Discord-Bot簡單製作

作者:月月│2019-03-20 09:17:30│巴幣:199│人氣:13320
零.垃圾話
以下內容是我從網路以及朋友一起摸出來的東西
有什麼問題可以發問
不過不一定會有解答
如果喜歡的話按個喜歡~



一.軟體使用
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會因為本身網路而有問題
使用的時候盡量在網路穩定的時候用

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

引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4331025
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:Discord|Bot|Discord機器人|discord機器人|discord bot|discord bot教學

留言共 15 篇留言

Diaz
請問「並且enter(對應程式碼裡面的discord.js)」是什麼意思?

04-30 22:44

月月
打上
npm install --save discord.js
輸入後讓他跑
npm version(這個也一樣)
這些主要是讓你對應程式碼裡面的
const Discord = require('discord.js');04-30 23:36
Diaz
感謝大大~

05-03 00:09

月月
不客氣05-03 00:15
欸嘿欸嘿
請問大大,DC的房間名稱如果想+那種可愛的符號要怎麼用QQ

05-12 16:56

月月
網路上找特殊符號
直接複製貼上就好了05-12 21:14
月月
我有稍微嘗試過像這種♐
也可以使用 所以其他符號應該也是沒問題05-12 21:15
かっこい の 秋哦*
請問 我做到CMD了 但是沒有看到我的BOT 能私我或加我DIS嗎

05-18 12:51

月月
問一下你的js檔案名稱05-18 13:15
月月
像是我的是bot.js
在cmd裡面就要打node bot05-18 13:15
Dolulu
請問一下喔 我打npm install --save discord.js這個後 跑出現下面這個

No description
No repository field.
bot也沒上線 是有哪邊出現狀況麻??

05-19 22:15

月月
cmd裡面輸入node+js檔名bot才會上線
npm是要弄discord資料的
輸入一次就好
不需要重複輸入05-19 23:04
惠惠我的老婆
請問打完C:\Program Files\Notepad++\project>node test
一直重複C:\Program Files\Notepad++\project>
有哪裡出錯了嗎?

07-02 00:48

月月
在路徑C:\Program Files\Notepad++\project的cmd裡面打上node test07-02 01:56
月月
不是在cmd裡面輸入C:\Program Files\Notepad++\project>node test07-02 01:56

請問那我想多添加一些機器人的指令或是設置一些前綴要怎麼弄?

08-10 23:32

月月
後面有寫 可以加入那邊
剩下的自己去應用吧08-11 00:24
狂戎
想請問一下 我的bot好像看不懂中文(我試著加入一些英文的反應有效 但是中文都沒反應)
是有什麼地方遺漏了嗎?

08-31 11:55

月月
如果是打程式碼的部分基本就是只能輸入英文
但是如果要輸入一些指令
像是你在dc打 安安 要他回 安安的話
可以使用
client.on('message', msg => {
switch (msg.content)
{
case '安安': 這邊是你輸入內容
msg.channel.send('安安'); 這邊是bot回應
break;
}
});08-31 12:20
月月
另外我上面打的
這邊是你輸入內容
這邊是bot回應
不要打進去喔XD08-31 12:21
狂戎
好的 感謝大大!

08-31 12:51

狂戎
我剛剛沒仔細看 就照著打 然後bot就在那邊自己跟自己安安(直到永遠) XDDD
看來這邊還要注意不能無窮迴圈了(?)

08-31 12:58

月月

要小心他自問自答XD08-31 13:49
月月
另外要新增指令的話就

case '安安': 這邊是你輸入內容
msg.channel.send('安安'); 這邊是bot回應
break;

case '安安': 這邊是你輸入內容
msg.channel.send('安安'); 這邊是bot回應
break;

這樣接下去就好08-31 13:50

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)

10-15 22:22

阿米糕
你好~我剛接觸機器人~想弄一個~有幸拜讀到大大文章~感謝!
想問一下上面的問與答部分 上面那個迴圈的你打安安~bot也回安安 ~他會偵測到bot自己回的安安然後又接這回安安~的迴圈~你底下這個範例不就變回圈了??
case '安安': 這邊是你輸入內容
msg.channel.send('安安'); 這邊是bot回應
break;

另外有位大大提到其他指令~你說後面有寫~請問是哪邊後面QQ?

12-21 17:09

月月
既然都提到其他指令了 這邊補上一個(算是小福利)
這是讓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;
}
}
});12-21 20:02
時達艾詡
照著大大說的打最後跳出這個訊息
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
求解個

04-28 22:21

月月
通常有問題都是有少步驟 可以往上翻看看,最近有點忙 有點晚回應QQ06-24 12:13
君莫笑
node 主要功能是在幹嘛的 可以不載嗎

08-28 08:42

月月
node很重要 可以說是執行的必要條件之一08-28 10:10
NotElectricBear
請問一下版主大大
如果我要讓BOT回覆圖片的話要把msg.rep;y改成哪一個函式?

06-03 16:09

月月
要看你想讓她怎回復
像是這樣
case 'hibiki':
msg.channel.send('超可愛的對吧', {files: ["./picture/hibiki.jpg"]});06-03 20:44
我要留言提醒:您尚未登入,請先登入再留言

16喜歡★kushinaanna 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:日常訓練畫響~05... 後一篇:3年A班:從現在起大家都...

追蹤私訊切換新版閱覽

作品資料夾

Lobster0627全體巴友
大家可以多多來我的YT頻道看看哦(*´∀`)~♥https://www.youtube.com/@lobstersandwich看更多我要大聲說昨天15:59


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

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