중규모 Discord에 편리! 롤을 자동 부여할 수 있는 DiscordBot을 만들어 보았다
( 작년 역시 3일째였다…)
아무래도, 프로토아웃 스튜디오 1기생으로, 동 스쿨에서 강사도 맡게 된 것( 트위터 )입니다!
소개
대학 수업에서도 Discord를 사용하고 싶습니다.
Slack과 다른 Discord의 장점
카테고리가 있는 것이 좋다!
수업을 여러 개 가지고 있기 때문에, 그들로 나뉘어져 그 수업의 수강생은 그 카테고리밖에 볼 수 없게 하면 좋을 것 같다
하나의 수업 내에서도 세세하게 그룹을 나누어, 그룹 워크를 시키거나, 교사 쪽으로부터 둘러볼(실제 통화는 Zoom의 브레이크 아웃 룸을 사용) 할 수 있다.
그룹을 작게 함으로써 상당히 질문이 나온다.
(이번 자신의 수업은 1그룹 4,5명으로 했습니다)
막상 만들어 보자
참고 : h tps : //에서. 코m/바미 55/n/뭉 c3아 68652697
Bot 설정
여기( htps : // ㎢ s rd. 코 m / ゔ ぇ ぺ rs / 아 p ぃ 카치 온 s )에서
New Application을 눌러 Bot의 이름을 기입
'Bot'에서 'Add Bot'
'OAuth2'에서 'bot'을 선택하여 초대할 URL 복사
URL을 브라우저에서 열고 서버에 Bot 초대
추가되면 오케이
개발에 필요한 정보 취득
OAuth2 내에서 토큰 복사
(필요하다면) 실제로 디스코드에 로그인 한 후 "서버 설정"-> "위젯"에서 서버 ID 가져 오기
Node.js 쓰기
참고 : htps : // ぢs이 rd. js. rg/#/
npm i discord.js
const Discord = require('discord.js');
const client = new Discord.Client();
// https://discord.com/developers/applications
const BOT_TOKEN = 'コピーしたbotのトークン';
// guild id
const SERVER_ID = 'コピーしたサーバーID';
// 付与したいロールのID
// IDの取得は一回プログラムを実行して確認する
const ROLES_ID = '付与したいロールのID';
client.on('ready', async () => {
console.log(`Logged in as ${client.user.tag}!`);
const guild = await client.guilds.fetch(SERVER_ID);
const rols = await guild.roles.fetch();
rols.cache.forEach(role => {
console.log(role.name + ' : ' + role.id);//idが確認できる
})
});
client.on('guildMemberAdd', async (member) => {
// ロールを自動付与
const addRole = await member.guild.roles.fetch(ROLES_ID);
member.roles.add(addRole);
});
client.login(BOT_TOKEN);
부여하고 싶은 역할의 ID의 취득은 1회 프로그램을 실행해 확인한다
미래
Reference
이 문제에 관하여(중규모 Discord에 편리! 롤을 자동 부여할 수 있는 DiscordBot을 만들어 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tkyko13/items/8071d553703d7fdd6bd2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)