Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Determine If a User Is Idented On IRC

Tags:

bots

irc

In my IRC Bot, there are some commands that I want to only be usable by me, and I want to check to make sure that anyone using my name is identified with nickserv (idented). I couldn't, however, find an easy way to determine this, which is why I'm here.

Freenode and Rizon are the primary target networks, if that matters.

Edit: I was actually aware of the various usermodes for idented users (although I didn't pay enough attention to realize that they differ!); sorry for not mentioning that before. The raw response that I get from a user, however, doesn't include their usermodes; it looks something like this:

:[email protected] PRIVMSG #erasmus-testing :foo

I suppose, then, that I'm trying to find a way (with various ircds, grr) to get those flags. If, as someone mentioned, Rizon returns whether or not someone is idented in a WHOIS query, then that's the sort of thing I'm looking for.

like image 675
Xiong Chiamiov Avatar asked Nov 05 '09 19:11

Xiong Chiamiov


People also ask

How do I list users on IRC channel?

You can issue the command who #channel , which will list the users currently in the named channel.

Are IRC chats anonymous?

Anonymity is the main one: you can use IRC servers anywhere, or set up your own, rather than be tied in to centralised messengers. you don't need any personal data tied to your IRC account, so tracing you is next to impossible.

Do hackers use IRC?

Let's join the #hackland channel with the command /join #hackland. And we could start chatting. IRC has a long history in the hacking world. It has been widely used in the hacktivist world, being the main communication channel for many hacker groups.


1 Answers

On freenode, sending a private message to nickserv with the message ACC <nickname> will return a number that indicates the user's ident status:

The answer is in the form <nickname> ACC <digit>:

 0 - account or user does not exist
 1 - account exists but user is not logged in
 2 - user is not logged in but recognized (see ACCESS)
 3 - user is logged in

The STATUS <nickname> command gives similar results on Rizon:

The response has this format:

<nickname> <digit>

 0 - no such user online or nickname not registered
 1 - user not recognized as nickname's owner
 2 - user recognized as owner via access list only
 3 - user recognized as owner via password identification

The advantages that this method has over a WHOIS:

  1. Information about ident status is always included. With WHOISes, you will just not get a line saying something along the lines of "identified with nickserv as such-and-such" if the user is not, in fact, idented.
  2. Consistent number of lines returned. Since I want to grab the message before passing on control to the rest of my program, I can easily read one line out of the buffer (I see synchronization issues in your future!), determine the status, and continue on like normal.
like image 123
Xiong Chiamiov Avatar answered Oct 10 '22 22:10

Xiong Chiamiov