Showing
4 changed files
with
81 additions
and
8 deletions
... | @@ -21,12 +21,9 @@ module.exports = { | ... | @@ -21,12 +21,9 @@ module.exports = { |
21 | .addField('/도움 <명령어>', '명령어 상세 설명', true) | 21 | .addField('/도움 <명령어>', '명령어 상세 설명', true) |
22 | .addField('/마리샵', '마리샵 정보 조회', true) | 22 | .addField('/마리샵', '마리샵 정보 조회', true) |
23 | .addField('/정보 <닉네임>', '전투정보실 조회', true) | 23 | .addField('/정보 <닉네임>', '전투정보실 조회', true) |
24 | -<<<<<<< HEAD | ||
25 | - .addField('/로아와 <닉네임>', '로아와 조회', true); | ||
26 | -======= | ||
27 | .addField('/로아와 <닉네임>', '로아와 조회', true) | 24 | .addField('/로아와 <닉네임>', '로아와 조회', true) |
28 | - .addField('/나침반', '금일 스케줄 조회', true); | 25 | + .addField('/나침반', '금일 스케줄 조회', true) |
29 | ->>>>>>> feature/compass | 26 | + .addField('/용어 <단어>', '로스트아크 용어 설명', true); |
30 | await interaction.reply({embeds: [helpEmbed], allowedMentions: {repliedUser: false}}); | 27 | await interaction.reply({embeds: [helpEmbed], allowedMentions: {repliedUser: false}}); |
31 | } else if(helpCommand === "도움") { | 28 | } else if(helpCommand === "도움") { |
32 | const helpEmbed = new MessageEmbed() | 29 | const helpEmbed = new MessageEmbed() |
... | @@ -52,15 +49,18 @@ module.exports = { | ... | @@ -52,15 +49,18 @@ module.exports = { |
52 | .setTitle(`/로아와 <닉네임> 사용방법`) | 49 | .setTitle(`/로아와 <닉네임> 사용방법`) |
53 | .setDescription(`<닉네임>에 해당하는 캐릭터의 로아와 정보를 브라우저로 엽니다.`); | 50 | .setDescription(`<닉네임>에 해당하는 캐릭터의 로아와 정보를 브라우저로 엽니다.`); |
54 | await interaction.reply({embeds: [helpEmbed], allowedMentions: {repliedUser: false}}); | 51 | await interaction.reply({embeds: [helpEmbed], allowedMentions: {repliedUser: false}}); |
55 | -<<<<<<< HEAD | ||
56 | -======= | ||
57 | } else if(helpCommand === "나침반"){ | 52 | } else if(helpCommand === "나침반"){ |
58 | const helpEmbed = new MessageEmbed() | 53 | const helpEmbed = new MessageEmbed() |
59 | .setColor('#0099ff') | 54 | .setColor('#0099ff') |
60 | .setTitle(`/나침반 사용방법`) | 55 | .setTitle(`/나침반 사용방법`) |
61 | .setDescription(`금일 이용가능한 모험섬과 콘텐츠 정보를 제공합니다.`); | 56 | .setDescription(`금일 이용가능한 모험섬과 콘텐츠 정보를 제공합니다.`); |
62 | await interaction.reply({embeds: [helpEmbed], allowedMentions: {repliedUser: false}}); | 57 | await interaction.reply({embeds: [helpEmbed], allowedMentions: {repliedUser: false}}); |
63 | ->>>>>>> feature/compass | 58 | + } else if(helpCommand === "용어"){ |
59 | + const helpEmbed = new MessageEmbed() | ||
60 | + .setColor('#0099ff') | ||
61 | + .setTitle(`/용어 사용방법`) | ||
62 | + .setDescription(`<단어>에 해당하는 로스트아크 용어 설명을 제공합니다.`); | ||
63 | + await interaction.reply({embeds: [helpEmbed], allowedMentions: {repliedUser: false}}); | ||
64 | } else { | 64 | } else { |
65 | await interaction.reply("해당 명령어는 없습니다."); | 65 | await interaction.reply("해당 명령어는 없습니다."); |
66 | } | 66 | } | ... | ... |
commands/term.js
0 → 100644
1 | +const { SlashCommandBuilder } = require('@discordjs/builders'); | ||
2 | +const { MessageEmbed } = require('discord.js'); | ||
3 | +const fs = require('fs'); | ||
4 | + | ||
5 | +module.exports = { | ||
6 | + data: new SlashCommandBuilder() | ||
7 | + .setName('용어') | ||
8 | + .setDescription('로스트아크 관련 용어정보를 제공합니다.') | ||
9 | + .addStringOption(option => | ||
10 | + option.setName('단어') | ||
11 | + .setDescription('궁금한 단어') | ||
12 | + .setRequired(true)), | ||
13 | + async execute(interaction) { | ||
14 | + const user_term = interaction.options.getString('단어'); | ||
15 | + | ||
16 | + await fs.readFile('./terms/response.json', 'utf-8', (err, respone) => { | ||
17 | + if (err) return console.log(err); | ||
18 | + const terms = JSON.parse(respone); | ||
19 | + | ||
20 | + if(user_term in terms){ | ||
21 | + const termembed = new MessageEmbed() | ||
22 | + .setColor('#FFD700') | ||
23 | + .setTitle('단어 정보 제공') | ||
24 | + .setDescription(`${user_term}: ${terms[user_term]}`) | ||
25 | + interaction.reply({ embeds: [termembed], allowedMentions: {repliedUser: false} }); | ||
26 | + } else{ | ||
27 | + const termembed = new MessageEmbed() | ||
28 | + .setColor('#FFD700') | ||
29 | + .setTitle('단어 정보 제공') | ||
30 | + .setDescription(`${user_term}에 대한 정보가 없어요\n사용자가 많이 입력하는 단어 일수록 정보가 빠르게 추가됩니다!`) | ||
31 | + | ||
32 | + fs.readFile('./terms/request.json', 'utf-8', (err, request) => { | ||
33 | + if (err) return console.log(err); | ||
34 | + let req_terms = JSON.parse(request); | ||
35 | + | ||
36 | + if(user_term in req_terms){ | ||
37 | + req_terms[user_term] += 1; | ||
38 | + let reqtermJsion = JSON.stringify(req_terms); | ||
39 | + fs.writeFile('./terms/request.json', reqtermJsion, (err) => { | ||
40 | + if (err) return console.log(err); | ||
41 | + }) | ||
42 | + }else{ | ||
43 | + req_terms[user_term] = 0; | ||
44 | + let reqtermJsion = JSON.stringify(req_terms); | ||
45 | + fs.writeFile('./terms/request.json', reqtermJsion, (err => { | ||
46 | + if (err) return console.log(err); | ||
47 | + })) | ||
48 | + } | ||
49 | + }) | ||
50 | + interaction.reply({ embeds: [termembed], allowedMentions: {repliedUser: false} }); | ||
51 | + } | ||
52 | + }) | ||
53 | + }, | ||
54 | +}; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
terms/request.json
0 → 100644
1 | +{"user_term":0,"temp":1,"회파":0} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
terms/response.json
0 → 100644
1 | +{ | ||
2 | + "쌀먹": "골드를 벌어 쌀로 바꿔 먹는다는 의미, 현재는 배틀아이템을 아끼거나 기본세팅을 맞추지 않은 사람을 의미하기도 함", | ||
3 | + "트팟": "트라이파티라는 의미, 일반적으로 처음 레이드를 하는 사람들끼리 모여서 파티를 이룬다", | ||
4 | + "랏폿": "파티모집 중 서폿자리만 남았다는 의미", | ||
5 | + "클경": "해당 레이드의 클리어를 경험해 보았다는 의미", | ||
6 | + "반숙": "반정도 숙련되었다는 뜻으로 보통 몇번 클리어경험은 있지만 숙련자는 아닌 사람들끼리 파티를 이룰 때 쓰는 말", | ||
7 | + "숙제팟": "많이 숙련되어 해당 레이드를 숙제처럼 할 수 있는 파티", | ||
8 | + "빡숙": "엄청나게 숙련된 사람", | ||
9 | + "경미참": "레이드 보상 경매에 참여하지 말라는 의미 ex)눕클경미참, 전각미참", | ||
10 | + "국룰": "이미 대중적으로 대부분의 파티에서 사용하는 방식의 공략벅을 사용하겠다는 뜻", | ||
11 | + "딱렙": "해당 레이드의 레벨에 딱 맞춘 경우", | ||
12 | + "숙코": "숙련 코스프레의 줄인말로, 미숙한 유저가 숙련팟에 갔을 때 나오는 말", | ||
13 | + "내실": "섬의 마음, 오르페우스의 별, 모코코, 모험의 서 등 로스트아크 내 수집 컨텐츠를 뜻하는 말", | ||
14 | + "장기백": "재련으로 아이템의 장인의 기운이 100%가 된 상태로, 무조건 재련이 성공하는 상태. 많은 사람들의 화를 유발하게 한다.", | ||
15 | + "직각": "직업 각인서를 의미", | ||
16 | + "떠상": "떠돌이 상인의 줄인말로 로스트아크 내에서 매시 30분에서 55분 동안 등장하는 상인을 말함", | ||
17 | + "성불": "보통 레이드 트라이파티에서 많은 시간을 들여 클리어 했을 때 '성불했다' 라는 표현을 사용한다" | ||
18 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
-
Please register or login to post a comment