Security News
Highlights from the 2024 Rails Community Survey
A record 2,709 developers participated in the 2024 Ruby on Rails Community Survey, revealing key tools, practices, and trends shaping the Rails ecosystem.
Botkit is an open source developer tool for building chat bots, apps and custom integrations for major messaging platforms.
The best way to get started locally with Botkit is by installing our Yeoman template, and using it to create a new Botkit project. This will install and configure a starter kit for you!
npm install -g yo generator-botkit
yo botkit
Want to dive right in? Remix one of our starter kits on Glitch. You'll start with a fully functioning app that you can edit and run from the browser!
The goal of Botkit is to make it easier and more fun to build software that talks and works like a robot! Building a bot should feel cool, and not too technically complicated.
Botkit handles all the nitty gritty details like API calls, session management and authentication, allowing you to focus on building COOL FEATURES for your bot using middleware and event handlers.
The toolkit is designed to provide meaningful building blocks for creating conversational user interfaces - with functions like hears()
, ask()
, and reply()
that do what they say they do.
The full documentation for Botkit's capabilities begins here »
Botkit can connect to multiple messaging channels through the Microsoft Bot Framework Service. No plugins are necessary to use the Bot Framework service, and bots can be developed locally using the Bot Framework Emulator.
The Botkit project includes several official adapters. Using these plugins, your bot can communicate directly with the messaging platforms.
Additional adapters can be found by searching npm for Bot Framework-compatible adapters. The open source community has created a variety of plugins and extensions to Bot Framework. Check out the Bot Builder Community Repo for additional adapters, storage connectors and middlewares.
Platform specific documentation can be found on the main docs site »
Most bots do their thing by listening for keywords, phrases or patterns in messages from users. Botkit has a special event handler called hears()
that makes it easy to configure your bot to listen for this type of trigger.
controller.hears(['string','pattern .*',new RegExp('.*','i')],'message,other_event', async (bot, message) => {
// do something!
await bot.reply(message, 'I heard a message.')
});
Read more about hearing things ›
Bots can respond to non-verbal events as well, like when a new user joins a channel, a file gets uploaded, or a button gets clicked. These events are handled using an event handling pattern that should look familiar. Most events in Botkit can be replied to like normal messages.
controller.on('channel_join', async (bot, message) => {
await bot.reply(message,'Welcome to the channel!');
});
See a full list of events and more information about handling them ›
In addition to taking direct action in response to a certain message or type of event, Botkit can also take passive action on messages as they move through the application using middlewares. Middleware functions work by changing messages, adding new fields, firing alternate events, and modifying or overriding the behavior of Botkit's core features.
Middleware can be used to adjust how Botkit receives, processes, and sends messages.
// Log every message received
controller.middleware.receive.use(function(bot, message, next) {
// log it
console.log('RECEIVED: ', message);
// modify the message
message.logged = true;
// continue processing the message
next();
});
// Log every message sent
controller.middleware.send.use(function(bot, message, next) {
// log it
console.log('SENT: ', message);
// modify the message
message.logged = true;
// continue processing the message
next();
});
Full documentation of Botkit, including a class reference, can be found on the docs site.
Join our thriving community of Botkit developers and bot enthusiasts at large. Over 10,000 members strong, our Github site is the place for people interested in the art and science of making bots. Come to ask questions, share your progress, and commune with your peers!
You can also find help from members of the Botkit team in our dedicated Cisco Spark room!
Botkit is a part of the Microsoft Bot Framework.
Want to contribute? Read the contributor guide
Botkit is released under the MIT Open Source license
4.15.0
from
field to be user rather than bot with Slack button clicks. Thanks to @mdrichardson for the pull request.FAQs
Building Blocks for Building Bots
The npm package botkit receives a total of 8,584 weekly downloads. As such, botkit popularity was classified as popular.
We found that botkit demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A record 2,709 developers participated in the 2024 Ruby on Rails Community Survey, revealing key tools, practices, and trends shaping the Rails ecosystem.
Security News
In 2023, data breaches surged 78% from zero-day and supply chain attacks, but developers are still buried under alerts that are unable to prevent these threats.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.