-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathParseDate.pm
34 lines (27 loc) · 867 Bytes
/
ParseDate.pm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 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: 2017-2023 Pragmatic Software <[email protected]>
# SPDX-License-Identifier: MIT
package PBot::Plugin::ParseDate;
use parent 'PBot::Plugin::Base';
use PBot::Imports;
use Time::Duration qw/duration/;
sub initialize($self, %conf) {
$self->{pbot}->{commands}->add(
name => 'pd',
help => 'Simple command to test ParseDate interface',
subref =>sub { return $self->cmd_parsedate(@_) },
);
}
sub unload($self) {
$self->{pbot}->{commands}->remove('pd');
}
sub cmd_parsedate($self, $context) {
my ($seconds, $error) = $self->{pbot}->{parsedate}->parsedate($context->{arguments});
return $error if defined $error;
return duration $seconds;
}
1;