前提・実現したいこと
ゲーム内のアイテムなどを管理するプログラムを作っています
!add アイテム名 数値
とインプットするとstock.txt
内にアイテム名と数値が入力されるような形にしています
例えば!add 石 10とインプットすると
--------------------------- 石 10 ---------------------------
とstock.txt
内に入力されるようになっています。
そこですでにstock.txt
内にアイテムがある場合にすでにアイテムがあります
と出力するようにしたのですが、!add 石 10
とした後にもう一度!add 石 10
とするとまたテキストファイル内に入力されてしまいます
ですが一度プログラムを再起動してからまた!add 石 10
とすると、すでにアイテムがあります
と出力されます
どのようにすれば実行中に!addコマンドを連続で実行してすでにアイテムがあります
と出力するようにできますでしょうか。
該当のソースコード
Python
1c = open('/Users/unkoman/Documents/discord-inmu/stock/stock.txt') 2with open('/Users/unkoman/Documents/discord-inmu/stock/stock.txt') as f: 3 stock = f.read() 4 if message.content.startswith('!add'): 5 res = message.content.replace('!add ', '') 6 sr = res.split() 7 reply = ('データに' + sr[0] + 'x' + sr[1] +'を追加しました') 8 content = res.replace(' ', '\n') 9 kiritori = ('---' * 9) 10 last = ('\n' + content + '\n' + kiritori) 11 if message.content.count(' ') == 2: 12 print(sr[0]) 13 if sr[0] not in stock: 14 with open('stock.txt', mode='a') as sw: 15 sw.write(last) 16 await message.channel.send(reply) 17 elif sr[0] in stock: 18 await message.channel.send('すでにアイテムがあります') 19 20 else: 21 await message.channel.send('コマンドの形式が違います')
回答1件
あなたの回答
tips
プレビュー