Yeah, this…

This conversation took place late last night on Slack:

Student: Bruce I see you the Sublime Text editor.

Bruce:
I have tried many of them out and prefer Sublime.

Student:
I want to be a professional web developer one day. I also have some questions about the assignment that’s due tomorrow.

Bruce:
A professional web developer wouldn’t start a project the day before it was due.

Student:
Only the good pros do.

Bruce:
It better be perfect then.

Advertisements

Find Out Which Slack Groups You Are A Member Of

We all know that Slack groups come and go and that it would be nice to know which groups you are still considered a member of. Look no further than this URL:

https://slack.com/signin/find

Using the Slack API with Python – A Simple Example

Here is a simple Python program that can be used to:

  • Test the API
  • Get a list of Slack Users
  • Get a list of Slack Channels
  • Get information about a Slack Channel
  • Post a message to Slack Channel

Students in my Intro to Programming and Problems Solving class at Clark College learn how to build this and other things using Python.

Have fun with it!

On Github >

# CTEC 121 / Intro to Programming and Problem Solving
# Lab - Using the Slack API
# by Bruce Elgort, 2016

# pip install slackclient to install SlackClient library
from slackclient import SlackClient
import json

def test_slack(sc):
    # use for debugging
    print("Testing API")
    print(80 * "=")
    print (sc.api_call("api.test"))

def get_channel_info(sc,channel):
    # get info about the channel
    print("Getting Channel Info")
    print(80 * "=")
    print (sc.api_call("channels.info", channel=channel))

def get_list_of_channels(sc):
    print("Getting List of Channels")
    print(80 * "=")
    # get list of channels
    channels = sc.api_call("channels.list")
    channels = json.dumps(channels)
    channels = json.loads(str(channels))
    return channels

def display_channels(channels):
    print("Display Channels")
    print(80 * "=")
    for i in channels['channels']:
        print("Channel:",i['name'])

def post_message(sc,text,channel,icon_url,username):
    print("Posting Message to Slack")
    print(80 * "=")
    # post a message into the #general channel
    print (sc.api_call("chat.postMessage",channel=channel,text=text,username=username,icon_url=icon_url,unfurl_links="true"))

def get_users(sc):
    print("Get Users")
    print(80 * "=")
    #call the users.list api call and get list of users
    users = (sc.api_call("users.list"))
    users = json.dumps(users)
    users = json.loads(str(users))
    return users

def display_users(sc,users):
    print("User List")
    print(80 * "=")
    # display active users
    for i in users['members']:
        # don't display slackbot
        if i['profile']['real_name'] != "slackbot":
            # don't display deleted users
            if not i['deleted']:
                # display real name
                print (i['profile']['real_name'])
def main():
    # define variables
    token = "your token"
    channel = "a channel id"
    username = "Username to use display for message function"
    icon_url = "icon url for message function"
    # connect to Slack
    sc = SlackClient(token)
    # test slack
    test_slack(sc)
    # get channel info
    get_channel_info(sc,channel)
    # get list of channels
    channels = get_list_of_channels(sc)
    # display channels
    display_channels(channels)
    # post message
    post_message(sc,"Visit http://slack.com",channel,icon_url,username)
    # get users
    users = get_users(sc)
    # display users
    display_users(sc,users)

main()

Slack Teams Do Amazing Things — “Spaceship!” TV Commercial

Slack Bot – Slack Channel Tone Analysis Using IBM Watson

In this video, I demonstrate how I used IBM Watson’s Tone Analyzer service to analyze an entire Slack channels’ textual content history. The bot allows you to select the channel you want to have analyzed and then presents charts displaying the various tones in the channel.

Slack Bot – IBM Watson Tone Analyzer

Slack Bot – IBM Watson Translation Services

 

Slack Bot – IBM Watson Tone Analyzer

Here’s a short video demonstrating how I used the IBM Watson Tone Analyzer service on IBM Bluemix to create a Slack bot that analyzes text you enter.

Screenshot 2016-03-12 21.09.39

Let me know if you have any questions.

Slack Bot – IBM Watson Translation Services

Video: Adding Your Own Integrations Into Slack

Video: How to Add an App to Slack

I put together a short video that demonstrates how easy it is to extend the functionality of Slack by installing an app from the Slack App Directory.

Slack: What Great Execution Looks Like

For those of you who know me, I’m a huge fan and user of Slack; both the company and the product. Here are some things that Slack has done and continues to do right:

  1. Social Media: They know how to use social media to connect with their users. They respond to every tweet and do their best to help you. If they can’t help you they connect you with somebody within Slack that can help.
  2. Integrations: Out of the box they offer an extensive list of products and services that they integrate with. This is a HUGE one as I use many of these integrations when I setup my new Slack groups. Oh, and did I mention that they work and they work as you would expect to work.
  3. API: The Slack API is very well thought out and documented. I have developed several bots, some simple and some quite complex using their API. There isn’t much you can’t do.
  4. Just enough features: Slack doesn’t try to be all things to all users. I’m hoping that Slack continues to carefully craft the user experience in the same way that they already have.
  5. Mobile, Web and Desktop: Right out of the gate they offered first class desktop, the web and mobile clients. All that worked very well.
  6. App Store/App Directory: Need I say more.

It’s these six things that make Slack a company and product to admire. There are so many companies trying to take on Slack and there are some other products that do what Slack does. Bottom line is that they are not Slack the company and Slack the product.

I expect in the forthcoming weeks, to see other companies announcing products to challenge Slack’s dominance and I’m looking forward to seeing how those new products align with the six things I outlined above, if at all.