App-MatrixClient
view release on metacpan or search on metacpan
bin/matrixclient view on Meta::CPAN
$config = YAML::LoadFile( $CONFIG );
$SERVER //= $config->{server};
$SSL //= $config->{ssl};
}
$SERVER //= "localhost:8080";
App::MatrixClient->new(
server => $SERVER,
ssl => $SSL,
( map { $_ => $config->{$_} } qw( user_id password ) ),
)->run;
lib/App/MatrixClient.pm view on Meta::CPAN
$self->{tickit} = Tickit::Async->new( root => $console );
$loop->add( $self->{tickit} );
my %tabs_by_roomid;
push @{ $self->{components} }, App::MatrixClient::Matrix->new(
loop => $loop,
dist => $dist,
( map { $_ => $args{$_} } qw( server ssl user_id password ) ),
);
{
# Much hackery in here...
my $entry = $console->{entry};
my $old_on_key = Tickit::Widget::Entry->can( 'on_key' );
no warnings 'redefine';
*Tickit::Widget::Entry::on_key = sub {
my $ret = $old_on_key->( @_ );
lib/App/MatrixClient/Matrix.pm view on Meta::CPAN
my $class = shift;
my %args = @_;
my $loop = $args{loop};
my $dist = $args{dist};
my $self = bless {
loop => $loop,
dist => $dist,
( map { $_ => $args{$_} } qw( user_id password ) ),
}, $class;
$dist->declare_signal( $_ ) for
qw( on_invite on_user_displayname on_user_presence on_room_new on_room_del );
$dist->declare_action( $_ ) for qw(
do_upload do_get_displayname do_set_displayname do_set_presence
do_add_alias do_del_alias
do_room_create do_room_join do_room_leave do_room_msg
);
lib/App/MatrixClient/Matrix.pm view on Meta::CPAN
sub start
{
my $self = shift;
defined $self->{user_id} or
return Future->done;
print STDERR "Logging in as $self->{user_id}...\n";
$self->{matrix}->login(
map { $_ => $self->{$_} } qw( user_id password )
);
}
sub do_upload
{
my $self = shift;
my ( undef, %args ) = @_;
$self->{matrix}->upload(
file => $args{file},
sample-client.yaml view on Meta::CPAN
# The hostname/port of the homeserver
server: '127.0.0.1:8448'
# True if https should be used
ssl: 1
# Login details of an already-registered user
user_id: '@user:my.host.name'
password: 's3cr3t'
( run in 0.894 second using v1.01-cache-2.11-cpan-49f99fa48dc )