質問編集履歴

6

ソースコードを編集

2021/10/08 06:10

投稿

akki_0523
akki_0523

スコア0

test CHANGED
File without changes
test CHANGED
@@ -142,7 +142,7 @@
142
142
 
143
143
  }
144
144
 
145
- });
145
+ );
146
146
 
147
147
  client.login('TOKEN');
148
148
 

5

問題点の追加

2021/10/08 06:10

投稿

akki_0523
akki_0523

スコア0

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ### 発生している問題・エラーメッセージ
10
10
 
11
- 個人で入手したアイテムがユーザー全員で共通したアイテムボックスに格納されてしまうので、個人ごとのアイテムボックスに格納したい
11
+ 入手したアイテムが格納されるアイテムボックスを表示しようとすると、[object Object]と表示されてしまう。
12
12
 
13
13
 
14
14
 
@@ -48,7 +48,23 @@
48
48
 
49
49
 
50
50
 
51
+
52
+
53
+
54
+
55
+ //アイテムボックスの中身を表示する
56
+
57
+ if (message.content.match(/アイテムボックス表示/)){
58
+
59
+ message.channel.send(`${itembox}`);
60
+
61
+ }
62
+
63
+
64
+
65
+
66
+
51
- // カウントを1増やす
67
+ // レベルのカウントを1増やす
52
68
 
53
69
  if (message.content.match(/サンプル/)){
54
70
 

4

コードを修正

2021/10/05 15:05

投稿

akki_0523
akki_0523

スコア0

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,15 @@
26
26
 
27
27
  // レベルカウンター
28
28
 
29
+ //レベルテーブル
30
+
29
- const levels= new Keyv('sqlite://db.sqlite', { table: 'levels' });
31
+ const dosukebes= new Keyv('sqlite://db.sqlite', { table: 'dosukebes' });
32
+
33
+ //インベントリーテーブル
34
+
35
+ const inventory = new Keyv('sqlite://db.sqlite', { table: 'inventory' });
36
+
37
+
30
38
 
31
39
  client.on('message', async (message) => {
32
40
 
@@ -37,6 +45,8 @@
37
45
  // ユーザーのレベルを取得する。なければ{ count: 0, level: 0 }にする
38
46
 
39
47
  const level = (await levels.get(message.author.id)) || { count: 0, level: 0 };
48
+
49
+
40
50
 
41
51
  // カウントを1増やす
42
52
 
@@ -56,7 +66,7 @@
56
66
 
57
67
 
58
68
 
59
- // カウントが5になったら0にして、レベルを1増やす
69
+ // カウントが5になったら0にして、レベルを1増やす
60
70
 
61
71
  if (level.count >= 5) {
62
72
 
@@ -66,7 +76,21 @@
66
76
 
67
77
 
68
78
 
79
+ //itemboxの内容をユーザーID指定で読み込み
80
+
81
+ var load_itembox = (await inventory.get(message.author.id) || [])
82
+
83
+ try {
84
+
85
+ var itembox = JSON.parse(load_itembox)
86
+
87
+ } catch (error) {
88
+
89
+ var itembox = load_itembox
90
+
91
+ }
92
+
69
- // 数値を抽選する
93
+ // アイテムの数値を抽選する
70
94
 
71
95
  var random = Math.floor( Math.random() * 11 );
72
96
 
@@ -98,19 +122,9 @@
98
122
 
99
123
  //アイテムボックスの中身を保存する
100
124
 
101
- const fs= require('fs');
125
+ inventory.set(message.author.id, JSON.stringify(itembox));
102
126
 
103
- fs.writeFile("./blocked.json", JSON.stringify({ itembox }), function(err) {
104
-
105
- if(err) {
106
-
107
- return console.log(err);
108
-
109
- }
127
+ }
110
-
111
- console.log("The file was saved!");
112
-
113
- });
114
128
 
115
129
  });
116
130
 

3

2021/10/05 14:56

投稿

akki_0523
akki_0523

スコア0

test CHANGED
@@ -1 +1 @@
1
- discord.jsで配列を個に保存したい
1
+ discord.jsで配列を個人ごとに保存したい
test CHANGED
File without changes

2

メッセージを追加

2021/09/30 09:54

投稿

akki_0523
akki_0523

スコア0

test CHANGED
File without changes
test CHANGED
@@ -17,6 +17,8 @@
17
17
 
18
18
 
19
19
  ```JavaScript
20
+
21
+ //アイテムボックス作成
20
22
 
21
23
  var { itembox }= require('./blocked.json')
22
24
 
@@ -94,7 +96,7 @@
94
96
 
95
97
  }
96
98
 
97
- //配列の中身を保存する
99
+ //アイテムボックスの中身を保存する
98
100
 
99
101
  const fs= require('fs');
100
102
 

1

記入ミスの修正

2021/09/30 06:14

投稿

akki_0523
akki_0523

スコア0

test CHANGED
File without changes
test CHANGED
@@ -113,3 +113,11 @@
113
113
  });
114
114
 
115
115
  client.login('TOKEN');
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+ ```