public function email( $text = null, $subject = "Wikipedia Email", $ccme = false ) {
		global $pgNotag;
		if( !$this->has_email() ) {
			pecho( "Cannot email {$this->username}, user has email disabled", PECHO_FATAL );
			return false;
		}

		$tokens = $this->wiki->get_tokens();
		if( !$pgNotag ) $text .= "\n\nPowered by Peachy " . PEACHYVERSION;
		$editarray = array(
			'action'  => 'emailuser',
			'target'  => $this->username,
			'token'   => $tokens['email'],
			'subject' => $subject,
			'text'    => $text
		);

		if( $ccme ) $editarray['ccme'] = 'yes';

		Hooks::runHook( 'StartEmail', array( &$editarray ) );

		pecho( "Emailing {$this->username}...\n\n", PECHO_NOTICE );

		try{
			$this->preEditChecks( "Email" );
		} catch( EditError $e ){
			pecho( "Error: $e\n\n", PECHO_FATAL );
			return false;
		}

		$result = $this->wiki->apiQuery( $editarray, true );

		if( isset( $result['error'] ) ) {
			throw new EmailError( $result['error']['code'], $result['error']['info'] );
		} elseif( isset( $result['emailuser'] ) ) {
			if( $result['emailuser']['result'] == "Success" ) {
				$this->__construct( $this->wiki, $this->username );
				return true;
			} else {
				pecho( "Email error...\n\n" . print_r( $result['emailuser'], true ) . "\n\n", PECHO_FATAL );
				return false;
			}
		} else {
			pecho( "Email error...\n\n" . print_r( $result['edit'], true ) . "\n\n", PECHO_FATAL );
			return false;
		}
	}