Modules/bIRC/ircFormatHost

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Package-x-generic.png This function is provided by the external module Basic IRC Module. You must install this module to use this function.

This function can be used to change a ban host mask to specified wildcard format.

Syntax

string ircFormatHost ( string host, [ int formatType = 2 ] )

Required Arguments

  • host: The host address that will be reformatted. It needs to be in format "nick!user@host".
Note: If you're using this function along with ircGetUserHost, please remember to add the nick! part yourself to the host as ircGetUserHost only returns the user@host part.

Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • formatType: The way the host is going to be formatted. Valid values are
    • 0: *!user@host
    • 1: *!*user@host
    • 2: *!*@host
    • 3: *!*user@*.host
    • 4: *!*@*.host
    • 5: nick!user@host
    • 6: nick!*user@host
    • 7: nick!*@host
    • 8: nick!*user@*.host
    • 9: nick!*@*.host
You can also specify a type of 10 to 19 which correspond to masks 0 to 9, but instead of using only * wildcard to replace portions of the host, also ? wildcards are used to replace the numbers in the address (host part).

Returns

Returns a formatted version of the string of the specified host if arguments were valid, false otherwise.

Example

This example creates an ircbot called DummyBot makes it connect to a server and join a channel. It also includes an IRC command '!formathost <name> <type>' which formats specified users host to specified type if the user is actually in the channel.

function resourceStart ( )
    theBot = ircCreateBot ( "DummyBot" )
    ircConnect ( theBot, "irc.gtanet.com", 6667 )
end
addEventHandler ( "onResourceStart", getResourceRootElement ( getThisResource() ), resourceStart )

function event_ircOnConnect ( theBot )
    setTimer ( ircJoinChannel, 2000, 1, theBot, "#testchannel" )
end

function event_ircOnText ( theBot, channel, sender, message )
    if message:find( "!formathost" ) then
        local params = split ( message, string.byte (' ') )
        -- params[1] has the string "!formathost" which we don't need
        -- params[2] has the name of the user
        -- params[3] has the type of the format
        if ircIsInChannel ( theBot, channel, params[2] ) then
            local host = ircGetUserHost ( theBot, params[2] )
            host = ircFormatHost ( params[2] .. "!" .. host, tonumber(params[3]) )
            ircSendMessage ( theBot, channel, params[2] .. "'s formatted host is " .. tostring(host) )
        end
    end
end

See Also

Bot functions

Creation

Connection

Other

IRC functions

Channel

User

Communication

Other