質問編集履歴
1
コードブロックできてなかったので修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
-
|
3
|
+
ゲーム内のアイテムなどを管理するプログラムを作っています
|
4
4
|
|
5
|
+
!add アイテム名 数値
|
6
|
+
|
7
|
+
とインプットすると```stock.txt```内にアイテム名と数値が入力されるような形にしています
|
8
|
+
|
5
|
-
!add 石 10
|
9
|
+
例えば!add 石 10とインプットすると
|
6
10
|
|
7
11
|
```
|
8
12
|
|
@@ -16,23 +20,19 @@
|
|
16
20
|
|
17
21
|
```
|
18
22
|
|
19
|
-
と入力されるように
|
23
|
+
と```stock.txt```内に入力されるようになっています。
|
20
24
|
|
21
|
-
すでに
|
25
|
+
そこですでに```stock.txt```内にアイテムがある場合に```すでにアイテムがあります```と出力するようにしたのですが、```!add 石 10```とした後にもう一度```!add 石 10```とするとまたテキストファイル内に入力されてしまいます
|
22
26
|
|
23
|
-
|
27
|
+
ですが一度プログラムを再起動してからまた```!add 石 10```とすると、```すでにアイテムがあります```と出力されます
|
24
28
|
|
25
|
-
|
29
|
+
どのようにすれば実行中に!addコマンドを連続で実行して```すでにアイテムがあります```と出力するようにできますでしょうか。
|
26
|
-
|
27
|
-
なぜでしょうか
|
28
|
-
|
29
|
-
Discord.pyとゆうものを使っています
|
30
|
-
|
31
|
-
|
32
30
|
|
33
31
|
|
34
32
|
|
35
33
|
### 該当のソースコード
|
34
|
+
|
35
|
+
|
36
36
|
|
37
37
|
```Python
|
38
38
|
|
@@ -62,8 +62,6 @@
|
|
62
62
|
|
63
63
|
if sr[0] not in stock:
|
64
64
|
|
65
|
-
f.close()
|
66
|
-
|
67
65
|
with open('stock.txt', mode='a') as sw:
|
68
66
|
|
69
67
|
sw.write(last)
|
@@ -72,8 +70,6 @@
|
|
72
70
|
|
73
71
|
elif sr[0] in stock:
|
74
72
|
|
75
|
-
c.close()
|
76
|
-
|
77
73
|
await message.channel.send('すでにアイテムがあります')
|
78
74
|
|
79
75
|
|
@@ -81,3 +77,5 @@
|
|
81
77
|
else:
|
82
78
|
|
83
79
|
await message.channel.send('コマンドの形式が違います')
|
80
|
+
|
81
|
+
```
|