NetIrc2 Marks the end of a channel's name list. Creates a new instance of . The channel the name list has been sent for. The channel the name list has been sent for. Stores a change in a channel's topic. Creates a new instance of . The channel name. The new channel topic. The channel name. The new channel topic. Stores a complete chat message. Stores a sender and recipient for a targeted action. Creates a new instance of . The sender, or null if the message has no sender. The recipient. The sender. Be aware that some messages may not have a sender, such as NOTICEs from the server at connect time. In this case the sender will be null. The recipient. Creates an instance of . The sender, or null if the message has no sender. The recipient. The chat message. The chat message. Communicates with an Internet Relay Chat server. Creates a new IRC client. Connects to an IRC server. The server hostname. The server port. Options for the connection, if any, or null. Connects to an IRC server specified by an endpoint. The IP endpoint to connect to. Options for the connection, if any, or null. Connects to an IRC server specified by a stream. The stream. Options for the connection, if any, or null. Sends a CTCP command to the specified user or channel. The user or channel to send the command to. The CTCP command. The CTCP command parameters. true to quote parameters with spaces in them, and escape backslashes and quotation marks. Replies to a CTCP command from a user or channel. The user or channel to send the reply to. The CTCP command. The CTCP command reply parameters. true to quote parameters with spaces in them, and escape backslashes and quotation marks. Sends a DCC command to the specified user or channel. The user or channel to send the command to. The DCC command. The DCC command parameters. Constructs and sends an IRC command to the server. The command to send. The command's parameters. true if the command was sent successfully. Sends a premade IRC statement to the server. The statement to send. true if the statement was sent successfully. Closes the network connection. Logs in to the server. A username. If you aren't using a password, this can be anything you want. Your real name, or some made up name. The IRC nickname to use. The hostname to send, or null to send a default value. The servername to send, or null to send a default value. The connection password, or null to not use one. Changes the channel topic. The channel whose topic to change. The new channel topic. Changes the client's nickname. The nickname to change to. Sends an action message to the specified user or channel. The user or channel to send the action message to. The message to send. Invites the specified user to the channel. Channel operator access may be required. The user to invite. The channel to invite the user to. Joins the specified channel. The channel to join. The channel key, or null if a key is unnecessary. Kicks the specified user from the channel. Channel operator access may be required. The user to kick. The channel to kick the user from. The reason the user was kicked, or null to give no reason. Leaves the specified channel. The channel to leave. Requests a listing of available channels on the server. Sends a message to the specified user or channel. The user or channel to send the message to. The message to send. Changes a channel or user's mode. The channel or user to change the mode of. The mode change, for example +o or +v. The mode change parameters. Sends a notice to the specified user. The user to send the notice to. The message to send. Pings the specified user. The user to ping. Logs out from the server. The quit message, or null. The client version. This will be sent in reply to a CTCP VERSION query. Whether the client is connected to a server. The synchronization object for sending IRC commands. Called when a connection is established. Called when the connection is terminated. Called when the server has begun sending the channel list. Called for each entry of the channel list. Called when the server has finished sending the channel list. Called when a channel's topic changes. Called when someone sends a chat action message. Called when the client receives an invitation to join a channel. Called when an error occurs. Called when someone joins a channel. Called when someone leaves a channel. Called when someone sends a message. Called when a channel or user's mode is changed. Called when the server has begun sending the Message of the Day. Called for each line of the Message of the Day sent by the server. Called when the server has finished sending the Message of the Day. Called when someone changes their name. Called when the server is sending a channel's user list. Called at the completion of a channel's user list. Called when someone sends a notice. Notices differ from ordinary messages in that, by convention, one should not send an automated reply in response (such as 'I am away from the keyboard.'). Called on a user's reply to a ping. Called when a user is kicked from a channel. Called when a user disconnects from the server. Called when the server sends the welcome message. Stores a one-line message. Creates a new instance of . The message. The message. Stores information about a user joining or leaving a channel. Creates a new instance of . The user who joined or left the channel(s). The list of channels joined or left. Gets the list of channels joined or left. An array of channel names. The user who joined or left the channel(s). Stores information about a name change. Creates a new instance of . The user who is changing their nickname. The new nickname. The user who is changing their nickname. The new nickname. Validates various parameter types. Checks if the channel name is valid. The definition used by this test is somewhat loose. Channel names may not contain spaces, commas, NULL, BELL, CR, or LF, and must start with # or &. The channel name to test. true if the name is valid. Checks if the nickname is valid. The definition used by this test is somewhat loose. Nicknames may not contain spaces, commas, NULL, BELL, CR, LF, #, &, @, or +. The nickname to test. true if the name is valid. Converts between and . This class is used by Visual Studio's various Designers. Answers requests using the Ident protocol (RFC 1413). Many IRC servers try to connect to a client's Ident server. Starts the Ident server. The port to listen on. The standard port is 113. Starts the Ident server, listening on the specified endpoint. The endpoint to listen on. Stops the Ident server and disconnects all connected clients. The name of the operating system running on the computer. By default, WIN32 will be used on Windows, and UNIX will be used elsewhere. The Ident user ID to reply with. Set this to match the IRC username. Stores information about a channel invitation. Creates a new instance of . The sender of the invitation. The recipient of the invitation. The channel the invitation is for. The channel the invitation is for. Stores information about a user being kicked from a channel. Creates a new instance of . The user doing the kicking. The user being kicked out of the channel. The channel the user is being kicked from. The reason the user is being kicked, or null if none is given. The channel the user is being kicked from. The reason the user is being kicked, or null if none is given. Reads and writes raw IRC statement lines. Creates an IRC statement with nothing set. Creates an IRC statement. The source of the statement, if any. This is called the prefix in the IRC specification. The command or three-digit reply code. The parameters of the command. Tries to read a buffer and parse out an IRC statement. The buffer to read from. The offset to begin reading. The parser may advance this, even if parsing fails. The maximum number of bytes to read. The statement, if parsing succeeds, or null. true if parsing succeeded. Tries to read a buffer and parse out an IRC statement. Additionally, on failure, the reason for failure is returned. The buffer to read from. The offset to begin reading. The parser may advance this, even if parsing fails. The maximum number of bytes to read. The statement, if parsing succeeds, or null. The result of parsing. On failure, this is the reason for the failure. true if parsing succeeded. Converts the IRC statement into a byte array, including the ending CR+LF. A byte array. Converts the IRC statement into a byte array, including the ending CR+LF, and additionally returns whether the string was truncated. true if the string was too long and had to be truncated. A byte array. Converts the IRC statement into an IRC string containing all of its bytes, including the ending CR+LF. An IRC string. Converts the IRC statement into an IRC string containing all of its bytes, including the ending CR+LF, and additionally returns whether the string was truncated. true if the string was too long and had to be truncated. An IRC string. The source of the statement, if any. This is called the prefix in the IRC specification. The command, or if the IRC statement is a reply, a three-digit number. The numeric reply code, if the IRC statement is a reply. The parameters of the statement. The result of attempting to parse an IRC statement. Parsing succeeded. A full statement has not yet been received. The statement failed validation. Either no statement has been received, or the statement that was received is too long. IRC does not allow more than 510 bytes (plus CR+LF) for a statement. The connection was lost. will not return this, but may. The read timed out. will not return this, but may. Stores an IRC user's identity information - their nickname, username, and hostname. Creates a new (blank) IRC identity. Tries to parse a string to get an IRC identity. IRC identities are formatted as nickname!username@hostname. The string to parse. The identity, or null if parsing fails. true if parsing completed successfully. Converts an IRC identity into an IRC string. The IRC string. Converts an IRC identity into an IRC string. The IRC identity. The IRC string. Compares two identities for equality. The first identity. The second identity. true if the identities are equal. Compares two identities for inequality. The first identity. The second identity. true if the identities are not equal. The user's IRC nickname (the name shown in channels). The username. The user's hostname. Stores an entry of the channel list. Creates a new instance of . The channel name. The number of users in the channel. The channel topic. The channel name. The number of users in the channel. The channel topic. Stores a mode change. Creates a new instance of . The user changing the mode. The target of the mode change. This may be a channel or a user. The mode change, for example +o or +v. The mode change parameters. Gets a mode change parameter. The index of the parameter. A parameter. Gets all of the mode change parameters. An array of parameters. The mode change, for example +o or +v. The number of parameters. Stores the results of an earlier ping request. Creates a new instance of . The user who is replying to your ping request. The ping time, in milliseconds. The sender of the reply. The ping time, in milliseconds. Allows string-style manipulation of arrays of bytes. IRC does not define an encoding, so this provides for encoding-agnostic parsing. A zero-byte string. Creates an IRC string by converting a .NET string using UTF-8 encoding. The .NET string to convert. Creates an IRC string by converting a .NET string using the specified encoding. The .NET string to convert. The encoding to use. Creates an IRC string from a byte array. The array of bytes. Creates an IRC string from part of a byte array. The array of bytes. The index of the first byte in the new string. The number of bytes in the new string. Checks if the string contains a particular byte. The byte to look for. true if the string contains the byte. Copies the string into a byte array. The byte array to copy to. The starting index to copy to. Compares the current string with another string. The string to compare with. true if the strings are equal. Scans the string for the first instance of a particular byte. The byte to look for. The index of the first matching byte, or -1. Scans part of the string for the first instance of a particular byte. The byte to look for. The first byte to begin scanning at. The index of the first matching byte, or -1. Scans part of the string for the first byte that matches the specified condition. The condition to match. The first byte to begin scanning at. The distance to scan. The index of the first matching byte, or -1. Joins together a number of strings. The string to separate individual strings with. The strings to join. The joined string. Splits the string into a number of substrings based on a separator. The byte to separate strings by. An array of substrings. Splits the string into a limited number of substrings based on a separator. The byte to separate strings by. The maximum number of substrings. The last substring will contain the remaining bytes. An array of substrings. Checks if the start of the current string matches the specified string. The string to match with. true if the current string starts with . Extracts the end of a string. The index of the first byte in the substring. The substring. Extracts part of a string. The index of the first byte in the substring. The number of bytes to extract. The substring. Gets the bytes that make up the IRC string. An array of bytes. Converts to a .NET string using UTF-8 encoding. The converted string. Converts to a .NET string using the specified encoding. The encoding to use in the conversion. The converted string. Casts the IRC string to a byte array. The IRC string. An array of bytes Casts the IRC string to a .NET string using UTF-8 encoding. The IRC string. A .NET string. Casts a byte array to an IRC string. The array of bytes. An IRC string. Casts a .NET string to an IRC string using UTF-8 encoding. The .NET string. An IRC string. Compares two strings for equality. The first string. The second string. true if the strings are equal. Compares two strings for inequality. The first string. The second string. true if the strings are not equal. Concatenates two strings. The first string. The second string. A string that is the concatentaion of the two. The length of the IRC string, in bytes. Gets a byte from the IRC string. The index into the byte array. The byte at the specified index. Stores information about a user disconnecting from an IRC server. Creates a new instance of . The user who disconnected. The quit message, or null if none was given. The user who disconnected. The quit message, or null if none was given. Receives IRC statements from a stream. Creates a new receiver. The stream to read from. Tries to receive an IRC statement. A blocking read is used. If you have a timeout set, may be . The statement. The parse result. true if a complete IRC statement was received. Stores a list of names of users in a channel. Creates a new instance of . The channel this list pertains to. The names of users in the channel. Gets the list of names of users in the channel. An array of nicknames. The channel this list pertains to. Many of the common IRC error and reply codes. States that a nickname you specified does not exist on the server. States that a server you specified could be found. States that a channel you specified could not be found. States that you are not allowed to send to a specific channel. States that there are already too many channels on the server. States that the nickname you asked about never existed. States that you specified too many targets for your message. States that your ping/pong message did not have an origin parameter. States that you did not specify a target for your message. States that there was no text to send. States that a message could not be delivered, because no top level domain name was specified. In other words, you sent a malformed message. States that a message could not be delivered, because there was a wildcard in the top level domain name you specified. In other words, you sent a malformed message. States that the server does not understand your command. States that the server's Message of the Day file is missing. States that no administrative information could be found. This only occurs in response to a request for said information. States that an error occured when transferring a message. This is a fairly generic message, and does not necessarily mean you did anything incorrectly. States that a nickname parameter was expected and was not received. States that the nickname you specified contained invalid characters. States that the nickname you specified is already in use. States that the nickname you specified is already in use, but on another server. States that the nickname or channel is temporarily unavailable. States that the user specified for a command pertaining to a specific channel is not in the channel. States that you are not in the channel you are trying to act upon. States that the user you invited to a channel is already in said channel. States that the user specified could not be summoned, because they are not logged in. States that summoning is disabled. States that the 'USERS' command is disabled. States that you are not registered with the server, and registration is required for an action you attempted. States that an IRC command lacked some parameters. States that you may not reregister with the server. States that you may not communicate with the server, because you do not have the appropriate priviledges. States that the password you specified to connect was invalid. States that the server has been set up to deny connections to your computer. States that the channel key has already been set. States that the requested channel cannot be joined because it is full. States that a mode character you sent was invalid. States that the channel could not be joined because it is invite-only. States that you are banned from the channel. States that the channel could not be joined because the specified channel key was incorrect. States that the channel name contains invalid characters. States that the client does not have IRC operator priviledges, which are required for some command that was attempted. States that you are not a channel operator for a channel and tried to do an action that required that. States that you may not kill the server. States that the server is not set up to allow operator commands from your host. States that a mode change on a nickname included an unknown flag. Stores an error. Creates a new instance of . The type of error that has occured. The raw IRC statement data. This can be used to garner more information about the error. The type of error that has occured. The raw IRC statement data. This can be used to garner more information about the error. Provides options used by the command. true to use SSL. The SSL hostname. You must set this if you are using SSL. The SSL certificate validation callback. If you are using SSL, the callback is not set, and the SSL certificate is invalid, the connection will fail. This can be used to offer the user an option to connect despite the invalid SSL certificate. The synchronization context for the connection. If this is null, IRC events will be raised in an arbitrary thread. If this is not null, all IRC events will be posted to the synchronization context. By default, the synchronization context is captured at construction time. What this means: If you create and use the IRC client from a Windows Forms, WPF, or other GUI thread, events will be raised on the same thread and you will not have to worry about multithreading at all.