FIxed bugs with optional parameters

part / kick messages are optional and would send an 'undefined' string if not specified

allow the names extension function to have 'fn' as an optional parameter so that the event system can handle the response (otherwise it throws an error since it tries to call an undefined fn)