'READY' => sub { $self->discord_ready(@_) },
'MESSAGE_CREATE' => sub { $self->discord_message_create(@_) },
'GUILD_CREATE' => sub { $self->discord_guild_create(@_) },
+ 'CHANNEL_CREATE' => sub { $self->discord_channel_create(@_) },
},
'reconnect' => 1,
'verbose' => 1,
my $hash = shift;
for my $chan (@{$hash->{channels}}) {
- say localtime(time) . "$chan->{id} - $chan->{name}";
- $self->discord_channels->{$chan->{id}} = $chan->{name};
+ say localtime(time) . " - $chan->{id} - $chan->{name}";
+ $self->discord_channels->{$chan->{id}} = $chan;
}
}
+sub discord_channel_create {
+ my $self = shift;
+ my $chan = shift;
+
+ for my $key (keys %{$chan}) {
+ say localtime(time) . " - $key - $chan->{$key}";
+ }
+ $self->discord_channels->{$chan->{id}} = $chan;
+}
+
sub parseCommand {
my ($self, $msg, $server, $nick, $address, $channel, $model) = @_;
command commands => {
help => q(commands <command> | Gives help about all available commands or lists all commands available in the current channel),
+ type => 'help',
}, class extends NDIRC::Command {
method execute ($c,$command) {
unless($command){
my $author_id = $author->{id};
return if $author->{'id'} eq $self->discord_id; # Ignore my own messages
- my $channel = "pm";
+ my $channel = "D-".$channel_id;
if (exists $self->discord_channels->{$channel_id}) {
- $channel = "#".$self->discord_channels->{$channel_id};
+ $channel = 'dm' if ($self->discord_channels->{$channel_id}->{type} == 1);
}
say localtime(time) . " - $channel_id $channel $author_name $author_id";