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 )