csbot3/csbot3.pl

73 lines
No EOL
1.7 KiB
Perl

#/usr/bin/env perl
use strict;
use warnings;
use diagnostics;
use JSON;
use Module::Reload;
use threads;
use feature "say";
use Cwd 'abs_path';
use File::Basename;
use ENV::Util;
BEGIN {
ENV::Util::load_dotenv('.env');
my $script_dir = dirname(abs_path($0));
push @INC, "$script_dir/src/lib";
}
use CsBot3::Matrix;
# my $jsonconf = "";
# open(my $config, "<", "config.json");
# foreach (<$config>)
# {
# $jsonconf .= $_;
# }
# close $config;
# $config = decode_json $jsonconf;
# if ($@) {
# die("Error parsing JSON: $@");
# }
#
# my $modules = $config -> {"modules"};
#
# foreach (@$modules)
# {
# my $fullname = "csbot2::$_";
# eval "use modules::$_";
# die("Cannot load $_ : $@") if $@;
# #say $_;
# $fullname -> init();
# }
#
# $|++; # enable autoflushing
#
# my $irc;
# my $server = $config -> {"config"} -> {"server"};
# my $port = $config -> {"config"} -> {"port"};
# my $nick = $config -> {"config"} -> {"nick"};
# my $channels = $config -> {"config"} -> {"channels"};
# my $password = $config -> {"config"} -> {"password"};
# my $masters = $config -> {"config"} -> {"masters"};
# my $ignore = $config -> {"config"} -> {"ignore"};
# my $version = "0.2.6 now with slightly better module loading!";
my $matrix = CsBot3::Matrix::new($ENV{MATRIX_SERVER});
my %credentials = (
type => "m.login.password",
user => $ENV{MATRIX_USER},
password => $ENV{MATRIX_PASSWORD},
);
my $room = $ENV{MATRIX_DEFAULT_ROOM};
my $login = CsBot3::Matrix::login(\%credentials);
if($login) {
CsBot3::Matrix::join_room($room);
CsBot3::Matrix::subscribe("m.room.message", \&CsBot3::Matrix::send_message);
CsBot3::Matrix->read_events();
}