Showing
2 changed files
with
65 additions
and
18 deletions
1 | const { MessageActionRow, MessageButton, Interaction } = require('discord.js'); | 1 | const { MessageActionRow, MessageButton, Interaction } = require('discord.js'); |
2 | 2 | ||
3 | -// var trans = require('./translate'); | 3 | +var disabled_var={ |
4 | + en:true, | ||
5 | + ko:false, | ||
6 | + jp:false | ||
7 | +}; | ||
8 | +var label_var={ | ||
9 | + en:'😛', // 초기값 영어(disabled), 버튼 선택시 함수가 돌아가는 것이므로 처음엔 X표시 | ||
10 | + ko:'한국어', | ||
11 | + jp:'일본어', | ||
12 | +}; | ||
13 | +var current_country='영어' // 초기값 영어 | ||
14 | + | ||
15 | +function trans_disabled_var(input_str){ | ||
16 | + if (input_str == "en"){ | ||
17 | + disabled_var.en=true; | ||
18 | + disabled_var.ko=false; | ||
19 | + disabled_var.jp=false; | ||
20 | + | ||
21 | + label_var.en = '😛'; | ||
22 | + label_var.ko = '한국어'; | ||
23 | + label_var.jp = '일본어'; | ||
24 | + | ||
25 | + current_country = '영어'; | ||
26 | + } | ||
27 | + else if (input_str == "ko"){ | ||
28 | + disabled_var.en=false; | ||
29 | + disabled_var.ko=true; | ||
30 | + disabled_var.jp=false; | ||
31 | + | ||
32 | + label_var.en = '영어'; | ||
33 | + label_var.ko = '😛'; | ||
34 | + label_var.jp = '일본어'; | ||
35 | + | ||
36 | + current_country = '한국어'; | ||
37 | + } | ||
38 | + else if (input_str == "jp"){ | ||
39 | + disabled_var.en=false; | ||
40 | + disabled_var.ko=false; | ||
41 | + disabled_var.jp=true; | ||
42 | + | ||
43 | + label_var.en = '영어'; | ||
44 | + label_var.ko = '한국어'; | ||
45 | + label_var.jp = '😛'; | ||
46 | + | ||
47 | + current_country = '일본어'; | ||
48 | + } | ||
49 | + // 변수가 3개밖에 안되니깐, 가시성위해서 / 어느 언어로부터 바뀌었는지 모르기 때문에, 편하게 변수에 일일이 할당함. | ||
50 | + | ||
51 | + // 변수가 100개였다면, 임시 변수 만들고 추적해서 어느 언어에서 바뀌었는지 확인하고, if(임시변수)써서 이모지 할당하고, | ||
52 | + // 그전꺼, 바뀌어야 할 국가변수 바꿈(받은 str값 label_var 배열(?) for 문 돌려서 찾음) | ||
53 | +} | ||
4 | 54 | ||
5 | exports.run = async (client, msg, args, prefix) => { | 55 | exports.run = async (client, msg, args, prefix) => { |
6 | 56 | ||
... | @@ -8,21 +58,24 @@ exports.run = async (client, msg, args, prefix) => { | ... | @@ -8,21 +58,24 @@ exports.run = async (client, msg, args, prefix) => { |
8 | .addComponents( | 58 | .addComponents( |
9 | new MessageButton() | 59 | new MessageButton() |
10 | .setCustomId('korean') | 60 | .setCustomId('korean') |
11 | - .setLabel('한국어') | 61 | + .setLabel(label_var.ko) |
12 | - .setStyle('PRIMARY'), | 62 | + .setStyle('PRIMARY') |
63 | + .setDisabled(disabled_var.ko), | ||
13 | 64 | ||
14 | new MessageButton() | 65 | new MessageButton() |
15 | .setCustomId('japanese') | 66 | .setCustomId('japanese') |
16 | - .setLabel('일본어') | 67 | + .setLabel(label_var.jp) |
17 | - .setStyle('PRIMARY'), | 68 | + .setStyle('PRIMARY') |
69 | + .setDisabled(disabled_var.jp), | ||
18 | 70 | ||
19 | new MessageButton() | 71 | new MessageButton() |
20 | .setCustomId('english') | 72 | .setCustomId('english') |
21 | - .setLabel('영어') | 73 | + .setLabel(label_var.en) |
22 | - .setStyle('PRIMARY'), | 74 | + .setStyle('PRIMARY') |
75 | + .setDisabled(disabled_var.en), | ||
23 | ); //버튼 생성 | 76 | ); //버튼 생성 |
24 | 77 | ||
25 | - await msg.reply({ content: '번역할 나라를 골라주세요.', components: [row] }); | 78 | + await msg.reply({ content: '번역하고 싶은 언어를 골라주세요. 현재 언어는 '+ current_country+ '입니다.', components: [row] }); |
26 | //버튼 출력 | 79 | //버튼 출력 |
27 | 80 | ||
28 | client.on('interactionCreate', interaction => { | 81 | client.on('interactionCreate', interaction => { |
... | @@ -30,14 +83,17 @@ exports.run = async (client, msg, args, prefix) => { | ... | @@ -30,14 +83,17 @@ exports.run = async (client, msg, args, prefix) => { |
30 | 83 | ||
31 | if(interaction.customId === 'korean'){ | 84 | if(interaction.customId === 'korean'){ |
32 | global.trans_var ='ko'; | 85 | global.trans_var ='ko'; |
86 | + trans_disabled_var('ko'); | ||
33 | } | 87 | } |
34 | 88 | ||
35 | else if(interaction.customId === 'japanese'){ | 89 | else if(interaction.customId === 'japanese'){ |
36 | global.trans_var ='jp'; | 90 | global.trans_var ='jp'; |
91 | + trans_disabled_var('jp'); | ||
37 | } | 92 | } |
38 | 93 | ||
39 | else if(interaction.customId === 'english'){ | 94 | else if(interaction.customId === 'english'){ |
40 | global.trans_var ='en'; | 95 | global.trans_var ='en'; |
96 | + trans_disabled_var('en'); | ||
41 | } | 97 | } |
42 | 98 | ||
43 | }); | 99 | }); | ... | ... |
... | @@ -21,10 +21,7 @@ exports.run = async (client, msg, args, prefix) => { | ... | @@ -21,10 +21,7 @@ exports.run = async (client, msg, args, prefix) => { |
21 | } | 21 | } |
22 | }; | 22 | }; |
23 | 23 | ||
24 | -<<<<<<< HEAD | ||
25 | -======= | ||
26 | 24 | ||
27 | ->>>>>>> d5a6b9b3343c77c3e74f6ccaeaf88b75094c368c | ||
28 | function en_translate(distext){ | 25 | function en_translate(distext){ |
29 | return translatte(String(distext), {to: 'en'}) | 26 | return translatte(String(distext), {to: 'en'}) |
30 | .then(res => { | 27 | .then(res => { |
... | @@ -64,10 +61,4 @@ exports.config = { | ... | @@ -64,10 +61,4 @@ exports.config = { |
64 | category: ['translate'], | 61 | category: ['translate'], |
65 | des: ['채팅 내용에 대한 검색결과를 보여줍니다.'], | 62 | des: ['채팅 내용에 대한 검색결과를 보여줍니다.'], |
66 | use: ['!번역 <채팅>'] | 63 | use: ['!번역 <채팅>'] |
67 | -}; | ||
68 | - | ||
69 | -/*고칠 것 | ||
70 | -1. 상호작용 실패 알림 뜨는거 | ||
71 | -2. !번역, 영어상태에서 영어 번역하면 에러 떠서 멈춰버림 | ||
72 | -3. 꾸미기(?) | ||
73 | -*/ | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
64 | +}; | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment