isa => 'Str'
);
+has discord_channels => (
+ is => 'rw',
+ isa => 'HashRef',
+ default => sub { {} }
+);
+
# We registered for all events, this will produce some debug info.
sub _default {
my ($event, $args) = @_[ARG0 .. $#_];
}
sub discord_guild_create {
+ my $self = shift;
+ my $hash = shift;
+
+ for my $chan (@{$hash->{channels}}) {
+ say localtime(time) . "$chan->{id} - $chan->{name}";
+ $self->discord_channels->{$chan->{id}} = $chan->{name};
+ }
}
sub parseCommand {
my $author = $hash->{author};
my $msg = $hash->{content};
my $channel_id = $hash->{channel_id};
- my $author_name = $author->{username};
+ my $author_name = $author->{username}.'#'.$author->{discriminator};
my $author_id = $author->{id};
- say localtime(time) . "$channel_id $author_name $author_id";
return if $author->{'id'} eq $self->discord_id; # Ignore my own messages
- my $channel = "#testarlite";
+ my $channel = "pm";
+ if (exists $self->discord_channels->{$channel_id}) {
+ $channel = "#".$self->discord_channels->{$channel_id};
+ }
+
+ say localtime(time) . " - $channel_id $channel $author_name $author_id";
my ($p,$command,$args) = ($msg =~ /^([.!~])(\S+)(?: (.+))?/);
- say localtime(time) . " - $msg";
return 0 unless $self->disp->has_command($command,$channel);
+ say localtime(time) . " - $msg";
my $c = NDIRC::DiscordContext->new({
- discord_id => $author_id,
+ discord_id => $author_name,
channel_id => $channel_id,
channel => $channel,
disp => $self->disp,
my $query = $self->model->prepare(q{
SELECT role FROM group_roles
WHERE gid IN (SELECT gid FROM groupmembers JOIN users USING (uid)
- WHERE hostmask = $1)
+ WHERE discord_id = $1)
});
- $query->execute($self->host);
+ $query->execute($self->discord_id);
my @roles;
while (my $group = $query->fetchrow_hashref){