質問編集履歴
6
ソースコードを編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -70,7 +70,7 @@
|
|
70
70
|
//アイテムボックスの中身を保存する
|
71
71
|
inventory.set(message.author.id, JSON.stringify(itembox));
|
72
72
|
}
|
73
|
-
|
73
|
+
);
|
74
74
|
client.login('TOKEN');
|
75
75
|
|
76
76
|
|
5
問題点の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
個人のレベルがアップするとランダムなアイテムを入手し、アイテムを収集できる機能を実現したいです。
|
4
4
|
|
5
5
|
### 発生している問題・エラーメッセージ
|
6
|
-
|
6
|
+
入手したアイテムが格納されるアイテムボックスを表示しようとすると、[object Object]と表示されてしまう。
|
7
7
|
|
8
8
|
### 該当のソースコード
|
9
9
|
|
@@ -23,7 +23,15 @@
|
|
23
23
|
// ユーザーのレベルを取得する。なければ{ count: 0, level: 0 }にする
|
24
24
|
const level = (await levels.get(message.author.id)) || { count: 0, level: 0 };
|
25
25
|
|
26
|
+
|
27
|
+
|
28
|
+
//アイテムボックスの中身を表示する
|
29
|
+
if (message.content.match(/アイテムボックス表示/)){
|
30
|
+
message.channel.send(`${itembox}`);
|
31
|
+
}
|
32
|
+
|
33
|
+
|
26
|
-
// カウントを1増やす
|
34
|
+
// レベルのカウントを1増やす
|
27
35
|
if (message.content.match(/サンプル/)){
|
28
36
|
level.count += 1;
|
29
37
|
}
|
4
コードを修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,12 +12,17 @@
|
|
12
12
|
var { itembox }= require('./blocked.json')
|
13
13
|
|
14
14
|
// レベルカウンター
|
15
|
+
//レベルテーブル
|
15
|
-
const
|
16
|
+
const dosukebes= new Keyv('sqlite://db.sqlite', { table: 'dosukebes' });
|
17
|
+
//インベントリーテーブル
|
18
|
+
const inventory = new Keyv('sqlite://db.sqlite', { table: 'inventory' });
|
19
|
+
|
16
20
|
client.on('message', async (message) => {
|
17
21
|
// ボットは除外する
|
18
22
|
if (message.author.bot) return;
|
19
23
|
// ユーザーのレベルを取得する。なければ{ count: 0, level: 0 }にする
|
20
24
|
const level = (await levels.get(message.author.id)) || { count: 0, level: 0 };
|
25
|
+
|
21
26
|
// カウントを1増やす
|
22
27
|
if (message.content.match(/サンプル/)){
|
23
28
|
level.count += 1;
|
@@ -27,12 +32,19 @@
|
|
27
32
|
// ユーザーのレベルを保存する
|
28
33
|
levels.set(message.author.id, level);
|
29
34
|
|
30
|
-
|
35
|
+
// カウントが5になったら0にして、レベルを1増やす
|
31
36
|
if (level.count >= 5) {
|
32
37
|
level.count = 0;
|
33
38
|
level.level += 1;
|
34
39
|
|
40
|
+
//itemboxの内容をユーザーID指定で読み込み
|
41
|
+
var load_itembox = (await inventory.get(message.author.id) || [])
|
42
|
+
try {
|
43
|
+
var itembox = JSON.parse(load_itembox)
|
44
|
+
} catch (error) {
|
45
|
+
var itembox = load_itembox
|
46
|
+
}
|
35
|
-
// 数値を抽選する
|
47
|
+
// アイテムの数値を抽選する
|
36
48
|
var random = Math.floor( Math.random() * 11 );
|
37
49
|
|
38
50
|
// レベルアップ・アイテム入手メッセージ
|
@@ -48,13 +60,8 @@
|
|
48
60
|
}
|
49
61
|
}
|
50
62
|
//アイテムボックスの中身を保存する
|
51
|
-
const fs= require('fs');
|
52
|
-
|
63
|
+
inventory.set(message.author.id, JSON.stringify(itembox));
|
53
|
-
if(err) {
|
54
|
-
return console.log(err);
|
55
|
-
|
64
|
+
}
|
56
|
-
console.log("The file was saved!");
|
57
|
-
});
|
58
65
|
});
|
59
66
|
client.login('TOKEN');
|
60
67
|
|
3
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
discord.jsで配列を個
|
1
|
+
discord.jsで配列を個人ごとに保存したい
|
body
CHANGED
File without changes
|
2
メッセージを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,6 +8,7 @@
|
|
8
8
|
### 該当のソースコード
|
9
9
|
|
10
10
|
```JavaScript
|
11
|
+
//アイテムボックス作成
|
11
12
|
var { itembox }= require('./blocked.json')
|
12
13
|
|
13
14
|
// レベルカウンター
|
@@ -46,7 +47,7 @@
|
|
46
47
|
);
|
47
48
|
}
|
48
49
|
}
|
49
|
-
//
|
50
|
+
//アイテムボックスの中身を保存する
|
50
51
|
const fs= require('fs');
|
51
52
|
fs.writeFile("./blocked.json", JSON.stringify({ itembox }), function(err) {
|
52
53
|
if(err) {
|
1
記入ミスの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -55,4 +55,8 @@
|
|
55
55
|
console.log("The file was saved!");
|
56
56
|
});
|
57
57
|
});
|
58
|
-
client.login('TOKEN');
|
58
|
+
client.login('TOKEN');
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
```
|