NAME
Bot::Backbone::Service::Role::SendPolicy - Provides send policy framework to a service
VERSION
version 0.161950
SYNOPSIS
use
v5.14;
with
qw(
Bot::Backbone::Service::Role::SendPolicy
)
;
# Post to a random chat
sub
send_message {
my
(
$self
,
$params
) =
@_
;
my
@chats
=
grep
{
$_
->does(
'Bot::Backbone::Service::Role::Chat'
) }
$self
->bot->list_services;
my
(
$chat
) = shuffle
@chats
;
$chat
->send_message(
$params
);
}
# ... whatever else this insane service does ...
DESCRIPTION
This role is used to apply send policies to Bot::Backbone::Service::Role::Chat, Bot::Backbone::Service::Role::ChatConsumer, and Bot::Backbone::Service::Role::Dispatch services. If you have a service that is none of those, but would like to have a send policy applied to anything it may send to a chat, you may define a send_message
method and then apply this role.
ATTRIBUTES
send_policy_name
This is the name of the send policy to apply to this service. It is set using the send_policy
setting in the service configuration. It will be used to set "send_policy", if any policy is set.
send_policy
This is the Bot::Backbone::SendPolicy that has been selected for this service.
REQUIRED METHODS
send_message
This role requires a send_mesage
method be present that works just the same as the one required in Bot::Backbone::Service::Role::Chat. This role will modify that method to apply the "send_policy" to calls to that method.
AUTHOR
Andrew Sterling Hanenkamp <hanenkamp@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2016 by Qubling Software LLC.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.