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