IRC-WIR / ft_irc

0 stars 0 forks source link

44 add quit command #86

Closed rinonaito closed 3 days ago

rinonaito commented 1 week ago

Quitコマンドを実装しました。 コマンド入力からの正しい実装はまだしてません、無視する処理も書いていないです。 以下についてみなさんのご意見伺ってから、どちらかに対応します。

本日お話が途中になってしましましたが、コマンド入力からのQUITコマンドに対応するか否かご相談したいです。 対応しなくてもいいかなと思った理由は以下の2点 ①課題要件に、コマンドからの入力で接続切断すべきと定められていない ②必須でないにしては変更範囲が大きそう。  (私が良い方法思いついていないだけかもしれないので、簡単にできそうであれば教えて欲しいです!)  RFCでQuitコマンドの定義を見ると、Quitメッセージというものが存在します。  これは、Quitを実行したユーザが所属していたすべてのチャンネルに対して送信されます。  つまり、複数のチャンネルに所属する全てのユーザに対して送信する必要があります。  現時点のChannelEventの構造ではChannelを1つ持つようにしていますが、複数持てるように変更しないと  実現できないのかなと思ってます。

paphio-kitsuki commented 1 week ago

元に戻すことにはなりますが、UserもChannelを持てば解決しそうですね。 最大Channel数の件もあるし、持たせても良いかもしれない。 また、メッセージ抜きでも良いので、コマンド入力も実装してみてほしいですね。 メッセージ抜きならきっと簡単です。

weijuan82113 commented 1 week ago

Quitコマンドを実装しました。 コマンド入力からの正しい実装はまだしてません、無視する処理も書いていないです。 以下についてみなさんのご意見伺ってから、どちらかに対応します。

正しいQuitコマンドの実装ではなければ、自作Hupコマンドに名前を変更しても良いと思いますが、どうでしょうか?

rinonaito commented 1 week ago

元に戻すことにはなりますが、UserもChannelを持てば解決しそうですね。 最大Channel数の件もあるし、持たせても良いかもしれない。 また、メッセージ抜きでも良いので、コマンド入力も実装してみてほしいですね。 メッセージ抜きならきっと簡単です。

引数によってメッセージが与えられない場合には、サーバー側が定めたデフォルトメッセージを送信するようです で、現状ですが、ただ「QUIT」の文字列が送られてきた場合には接続切断するようにはなってます

UserにChannelを持たせ、ChannelEventクラスはなくす。という方針ですすめますか?

paphio-kitsuki commented 1 week ago

なるほど、そうでしたか。

いいえ、ChannelEventとは役割が異なるので、どちらも残します。

rinonaito commented 5 days ago

QUITしたユーザと同じChannelに所属するユーザへのメッセージ送信機能を追加しました。

rinonaito commented 4 days ago

修正しました。ご確認願います!

rinonaito commented 4 days ago

みていただきありがとう!気づかないことたくさんで情けない。。修正しました