#**************************************************************************
-# Copyright (C) 2009 by Michael Andreen <harvATruinDOTnu> *
+# Copyright (C) 2019 by Michael Andreen <harvATruinDOTnu> *
# *
# This program is free software; you can redistribute it and/or modify *
# it under the terms of the GNU General Public License as published by *
use feature ':5.10';
use Moose;
-
-use Set::Object ();
+use namespace::autoclean;
+extends "NDIRC::Context";
has discord_id => (
is => 'ro',
required => 1
);
-has channel => (
- is => 'ro',
- isa => 'Str',
- required => 1
-);
-
-has roles => (
- is => 'ro',
- isa => 'Object',
- lazy_build => 1
-);
-
-has uid => (
- is => 'ro',
- isa => 'Int',
- lazy_build => 1
-);
-
-has disp => (
- is => 'ro',
- isa => 'Object',
- required => 1
-);
-
-has model => (
- is => 'ro',
- isa => 'Object',
- required => 1
-);
-
has discord => (
is => 'ro',
isa => 'Object',
required => 1
);
-sub assert_user_roles {
- my ($self,@roles) = @_;
- return 1 unless @roles;
-
- my $need = Set::Object->new(@roles);
-
- if ($self->roles->superset($need)){
- return 1;
- }
-
- die "Access denied";
-}
-
-sub check_user_roles {
- my ($self,@roles) = @_;
-
- local $@;
- eval { $self->assert_user_roles(@roles) };
-}
sub reply {
my ($self,$msg) = @_;
$self->discord->send_message($target, $msg ); # Send the response.
}
-sub command {
- my ($self,@command) = @_;
-
-}
-
-sub intel_log {
- my ($c,$planet, $message) = @_;
- my $log = $c->model->prepare_cached(q{
-INSERT INTO forum_posts (ftid,uid,message) VALUES(
- (SELECT ftid FROM planets WHERE pid = $3),$1,$2)
- });
- $log->execute($c->uid,$message,$planet);
-}
-
-sub def_log {
- my ($c,$call, $message) = @_;
- my $log = $c->model->prepare(q{
-INSERT INTO forum_posts (ftid,uid,message) VALUES(
- (SELECT ftid FROM calls WHERE call = $3),$1,$2)
- });
- $log->execute($c->uid,$message,$call);
-}
-
-sub _build_roles {
- my ($self) = @_;
-
- my $query = $self->model->prepare(q{
-SELECT role FROM group_roles
-WHERE gid IN (SELECT gid FROM groupmembers JOIN users USING (uid)
- WHERE discord_id = $1)
- });
- $query->execute($self->discord_id);
-
- my @roles;
- while (my $group = $query->fetchrow_hashref){
- push @roles,$group->{role};
- }
- return Set::Object->new(@roles);
-}
sub _build_uid {
my ($self) = @_;
return $s;
}
+__PACKAGE__->meta->make_immutable;
+
1;