2021-07-11 00:00:22 +02:00
|
|
|
# File: ParseDate.pm
|
|
|
|
#
|
2021-07-24 04:22:25 +02:00
|
|
|
# Purpose: Just a simple interface to test/play with PBot::Core::Utils::ParseDate
|
2021-07-11 00:00:22 +02:00
|
|
|
# and make sure it's working properly.
|
|
|
|
#
|
|
|
|
# SPDX-FileCopyrightText: 2021 Pragmatic Software <pragma78@gmail.com>
|
|
|
|
# SPDX-License-Identifier: MIT
|
2017-09-04 05:46:34 +02:00
|
|
|
|
2021-07-14 04:45:56 +02:00
|
|
|
package PBot::Plugin::ParseDate;
|
|
|
|
use parent 'PBot::Plugin::Base';
|
2017-09-04 05:46:34 +02:00
|
|
|
|
2021-06-19 06:23:34 +02:00
|
|
|
use PBot::Imports;
|
2017-09-04 05:46:34 +02:00
|
|
|
|
|
|
|
use Time::Duration qw/duration/;
|
|
|
|
|
|
|
|
sub initialize {
|
2020-02-15 23:38:32 +01:00
|
|
|
my ($self, %conf) = @_;
|
2021-07-31 04:01:24 +02:00
|
|
|
$self->{pbot}->{commands}->add(
|
|
|
|
name => 'pd',
|
|
|
|
help => 'Simple command to test ParseDate interface',
|
|
|
|
subref =>sub { return $self->cmd_parsedate(@_) },
|
|
|
|
);
|
2017-09-04 05:46:34 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
sub unload {
|
2020-02-15 23:38:32 +01:00
|
|
|
my $self = shift;
|
2021-07-31 04:01:24 +02:00
|
|
|
$self->{pbot}->{commands}->remove('pd');
|
2017-09-04 05:46:34 +02:00
|
|
|
}
|
|
|
|
|
2020-05-04 22:21:35 +02:00
|
|
|
sub cmd_parsedate {
|
|
|
|
my ($self, $context) = @_;
|
|
|
|
my ($seconds, $error) = $self->{pbot}->{parsedate}->parsedate($context->{arguments});
|
2020-02-15 23:38:32 +01:00
|
|
|
return $error if defined $error;
|
|
|
|
return duration $seconds;
|
2017-09-04 05:46:34 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
1;
|