Skip to content

Instantly share code, notes, and snippets.

View mikaelmello's full-sized avatar

Mikael Mello mikaelmello

  • Canada
  • 12:25 (UTC -08:00)
View GitHub Profile
@mikaelmello
mikaelmello / draft.md
Last active April 25, 2018 17:01
Draft of GSoC 2018 proposal for Rocket.Chat

"Improve the integration of bots on Rocket.Chat" proposal for Google Summer of Code 2018

Personal Details

@mikaelmello
mikaelmello / app.md
Last active April 10, 2018 23:17
Checkpoint - Manual

Guia para usar o aplicativo Checkpoint

@mikaelmello
mikaelmello / roadmap.md
Last active June 22, 2018 21:40
Personal roadmap for Rocket.Chat project. First In, First Done.

Difficulty goes from 1 (easy) to 4 (very hard), something like easy, medium, hard, very hard


Month 1

Rocket.Chat Server

  • 1 - General UI of a settings panel, examples to use: integrations, internal-hubot and bot-helpers
  • 2 - Create bot-manager-ui package with an initial skeleton
@mikaelmello
mikaelmello / clientcommands.md
Last active June 25, 2018 23:45
Client Commands

This text is meant to explain Client Commands, a solution created to trigger actions in bot clients, more specifically in the SDK and the adapter.

The name Client Commands was used because Bot Commands is ambiguous (it can mean text commands sent as a message) and besides that, even though there currently isn't a need or use for it, they can be used to send commands to any kind of custom client.

Client in this text means the adapter and/or SDK used by the bot. The ClientCommands will not be handled by final users (e.g. normal bot developers).

@mikaelmello
mikaelmello / clientcommands.md
Last active June 26, 2018 01:01 — forked from timkinnane/clientcommands.md
Client Commands

I'd like to introduce a new utility called Client Commands, a solution created to allow the Rocket.Chat server to trigger actions in subscriber clients (bots and possibly other websocket clients). This is handled at the adapter and/or SDK level, not by final users (e.g. normal bot developers).

The problem

Bots subscribe to a message stream and respond to message events, but there's no way for the server to prompt them to do anything other than that.

In order to provide a range of new management features for administrating bot clients, getting data or triggering any non message response action, we need to send data to be interpreted by the client as a command. Such data, identified here by ClientCommands, could not be sent through the normal message stream, because:

  • a) it would need hack workarounds to filter commands from normal message data
  • b) it would be kept forever, bloating message collection storage

This PR consists of the addition of two features (and packages) to Rocket.Chat

1. ClientCommands

Client Commands is the name given to a solution created to allow the Rocket.Chat server to trigger actions in subscriber clients (bots and possibly other websocket clients). This is handled at the adapter and/or SDK level, not by final users (e.g. normal bot developers).

They are better explained here

1.1. customClientData

@mikaelmello
mikaelmello / resources.md
Created August 29, 2019 15:54
Recursos para melhorar em Programação Competitiva

Exercícios