|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|Telegram Bot API for NodeJS|
|Telegraf||6,561||687||279||4 days ago||211||September 13, 2022||21||mit||TypeScript|
|Modern Telegram Bot Framework for Node.js|
|Aiogram||3,475||35||45||4 days ago||75||June 21, 2022||103||mit||Python|
|aiogram is a modern and fully asynchronous framework for Telegram Bot API written in Python using asyncio|
|Telebot||2,983||105||21 days ago||24||January 22, 2022||35||mit||Go|
|Telebot is a Telegram bot framework in Go.|
|Telegram Bot Sdk||2,624||250||47||3 days ago||20||December 10, 2020||2||bsd-3-clause||PHP|
|🤖 Telegram Bot API PHP SDK. Lets you build Telegram Bots easily! Supports Laravel out of the box.|
|Koishi||2,245||7||36||3 hours ago||65||September 08, 2021||33||mit||TypeScript|
|Cross-platform chatbot framework made with love|
|Urban Bot||475||5||a month ago||41||September 19, 2022||36||mit||TypeScript|
|🤖 The universal chatbot library based on React. Write once, launch Telegram, Discord, Facebook, ... every messenger with chatbots|
|Nestjs Telegraf||320||2||2 days ago||29||December 01, 2022||35||mit||TypeScript|
|🤖 Powerful Nest module for easy and fast creation Telegram bots|
|Nutgram||259||a day ago||84||January 14, 2023||9||mit||PHP|
|The Telegram bot framework that doesn't drive you nuts.|
|Bots Framework||210||2 days ago||4||January 13, 2022||11||apache-2.0||Go|
|Golang framework to build multilingual bots for messengers (Telegram, FB Messenger, Skype, Line, Kik, WeChat) hosted on AppEngine, Amazon, Azure, Heroku or standalone|
Nocto is a Node.js Telegram bot framework with an asynchronous plugin-based architecture, using the official bot API. It relies on long polling and persistent connections to rapidly interact with Telegram.
What can nocto do for you?
Mostly functional but not actively maintained. Lots of outdated dependencies. May or may not be modernized in the future.
./fullinstall.shto install core and plugin dependencies with npm.
/ownerin a private message or a group that the bot is a member of.
/plugins list. You can enable any number of plugins with
/plugins enable plugin1 plugin2.
After the first run, which is interactive, you can just use your preferred way to (automatically) launch and keep the application running in the background. Sending an interrupt signal (Control-C) initiates a clean shutdown.
echo: Simple example plugin implementing an echo command.
feedannounce: RSS/Atom notifications configurable for either public or private use (under heavy development).
googleimages: Shows Google search suggestions for a partial query.
googlesuggest: Grabs an image from Google Images. Optimized for reliability, speed and anti-duplication.
ircbridge: Allows you to link IRC channels and Telegram groups, relaying messages and events in one or both directions. Supports multiple IRC servers and bridge routes.
jukebox: Grabs playable MP3 songs from Prostopleer.
trace: Logs properties of every incoming message to ease plugin development.
Basic plugin control commands:
/plugins list /plugins enable someplugin /plugins enable all /plugins disable someplugin /plugins disable all /plugins reload someplugin /plugins reload
reloadperforms a full disable-unload-load-enable cycle, only enabling plugins that were already enabled. Reloading will force reading the plugin files from disk, thus applying any changes to the plugin.
Manipulating user authority:
/authority @target_user /authority @target_user administrator /ban @target_user
blacklisted, which is set by
Plugins have their own directory in
plugins and at least an executable file
plugins/myplugin/myplugin.js. They can optionally have a
and/or an NPM
package.json in the same directory. For now, reference the
plugins/echo as an example plugin (although this is not the only
possible style for writing plugins). Your plugin can have its own dependencies,
submodules and data files if necessary.
Nocto provides various services and utilities, such as persistent storage, user tracking, fluid builder patterns and state machines for session-based interaction. These features will be documented at a later time; if you want to know how to make use of this take a look at existing plugins or ask the author.
Logging is realized with
log4js and defaults to dumping all messages except
debug information to standard output and daily rotating files. Logging behavior
can be customized in your local configuration file. Refer to the log4js
documentation for further details.
External dependencies on node modules are listed in the
package.json and can
be automatically resolved with
npm install. Dependencies listed as optional
are only necessary for certain services (see below), which are enabled by
default but can be disabled in the bot configuration. Plugins have their own
dependencies specified in a package.json and require an
npm install in their
plugin directory before loading them for the first time.
However, the bot also has internal component dependencies. The bot provides a set of modules called 'services' which are more tightly coupled to the bot than plugins. They generally provide some functionality to plugins and/or other components, for example a persistent data store.
Services can be disabled to strip the bot of some weight if you don't need them. The following applies regarding dependencies: