aboutsummaryrefslogtreecommitdiff
path: root/Plugin/Shuffle.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Plugin/Shuffle.pm')
-rw-r--r--Plugin/Shuffle.pm26
1 files changed, 26 insertions, 0 deletions
diff --git a/Plugin/Shuffle.pm b/Plugin/Shuffle.pm
new file mode 100644
index 0000000..dc39898
--- /dev/null
+++ b/Plugin/Shuffle.pm
@@ -0,0 +1,26 @@
+package Plugin::Shuffle;
+
+use strict;
+use warnings;
+
+use List::Util;
+
+my %config;
+
+sub configure {
+ my $self = shift;
+ my $cmdref = shift;
+ my $cref = shift;
+ %config = %$cref;
+
+ $cmdref->("shuffle", sub { $self->shuffle(@_); } );
+
+ return $self;
+}
+
+sub shuffle {
+ my ($self, $irc, $logger, $who, $where, $rest, @arguments) = @_;
+
+ return join " ", List::Util::shuffle(@arguments);
+}
+1;