2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

node js でdiscord のbot作成#2応答機能と作る

Last updated at Posted at 2024-03-01

前回のコードの詳しい説明

index.js
const {Client,GatewayIntentBits, GuildTemplate} = require("discord.js")
const client = new Client({intents:[]})
client.on("ready",async (c) =>{
    console.log(`${c.user.tag}でログインしました`)
})
client.login("先ほどのトークン")
const {Client,GatewayIntentBits, GuildTemplate} = require("discord.js")

まずはここです
requireは読み込み先を指定するためみたいな感じです
constは一度定義したら

const client = new Client({intents:[]})

操作するためのクライアントを制作するためのものですintentsはオプションみたいなもの

client.on("ready",async (c) =>{
    console.log(`${c.user.tag}でログインしました`)
})

client.on("ready",async (c) =>{
onはイベントを登録しますreadyは用意が完了したとき
console.logはそのままログに表示します

client.login("先ほどのトークン")

はクライアントに接続しますqiitaで言えばアカウントにログインしないと記事とか投稿でいない感じです

botをサーバーに導入

まずOAuth2タブに移動しましょう
image.png
そして下の方にスクロールして
image.pngって画面が出てくるまでです
権利を設定します
まずbotにチェックを入れましょう
そしたら
image.png

のようなのが出ると思うので好きな権利を選択してください基本的にはSend Messages Use Slash commands
Use Embedded activiesぐらいです自分のサーバーであればAdministratorで基本的にはいいです
https://discord.com/oauth2/authorize?client_id=xxxxx0&permissions=8&scope=bot
みたいなリンクが出ると思うのでそれをコピーしてリンクを開きましょう

image.png

みたいな画面が出るのでサーバーを選択から自分のサーバーを選びましょう

BOTNAMEにご挨拶しな!
みたいなのが選んだサーバーに送信されてたら導入成功です

次はbot タブに移動しましょう
image.png
下の方にスクロールして
image.png
ここにあるトグル全部オンしておいてください

コード変更

前回のコード

index.js
const {Client,GatewayIntentBits, GuildTemplate} = require("discord.js")
const client = new Client({intents:[]})
client.on("ready",async (c) =>{
    console.log(`${c.user.tag}でログインしました`)
})
client.login("先ほどのトークン")

新しいコード

const {Client,GatewayIntentBits, GuildTemplate} = require("discord.js")
+ const client = new Client({intents:[GatewayIntentBits.MessageContent,GatewayIntentBits.Guilds,GatewayIntentBits.GuildMessages]})
- const client = new Client({intents:[]})
+ client.on("messageCreate",async (message) =>{
+ if (message.content == "hello"){
+    message.reply("hello!")
+ }})
client.on("ready",async (c) =>{
    console.log(`${c.user.tag}でログインしました`)
})
client.login("先ほどのトークン")

って感じです

cmd
node index.js

で起動してみましょうそしたらbotを入れたサーバーに行って
helloと打ってみましょう
image.png
みたいになるはずです
ならなかったら権利とか確認して下さい

おわり

何か質問があったらコメントしてください

2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?