IRC Penis Identification Protocol
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
William fd3f423a1a Add Readme 7 years ago Add Readme 7 years ago


The IRC Penis Identification Protocol Standard


The IRC Penis Identification Protocol, or IPIP, formalizes the detection and enumeration of people with penises on an IRC network.

IPIP relies upon the standard behavior of IRC clients, as standardized in RFC 2812.

This standard should be defined in the Server INFO response as a server feature/requirement.


  • A penis is a body part usually found on a male-born human.
  • A client is a user, usually humanoid, connected to an IRC network.
  • A target is an IRC channel or nickname used by clients to direct IPIP messages.


IPIP has two mandatory components: a call component and a response component.

Human clients are normally the originators of the call component, while users with a penis respond to the call with the response component. However, nothing stops a user with a penis from originating an IPIP call, and nothing stops human clients without a penis from falsely responding to the call.

The "call" component

Clients expecting a response from all IPIP-compliant IRC users in the current channel should send a PRIVMSG in the following format:

PRIVMSG target :.penis

Within an IRC client, this message will be just .penis.

The target may be one of two options:

  • A channel, like #traps or #pasta
  • An IRC nickname, like user123 or johndoe

If the target is a channel, the client must expect to receive proper responses from all IPIP-compliant users in the targeted channel.

If the target is a nickname, the client must expect to receive either no proper responses or exactly one proper response from the IPIP-compliant user messaged. If the nickname messaged is not the nickname of an IPIP-compliant user or does not exist on the network, the client should not expect to receive a proper response.

The "response" component

Upon receiving a PRIVMSG of the format specified above, IPIP-compliant IRC users are expected to send a response PRIVMSG in the following format:

PRIVMSG target :Reporting in! [<gender>] information

Where the target is one of two options:

  • The IRC channel from which the request originated.
  • The IRC nickname of the user who sent the IPIP "call".

If the call was sent through a channel and not privately, the user should reply through the channel. If the call was sent privately, the user should reply through a corresponding PRIVMSG directly to the sender.

The response sent to the target has the following format:

Reporting in! [<gender>] information

In this format, the "Reporting in!" component is static and should not vary between IPIP-compliant users.

The "[<gender>]" component is optional, and specifies the gender(s) the user identifies as. If multiple genders were used, it is recommended that they be separated by slashes, although this is not mandatory. This component may not contain mIRC color codes or other non-text characters, to simplify parsing.

After the "[<gender>]" component, the user may choose to specify any additional information they consider pertinent to someone identifying people with penises with IPIP. This information is optional.

In summary, an example IPIP response might look like this:

PRIVMSG #channel :Reporting in! [female] For good time kik me at femnow265 ;)