I’m really glad n8n community has already spotted n8n-nodes-telepilot plugin that we published to npmjs.com recently.
Project is currently in testing phase and we expect to polish everything up during next weeks. For now, main challenges are solved and we are tweaking it here and there.
Telepilot is based on MTProto protocol and serves the goal of providing way to easily automate interactions with Telegram messenger in a way which is securing user’s data and respects user’s privacy.
It’s supposed to be run on open-source version of n8n that is in full control of the user.
MTProto events, that are received by the module, are processed on the machine where n8n is installed and are not sent anywhere else except Telegram servers.
Though telepilot is fully based on opensource stack, it’s source code is currently closed until we have clear future vision of the project.
Userbot MTProto Telegram is different from other n8n integrations, as it requires usage of prebuilt binary/lib (which is actually taking over communication with Telegram servers), that needs to be provided for each OS, architecture and support multiple n8n running scenarios (npm, docker). For the time being there is no working open-source nodejs library like that. Perhaps someone will be able to make such n8n integration work more easily with python, this we have not checked tried.
Making whole chain work - from docker/OS with different architectures, through libc, c/c++ modules, N-API, Javascript/Typescript up to n8n workflows - took us substantial amount of time.
Furthermore, to make it easily usable as n8n plugin, modules need to be prebuilt for different environments and platforms, tested and distributed which also adds to maintanance cost of the whole thing which needs to be covered somehow.
@Jon telepilot does not expose or forward Telegram messages to anywhere: doing Userbot integration via third-party API would have been way more easier job, but it would require user to authorize MTProto client, that is running somewhere for accessing all their messages. This is not what we want - we want user to be in full control of their data. The question is how to make this approach sustainable.
The whole case is a bit tricky. We are not able to make it open-source and monetize by providing preinstalled SaaS version of the plugin on subscription basis: this contradicts the idea of giving user full control and ownership of their Telegram data. Furthermore, this would require approval from n8n side since it is against ToS to provide managed n8n hosting.
You probably have noticed that telePilotApi credentials are calling http://ls.telepilot.co HTTP endpoint. This is very basic “license check”: GET request with license_code is being sent to licensing server and if invalid answer is received, node will not be able to establish MTProto connection. We added it for now since plugin is being tested and is not yet “released”. It’s on purpose HTTP so that anyone who wants can run it in a VM (or by using network sniffer) and check which extra TCP connections are being created when the plugin is installed. The data is not encrypted.
We are currently working on documentation and will publish more relevant technical details soon.
I’m happy to help or answer any questions which are related to n8n-nodes-telepilot node that n8n community has.