Comments (8)
I'm trying to write a program that listens for multiple, but similar keywords. I have a separate function that takes in one of these keywords, and spits back some data to Slack.
I could make a separate controller function for each keyword to send that data to a function I made, but it would save me a lot of typing if I could put multiple keywords in a controller function, and then grabbing what the user says inside one function. Does that make sense? Sorry if it sounded like I'm rambling.
Thanks,
Mike
from botkit.
controller.hears(['Apple', 'Orange'],['direct_message,direct_mention,mention'],function(bot,message) {
console.log("You said " + message.text)
});
from botkit.
You got it.
You can also use normal Javascript string parsing tools like message.text.match()
which can extract a keyword from a pattern.
from botkit.
Hi there,
I think with my PR #39 you'll be able to directly see in message.match
what matched in message.text
and triggered this listener.
That's what I'm expecting to do with RegExp patterns.
On antoher unrelated note, I'll have to test but it seems that controller.hears(['Apple', 'Orange'], ...
is slower than controller.hears(['(Apple|Orange)'], ...
that would make less for
loops in the lookup code.
Best
from botkit.
Good news, #39 have been merged, you could now really use message.match
object (generally message.match[1]
when only one capturing group) inside the response to see what triggered it :)
Best
from botkit.
Pretty cool!
We should consider cleaning up that object to make it easier to use.
from botkit.
Thanks for the tips @benbrown and @guillaumepotier!
from botkit.
@LAMike310 let us know if you have any other questions about this.
Should we close the issue?
from botkit.
Related Issues (20)
- botkit 4.15.0 and Webex Adapter 1.0.10 are not on NPM HOT 1
- How to upload this Bot to Teams? HOT 2
- Bot can send, but not receive anymore HOT 2
- Botkit Webex API client not returning data HOT 1
- Question: Handling Websocket terminations HOT 1
- Uncatchable throws on botbuilder-adapter-webex registerWebhookSubscription Functions HOT 19
- Conversation become "duplicated" when running long operation HOT 1
- Help in Implementing the B2C Chatbot
- Webex Teams Adapter Doesn't Support direct_mention Event Type
- ☺
- BotkitConversation not executing when using axios but its executing fine when calling inside request?
- Cannot read property '1' of undefined
- Block Action Issue (when 'Clear Selection' is clicked)
- Can I message a pages followers with this??
- Remove deprecated request package
- Is project Dead? HOT 2
- Botkit
- Server Crash due to Missing Credentials in Slack Adapter
- npm install -g yo generator-botkit HOT 1
- Javascript heap out of memory issue after upgrading botkit from 0.6 to 4.15.0
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from botkit.