Rocket.chat: Internal Hubot documentation missing

Created on 3 Sep 2017  路  17Comments  路  Source: RocketChat/Rocket.Chat

I would like to start using the Internal Hubot, but there is no documentation for it, are there any plans for documenting this?

hubot Bots documentation improvement

Most helpful comment

Sorry @JSzaszvari maybe a bit eager there. I'd still like to keep this open on the project board to remind me to post the new issue for communicating / discussing the internal bot's future. Technically the documentation is missing, so its fair for this to be open. Plus someone will likely just report it again if we close it off before there's something to point to.

All 17 comments

@TomaszDom can you please elaborate on the issue

This website is empty:

https://rocket.chat/docs/administrator-guides/internal-hubot

Moreover, there are no hints or help text in the rocketchat server Internal Hubot page.

@geekgonecrazy

Agreed with OP - it is not clear how to add new scripts to rocket.cat and this would be very useful.

+1

Have put this on the Bots Roadmap project, but there's also a range of issues that would involve updates to the internal hubot, so I think the documentation will stay in the backlog until there's more clarity there, otherwise it's effort wasted.

Personally I think the lack of this documentation is a problem for all people who want to use Internal Hubot. Of course everything can be done without it (we are currently working on our scripts) but it would be just helpful to get basic information there, especially for non-developers. I don't think that basics of Internal Hubot will change (how it can be enabled, from where and which scripts should be loaded), so documenting this would be a good thing.

If something will change (for example #10216), documentation should be updated.

Minimal documentation is always better than none ;-)

Thanks @Wirone - I totally agree but we are currently in the process of launching a new adapter for external hubot installations and working on that documentation. There' actually a lot of changes on the way for bots and we don't want to waste time updating docs that will be out of date within weeks. We'll put up some of those changes as discussions very soon, with docs to come from that discussion.

@rocket-cat close

Closing as per @timkinnane comments. Stay tuned people. Great things on the way for bots.

Sorry @JSzaszvari maybe a bit eager there. I'd still like to keep this open on the project board to remind me to post the new issue for communicating / discussing the internal bot's future. Technically the documentation is missing, so its fair for this to be open. Plus someone will likely just report it again if we close it off before there's something to point to.

As @JSzaszvari hinted, we have plans to replace the way most people use the internal Hubot with the Rocket.Chat apps model. See linked discussion #10458.

This won't be immediate, but we'd like to take any further discussion on requirements of "internal" bots over there. The other immediately viable option is to run an _external_ Hubot instance. We've just updated our adapter for Hubot v3 and the following repo provides an example of a functioning boilerplate example.

In many cases the repurposing of the system bot entity for custom logic is both confusing for users and inconsistently implemented in code. We strongly recommend pursuing one of the above options and have no plans to improve or encourage support for the internal Hubot at this stage. It's best to follow the docs in the boilerplate, the adapter and Hubot's own documentation from now on.

https://github.com/RocketChat/hubot-rocketchat-boilerplate

Too bad it wasn't clear before we chose Internal Hubot as implementation for our scripts, with custom alias (we have customized Rocket instance) and wrote our deploy playbooks and docs. It will require changes in several places (Rocket repo, docs, installers) and new actions (deploying and configuring custom Hubot) from us, simply because you thought it's not important to write 2-3 sentences in your docs.

@Wirone - your scripts should work with an external Hubot just as well, if not better.

The issue is not as simple as writing the docs. Implementation with the internal Hubot has always been fraught and I think the documentation was not forthcoming because there was never really a clear recommendation for a good solution. Now we are working on that solution and have provided lots of documentation on the Hubot boilerplate and adapter projects, linked above.

@timkinnane but we currently use RocketChat or Meteor methods in our scripts (because of #10267 we had to implement custom method for determining private channel between bot and user). Will it work with external Hubot?

Yes, the Hubot adapter can call methods <-- See develop branch, for Hubot v3 compatibility, it's even async! The Hubot v2 adapter also had that method but it wasn't async.

@timkinnane I did not mean "methods" registered with Meteor API, but calls like Meteor.users.findOne() or RocketChat.getRoomByNameOrIdWithOptionToJoin(). But ok, I'll look at it, probably we will have to adapt our bot (or maintain custom RocketChat even more customized that it's now).

There is a bot-helpers package that exposes user query methods specifically for bots, also adding admin settings to control the fields the bots have access too. It's in core now, but my original external repo has the docs for calling those methods. Those will be refactored as more obvious and documented features of the new SDK and Hubot adapter soon.

We're getting off topic now though for this issue. Please see the discussion about the future of internal bot solutions here or open a new issue on the Hubot adapter if you find it can't do something you need.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mddvul22 picture mddvul22  路  3Comments

danpospisil picture danpospisil  路  3Comments

ghost picture ghost  路  3Comments

tanc picture tanc  路  3Comments

Kiran-Rao picture Kiran-Rao  路  3Comments