Skip to content

polettix/Bot-ChatBots

Repository files navigation

NAME

Bot::ChatBots - Basic system for ChatBots

VERSION

This document describes Bot::ChatBots version {{[ version ]}}.

Build Status
<a href="https://www.perl.org/">
<img alt="Perl Version" src="https://img.shields.io/badge/perl-5.10+-brightgreen.svg">
</a>

<a href="https://badge.fury.io/pl/Bot-ChatBots">
<img alt="Current CPAN version" src="https://badge.fury.io/pl/Bot-ChatBots.svg">
</a>

<a href="http://cpants.cpanauthors.org/dist/Bot-ChatBots">
<img alt="Kwalitee" src="http://cpants.cpanauthors.org/dist/Bot-ChatBots.png">
</a>

<a href="http://www.cpantesters.org/distro/B/Bot-ChatBots.html?distmat=1">
<img alt="CPAN Testers" src="https://img.shields.io/badge/cpan-testers-blue.svg">
</a>

<a href="http://matrix.cpantesters.org/?dist=Bot-ChatBots">
<img alt="CPAN Testers Matrix" src="https://img.shields.io/badge/matrix-@testers-blue.svg">
</a>

SYNOPSIS

use Bot::ChatBots;
# more will come, possibly in sub-modules

DESCRIPTION

The Bot::ChatBots family of modules aim to help setting up ChatBots in different technologies.

The basic model (still somehow in a state of flux) is an extension of Data::Tubes, with a few differences:

  • pipelines in Data::Tubes are usually assumed to know where to take their inputs and aim at processing all of it as fast as possible, while in this case the it generally comes asynchronously and over an indefinite length of time. This means that the sources of records are usually coded differently and then push records inside pipelines as they arrive;
  • processing in Data::Tubes is generally synchronous for simplicity, while in this case you might have longer running tasks. This can be addressed in different ways, one of which might be to split your pipeline into chunks, and decouple these chunks via some queuing mechanism.

Apart from this, the suggested way to use Bot::ChatBots elements is sticking to the Data::Tubes way of work: define your pipelines, reuse already-available tube builders or code your own adhering to the (simple) tube interface.

BUGS AND LIMITATIONS

Report bugs either GitHub (patches welcome).

SEE ALSO

Bot::ChatBots::Telegram should be the first implementation of a backend (for Telegram).

AUTHOR

Flavio Poletti polettix@cpan.org

COPYRIGHT AND LICENSE

Copyright (C) 2016 by Flavio Poletti polettix@cpan.org

This module is free software. You can redistribute it and/or modify it under the terms of the Artistic License 2.0.

This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.

About

Basic system for ChatBots

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages