- 00 OO
5. Nhóm message do client truy vấn đến server(user-based query)
Đây là nhóm command mà user có thể dùng để tạo truy vấn. Khi dùng nhóm lệnh này user có thể xem được thông tin chi tiết về các user khác với điều kiện các user có thể nhận biết nhau trên mạng. Việc có thể nhận biết nhau tùy thuộc vào mode user đó và trạng thái channel đang dùng.
5.1 Who Query
Cú pháp:
WHO [<name>[<o>]]
WHO message dùng cho client để tạo ra truy vấn, kết quả truy vấn đó là danh sách các user phù hợp với đối số <name>. Nếu không có đối số <name> thì tất cả user (có thể thấy được) được trả về, có thể nhận được danh sách các operator nếu chúng ta sử dụng đối số [<o>]hoặc ký tự đại diện(wildcard).
Đối số <name> có thể là hostname, server, realname, nickname. Giá trị trả về:
ERR_NOSUCHSERVER RPL_ENDOFWHO RPL_WHOREPLY Ví dụ:
üWHO jto* o yêu cầu liệt kê tất cả user có tên “jto*” nếu chúng là operator.
5.2 Who is Query
Cú pháp:
WHOIS [<server>]<nickmask>[,<nickmask>[,…]]
Message này dùng để yêu cầu thông tin cụ thể về một user nào đó, như thế có sự khác nhau giữa WHO message và WHOIS message cụ thể là:
WHO message: yêu cầu danh sách các user.
WHOIS message: yêu cầu thông tin về một user nào đó.
Server sẽ trả lời cho message này, trong trường hợp server là server ở xa(remote server) thì nó phải được đưa vào đối số <server>.
Lưu ý :Danh sách các nickmask phải cách nhau bởi dấu phẩy. Giá trị trả về: ERR_NOSUCHSERVER ERR_NONNICKNAMEGIVEN RPL_WHOISUSER RPL_WHOISCHANNELS RPL_WHOISSERVER RPL_AWAY RPL_ WHOISOPERATOR RPL_WHOISIDLE RPL_ENDOFWHOIS ERR_NOSUCHNICK Ví dụ:
üWHOIS wiz trả về thông tin user hiện hành với nickmask “ wiz”.
üWHOIS eff.org trillian truy vấn đến server “eff.org” về “trillian”.
5.3 Whowas Message
Cú pháp:
WHOWAS <nickname>[<count>[<server>]]
Khác với WHOIS messge, WHOWAS messge yêu cầu thông tin những user trong quá khứ mà hiện giờ không còn có mặt trong danh sách user active. Để trả lời cho message này server phải tìm kiếm trong danh sách các nickname đã thoát ra khỏi hệ thống mạng(IRC network). Chúng ta thấy trong danh sách đối số có <count>, đối số này là một số nguyên dương, cho biết lấy bao nhiêu lần thông tin về nickname đó, có nghĩa là trong danh sách các nickname đã rời khỏi hệ thống mạng có thể có nhiều mẩu tin nickname giống nhau nhưng khác nhau về thời gian đăng nhập. Khi đó <count> quy định lấy bao nhiêu mẩu tin, nếu trường hợp không có giá trị <count> server sẽ trả về toàn bộ thông tin các nickname mà server có được.
Giá trị trả về:
ERR_NONICKNAMEGIVEN ERR_WASNOSUCHNICK RPL_WHOWASUSER RPL_WHOSISERVER
RPL_ENDOFWHOWAS Ví dụ:
üWHOWAS wiz trả về tất cả những thông tin trong quá khứ về nickname “wiz”.
üWHOWAS Mermaid 9 trả về thông tin trong quá khứ của “Mermaid” nhưng chỉ lấy tối đa 9 mẩu tin về nickname này.
üWHOWAS Trillian 1 *.edu chỉ lấy 1 mẩu tin về nickname “Trillian” ở server “*.edu”.