-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move behaviors/index.js into a separate npm module #53
Comments
@ryzokuken It is a good step to make the project grow. So you want to make the entire behavior module a separate npm package right? Or just the About licencing and ownership I leave the decision to @jywarren but regarding permissions it will be the same even if you keep it a part of publiclab as what matters are the permissions to a repo not a Org. |
@ananyo2012 mainly the behaviors/index.js file only, because the behaviours are specific to publiclab. Anyone who decides to use our library would have to code their own behaviours. I also have write access to the current repository, but I don't feel comfortable merging things unilaterally into publiclab's repos. I really do not feel entitled to do so. Plus, adding the repo someplace else would also allow more people to be added to that specific project. If a person has nothing to do with publiclab, and they are added to the module repo, it would feel wrong. |
@jywarren what are your thoughts on this? |
Hi, @ryzokuken - thanks for your clear, thoughtful and flexible proposal here. I'm going to ask for input from others, and I think there's no particular urgency to move forward on this just yet -- tomorrow is a holiday in the US, so perhaps we could focus on other things until later this week? Thanks. |
@jywarren Let's start working on this? |
How would this relate to, for example, the behavior pattern we had
discussed which would periodically poll, such as observing an RSS feed or
API call? I also don't know where that conversation was, and think we ought
to be sure it's captured in an issue.
And would things like the GitHub interface plug into the plotsbot library
or into the upstream generic bot library? Thanks!
…On Sun, Sep 17, 2017 at 10:56 AM, Ujjwal Sharma ***@***.***> wrote:
@jywarren <https://github.com/jywarren> Let's start working on this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#53 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AABfJxfttql3S90xB4NOJMc_92KvRTdRks5sjTMvgaJpZM4OLbPc>
.
|
I don't think the interfaces would be any specific to our codebase and thus would be open for use in any application making use of the upstream bot library. The shared resources (eg: Github) are specific to our behaviors and thus stay limited to our own codebase. The additional behavior pattern would be added to the core logic of the bot, it is not specific to plotsbot. We should make another issue for that change and document all our discussions regarding it there. I hope I was able to satisfactorily answer you. If not, please feel free to ask again. |
Cool, that sounds good. I meant specifically where we might have
`require('github-interface')` for example - would that be in the upstream,
and then required in turn into plotsbot but not directly?
…On Sun, Sep 17, 2017 at 3:36 PM, Ujjwal Sharma ***@***.***> wrote:
I don't think the interfaces would be any specific to our codebase and
thus would be open for use in any application making use of the upstream
bot library. The shared resources (eg: Github) are specific to our
behaviors and thus stay limited to our own codebase. The additional
behavior pattern would be added to the core logic of the bot, it is not
specific to plotsbot.
We should make another issue for that change and document all our
discussions regarding it there.
I hope I was able to satisfactorily answer you. If not, please feel free
to ask again.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#53 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AABfJ7MOoY0kEkek9OhKIwESYt1qPUikks5sjXTHgaJpZM4OLbPc>
.
|
@jywarren Well, the GitHub variable belongs to the state of behaviors, so that won't change. However, we will do:
or better, couple 1 and 4 with something like Almost everything else is related to behaviors, I feel, and should remain in our codebase. Makes sense? |
Agreed with @ryzokuken this is a good step now. I also wanted to suggest we allow adding behaviors simply by |
@jywarren I don't understand. Aren't we doing that right now? Inside of |
So, let's discuss the specifics. What should I name the package? Under what license should it be released? Should it be added as a repository under the publiclab orgranization, or should it be a personal repository? |
Hi, @ryzokuken -- re:
I'd like to propose additionally that we simply require everything in a Line 16 in 29f6198
Or that we have a configuration file that each person can set for the behaviors they want. This could have a set of defaults. But this is secondary to the question of the separate generalized bot idea. Let's do a GPLv3 lib, and I'm happy to make a publiclab repository. I guess I still don't really see why, if all the behaviors and interfaces are modular already, we need a separate bot. Can you answer:
Thanks! |
Exactly my point. The codebase is as modular as it might get already, but the core bot logic and the plotsbot implementations aren't part of separate codebases yet. This gives rise to a ton of problems, because if I needed to say, make another instance, I would either have to fork plotsbot or copy the file. Instead, if the core logic was maintained as an npm module, everyone could just |
OK, that sounds good then. For a name, maybe "multibot", since it works
across various interfaces? And would this new repo point at `plotsbot` as
an example of how to make a customization of the general bot? If so, great!
…On Wed, Oct 18, 2017 at 12:46 PM, Ujjwal Sharma ***@***.***> wrote:
Exactly my point. The codebase is as modular as it might get already, but
the core bot logic and the plotsbot implementations aren't part of separate
codebases yet. This gives rise to a ton of problems, because if I needed to
say, make another instance, I would either have to fork plotsbot or copy
the file.
Instead, if the core logic was maintained as an npm module, everyone could
just require the module/package and expect things to work well, in a
backwards compatible way.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#53 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AABfJxbL1LkVYmqZwODOJW7JXqFK5nXVks5stlWCgaJpZM4OLbPc>
.
|
Yeah, it will have to. I mean, plotsbot is always going to be "the implementation". I guess anything you'd like would be fine for the name. Please create the repository if you want it to be created in publiclab organization and I'll add the initial PR. |
Cool, I'll make you an admin!
…On Wed, Oct 18, 2017 at 12:50 PM, Ujjwal Sharma ***@***.***> wrote:
Yeah, it will have to. I mean, plotsbot is always going to be "the
implementation". I guess anything you'd like would be fine for the name.
Please create the repository if you want it to be created in plotsbot and
I'll add the initial PR.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#53 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AABfJ7dIVQSp_4Wynvh2Vo6f_UWMynVOks5stlaKgaJpZM4OLbPc>
.
|
@jywarren @ananyo2012 I think this is high time we took
src/behaviors/index.js
and make it a separate npm module.When we started out, there were no "frameworks" as such for building effective chatbots in Node or chatbots in general, and we decided to begin writing one from scratch. In the process of writing a chatbot, we have started to develop and perfect not only a chatbot but also an underlying system of making the chatbot work the way it does. Because our chatbot is becoming more modular everyday, it is now possible to use the core logic of the bot inside the
index.js
file independently of how the bot is configured to behave.Anyone can use the core logic along with a compatible interface and set of behaviors and make use of our architecture. Therefore, I would like to take this file and use it as a standalone module.
This would also allow more people to use and get involved in our project.
@jywarren we had already agreed to make it happen, but it's best if we agreed on a few specifics:
bot
, but its unlikely he will pass on the name even though the project seems pretty much haunted. For the time-being, we could usenode-chatbot
and maybe shift to something more appropriate later by talking to the people at npm itself.The text was updated successfully, but these errors were encountered: