AnyEven...stration(3)
β¨ NAME β¨
okay bestie, this is AnyEvent::XMPP::Ext::Registration β and the manual page itself is AnyEven...stration(3) from the User Contributed Perl Documentation. she handles all tasks of in band registration. no cap. π
πΈ SYNOPSIS πΈ
my $con = AnyEvent::XMPP::Connection->new (...);
$con->reg_cb (stream_pre_authentication => sub {
my ($con) = @_;
my $reg = AnyEvent::XMPP::Ext::Registration->new (connection => $con);
$reg->send_registration_request (sub {
my ($reg, $form, $error) = @_;
if ($error) {
# error handling
} else {
my $af = $form->try_fillout_registration ("tester", "secret");
$reg->submit_form ($af, sub {
my ($reg, $ok, $error, $form) = @_;
if ($ok) { # registered successfully!
$con->authenticate
} else { # error
if ($form) { # we got an alternative form!
# fill it out and submit it with C<submit_form> again
}
}
});
}
});
0
});
that's the whole vibe. yes, the C<submit_form> in that comment is literally part of the code comment in the original. don't panic, bestie. π«Ά
π¦ DESCRIPTION π¦
This module handles all the tasks of in band registration that are possible and specified by XEP-0077. It's mainly a helper class that eases some tasks β you know, submitting and retrieving a form, the little chores that would otherwise be a whole thing. it's giving helpful sidekick energy. π§
π METHODS π
π« new (%args)
This is the constructor for a registration object. slay.
connectionβ this must be aAnyEvent::XMPP::Connection(or some other subclass of that) object. this argument is required. don't skip it, bestie. π¨
π« send_registration_request ($cb)
This method sends a register form request. $cb will be called when either the form arrived or an error happened.
The first argument of $cb is always $self. If the form arrived, the second argument of $cb will be a AnyEvent::XMPP::Ext::RegisterForm object. If an error happened, the second argument will be undef and the third argument will be a AnyEvent::XMPP::Error::Register object.
For hints on how AnyEvent::XMPP::Ext::RegisterForm should be filled out, look in XEP-0077. Either you have legacy form fields, out of band data or a data form. no cap, those are the possibilities.
See also try_fillout_registration in AnyEvent::XMPP::Ext::RegisterForm. π«Ά
π« send_unregistration_request ($cb)
This method sends an unregistration request.
For the deets on the semantics of the callback in $cb, plase look in the description of the submit_form method below. yes, plase is part of the original vibe, bestie. π
π« send_password_change_request ($username, $password, $cb)
This method sends a password change request for the user $username with the new password $password.
For the semantics of the callback in $cb, plase look in the description of the submit_form method below. same energy. π
π« submit_form ($form, $cb)
This method submits the $form, which should be of type AnyEvent::XMPP::Ext::RegisterForm and should be an answer form. like, the form you're sending back. β¨
$con is the connection on which to send this form. that's what the page says, bestie β we're not editing the lore. π«‘
$cb is the callback that will be called once the form has been submitted and either an error or success was received. The first argument to the callback will be the AnyEvent::XMPP::Ext::Registration object, the second will be a boolean value that is true when the form was successfully transmitted and everything is fine. If the second argument is false then the third argument is a AnyEvent::XMPP::Error::Register object. If the error contained a data form which is required to successfully make the request then the fourth argument will be a AnyEvent::XMPP::Ext::RegisterForm which you should fill out and send again with submit_form.
For the semantics of such an error form see also XEP-0077. π
π AUTHOR π
Robin Redeker, "<elmex at ta-sa.org>", JID: "<elmex at jabber.org>". iconic. π
π COPYRIGHT & LICENSE π
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.
π cute little sign-off from the footer: this is perl v5.42.2, dated 2026-02-15, and the page is AnyEven...stration(3). slay. πβ¨
π¦ where this page comes from
- alpine 3.24: perl-anyevent-xmpp-doc 0.55-r1 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms