3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-12-02 00:49:26 +01:00
pbot/lib/PBot/Plugin/ParseDate.pm
Pragmatic Software 926d57990b Support named-parameters in command registration
- convert several plugins to use named-parameters
- misc clean-ups in unrelated files
2021-07-30 19:01:24 -07:00

38 lines
905 B
Perl

# File: ParseDate.pm
#
# Purpose: Just a simple interface to test/play with PBot::Core::Utils::ParseDate
# and make sure it's working properly.
#
# SPDX-FileCopyrightText: 2021 Pragmatic Software <pragma78@gmail.com>
# SPDX-License-Identifier: MIT
package PBot::Plugin::ParseDate;
use parent 'PBot::Plugin::Base';
use PBot::Imports;
use Time::Duration qw/duration/;
sub initialize {
my ($self, %conf) = @_;
$self->{pbot}->{commands}->add(
name => 'pd',
help => 'Simple command to test ParseDate interface',
subref =>sub { return $self->cmd_parsedate(@_) },
);
}
sub unload {
my $self = shift;
$self->{pbot}->{commands}->remove('pd');
}
sub cmd_parsedate {
my ($self, $context) = @_;
my ($seconds, $error) = $self->{pbot}->{parsedate}->parsedate($context->{arguments});
return $error if defined $error;
return duration $seconds;
}
1;