pythonを頑張るブログ

突然pythonに目覚めました。何でもっと早くプログラムをやらなかったのか…後悔しています。適当に綴ります。

トイレ判定プログラム

discordのbotで、トイレに行ったら時間を計測してその時間でうんちかおしっこかを判定するなんとも下世話なプログラムを作っています。
ほら、小学校の時とかにトイレの個室の方に入ると大騒ぎだったじゃないですか?
あれの簡易版みたいなものです(違

ちょっとまだ途中なのですが、いくつか問題点が出てきたので頭の整理を含めアウトプットしておきます。
途中の記載は省略してあります。
timeモジュールを使用しています。
判定用の空のtime_listというリストを作ってあります。

    elif 'といれ' in message.content:
        if client.user != message.author:
            time_list.append(int(time.time()))
            m = 'いっといれ!'
            await client.send_message(message.channel, m)

    elif 'もどり' in message.content:
        if client.user != message.author:
            if len(time_list) == 1:
                time_list.append(int(time.time()))
                m1 = 'おかえり!'
                await client.send_message(message.channel, m1)
                time_watch = time_list[1] - time_list[0]
                m2 = '計測時間は{}秒です!'.format(time_watch)
                await asyncio.sleep(2)
                await client.send_message(message.channel, m2)
                time_list.clear()
            else:
                m3 = 'おか!'
                await client.send_message(message.channel, m3)

とりあえず時間計測できたので、時間によってうんちかおしっこを判定する部分は作っていません。 これはすぐ出来そうなので後々作る予定です。
まだまだ作りが甘いので判定する文字列にも不安があります。
このbot作成で困るのが、誰がどの発言をしたか保持出来ない、という点です。
上記の場合で言うと、Aさんが'といれ'と発言をして席を立ちます。
しかし、その前にBさんは離席をしていて、戻ってきたので'もどり'と発言をしました。
time_listの個数で計測する分岐を作っているので、Bさんの'もどり'発言でも処理が走ってしまうのです。

Aさんだけの発言を保持出来れば、純粋にAさんだけのトイレタイムを計測出来るんですけどね。
また、仮に個別に保持出来たとして、AさんもBさんもCさんもトイレに行った場合にさらに各々で情報を持てるのかも気になります。
何か方法があるのかな?

しかし作り手がしょーもないと、Botもしょーもなくなってくのね。
でもこうゆうどうでもいいテーマを真剣に考えるの大好き。