Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
AnyEvent::XMPP::Ext::MUserRContributed Perl DAnyEvent::XMPP::Ext::MUC::Room(3)

       AnyEvent::XMPP::Ext::MUC::Room -	Room class

       This module represents a	room handle for	a MUC.

       new (%args)
       get_user	($nick)
	   This	method returns the user	with the $nick in the room.

	   This	method returns the AnyEvent::XMPP::Ext::MUC::User object of
	   yourself in the room. If will return	undef if we are	not in the
	   room	anymore.

       get_user_jid ($jid)
	   This	method looks whether a user with the JID $jid exists in	the
	   room. That means whether the	node and domain	part of	the JID	match
	   the rooms node and domain part, and the resource part of the	JID
	   matches a joined nick.

	   This	method returns the list	of occupants as
	   AnyEvent::XMPP::Ext::MUC::User objects.

       make_instant ($cb)
	   If you just created a room you can create an	instant	room with this
	   method instead of going through room	configuration for a reserved

	   If you want to create a reserved room instead don't forget to unset
	   the "create_instant"	argument of the	"join_room" method of

	   See also the	"request_configuration"	method below for the reserved
	   room	config.

	   $cb is the callback that will be called when	the instant room
	   creation is finished.  If successful	the first argument will	be
	   this	room object ($self), if	unsuccessful the first argument	will
	   be undef and	the second will	be a AnyEvent::XMPP::Error::IQ object.

       request_configuration ($cb)
	   This	method requests	the room configuration.	When the configuration
	   form	or an error arrives $cb	will be	called.	 The first argument to
	   the callback	will be	a AnyEvent::XMPP::Ext::DataForm	with the room
	   configuration form or undef in case of an error.  The second
	   argument will be a AnyEvent::XMPP::Error::MUC error object if an
	   error occurred or undef if no error occurred.

	   If you made an answer form you can send it via the
	   "send_configuration"	method below.

	   Here	is an example:

	      $room->request_configuration (sub	{
		 my ($form, $err) = @_;
		 $form or return;

		 my $af	= AnyEvent::XMPP::Ext::DataForm->new;
		 $af->make_answer_form ($form);
		 $af->set_field_value ('muc#roomconfig_maxusers', 20);

		 $roomhdl->send_configuration ($af, sub	{
		    # ...

       "send_configuration ($answer_form, $cb)"
	   This	method sends the answer	form to	a configuration	request	to the
	   room.  $answer_form should be a AnyEvent::XMPP::Ext::DataForm
	   object containig the	answer form with the changed configuration.

	   The first argument of $cb will be a true value if the configuration
	   change was successful. The second argument of $cb will be a
	   "AnyEvent::XMPP::Error::IQ" object if the configuration change was
	   not successful.

       make_message (%args)
	   This	method constructs a AnyEvent::XMPP::Ext::MUC::Message with a
	   connection to this room.

	   %args are further arguments for the constructor of
	   AnyEvent::XMPP::Ext::MUC::Message.  The default "to"	argument for
	   the message is the room and the "type" will be 'groupchat'.

       send_part ($msg,	$cb, $timeout)
	   This	lets you part the room,	$msg is	an optional part message and
	   can be undef	if no custom message should be generated.

	   $cb is called when we successfully left the room or after $timeout
	   seconds. The	default	for $timeout is	60.

	   The first argument to the call of $cb will be undef if we
	   successfully	parted,	or a true value	when the timeout hit.  Even if
	   we timeout we consider ourself parted (and a	'leave'	event is

	   Returns a list of AnyEvent::XMPP::Ext::MUC::User objects which are
	   in this room.

       jid Returns the bare JID	of this	room.

	   Returns the full JID	of yourself in the room.

	   Returns true	if this	room is	still connected	(but maybe not joined

	   If the room is still	joined this method will	return the connection
	   on which the	room is	connected.

	   Returns true	if this	room is	still joined (and connected).

       change_nick ($newnick)
	   This	method lets you	change your nickname in	this room.

       change_subject ($newsubject)
	   This	methods	changes	the subject of the room.

       Robin Redeker, "<elmex at>", JID: "<elmex at>"

       Copyright 2007, 2008 Robin Redeker, all rights reserved.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.32.0			  2012-12-25 AnyEvent::XMPP::Ext::MUC::Room(3)


Want to link to this manual page? Use this URL:

home | help