]> ruin.nu Git - NDIRC.git/blobdiff - Bot.pm
Use discord channel id
[NDIRC.git] / Bot.pm
diff --git a/Bot.pm b/Bot.pm
index 89ec47d7c1e75ae9d7c3cb397b07e0b92b6a2026..0a65f8fbafc11c7f84f7774579bb36e9818f1dd2 100644 (file)
--- a/Bot.pm
+++ b/Bot.pm
@@ -36,7 +36,7 @@ use Mojo::Discord;
 use Mojo::IOLoop;
 
 use NDIRC::Dispatcher;
-use NDIRC::Context;
+use NDIRC::IrcContext;
 
 use IO::File;
 
@@ -61,6 +61,12 @@ has discord_id => (
        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 .. $#_];
@@ -128,6 +134,7 @@ sub _start {
                                        '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,
@@ -329,6 +336,23 @@ sub discord_message_create {
 }
 
 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;
+       }
+}
+
+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 {
@@ -363,7 +387,7 @@ sub parseCommand {
        }
 
        $address =~ s/.*@(.*)/$1/;
-       my $c = NDIRC::Context->new({
+       my $c = NDIRC::IrcContext->new({
                        host => $address,
                        nick => $nick,
                        channel => $channel,