
How to Build a Slack Bot with Python - makaimc
http://www.fullstackpython.com/blog/build-first-slack-bot-python.html
======
llimllib
Very nice!

I maintain a simple python slack RTM chatbot framework that's desgined to
handle the small amount of setup for you and let you build what you want to
quickly:
[https://github.com/llimllib/limbo](https://github.com/llimllib/limbo)

~~~
makaimc
Very cool, I hadn't previously seen Limbo. I added a link to it on the
otherwise empty Full Stack Python Bots page:
[https://www.fullstackpython.com/bots.html](https://www.fullstackpython.com/bots.html)

If you're in SF or traveling here sometime soon, you should definitely present
this at the SlackDevs meetup where a bunch of us API users get together each
month: [http://www.meetup.com/SlackDevs/](http://www.meetup.com/SlackDevs/)

~~~
llimllib
Thanks! I'm 3000 miles away in Maine, but I'll stop by if I'm in town :)

------
sciurus
If you're looking for a full-featured bot framework for python that supports
slack, check out [http://errbot.io/en/latest/](http://errbot.io/en/latest/)

------
nikolay
I dream from a fully asyncio-compliant stack. So far, even those that claim to
be async, still use the sync client [0]. This one [1] is highly underutilized.

[0]:
[https://github.com/jcarbaugh/butterfield/issues/17](https://github.com/jcarbaugh/butterfield/issues/17)

[1]: [https://github.com/gfreezy/slacker-
asyncio/](https://github.com/gfreezy/slacker-asyncio/)

~~~
greut
With `aiohttp` you don't need to do much to build your bot using `asyncio`.
Here, see a sample bot to vote on stuff and one article explaining the gist of
it:

\- [https://github.com/HE-Arc/votebot](https://github.com/HE-Arc/votebot)

\- [https://medium.com/@greut/a-slack-bot-with-
pythons-3-5-async...](https://medium.com/@greut/a-slack-bot-with-
pythons-3-5-asyncio-ad766d8b5d8f)

This is a sample project for a course on Python, in you find a mix of
french/english...

~~~
stuartaxelowen
`await`replaces most of those `yield from`s in 3.5, right?

------
lifeisstillgood
Is slack actually big enough now to be a platform?

Is it a B2B platform ?

While this is a nice "how to use Python" my mind tends to wonder back to the
old days of "let's make a IRC bot to do X and ... Profit"

Just wondering if anything has really changed, (that was not a successful
venture) even in a world of hubot and scrums X is something most people don't
really need, for any value of X I can think of

~~~
iamdave
I'd say it is.

Just from the world of Unified Communications-where I work daily-I have had
conversations with clients and customers who already use Slack in their dev
teams and some of those clients even have people internally who forego our
conferencing services completely and use UberConference _because_ they have
Slack integrations.

It's an area I watch very closely, but my company-I'm sad to say is slow to
move on.

------
dylanbfox
Good walk through. Have you looked into using platforms like Microsoft's LUIS,
API.AI, or Wit.AI to extend the NLP?

~~~
makaimc
I wanted to keep this blog post as simple as possible so even beginner Python
devs could get through it in one short sitting. However, it's definitely
possible to integrate the command processing piece with backend APIs. I'd
first try using the TextBlob library before an external service though:
[https://textblob.readthedocs.io/en/dev/](https://textblob.readthedocs.io/en/dev/)

My colleague Rob also wrote a post that uses TextBlog with a similar bot-type
application over SMS: [https://www.twilio.com/blog/2014/06/using-natural-
language-p...](https://www.twilio.com/blog/2014/06/using-natural-language-
processing-for-better-sms-interfaces-using-twilio-and-pythons-textblob.html)

