In the early days of BrainGu, we were working on our first government contract, and in the
process of developing and establishing our remote team communications protocols. We discovered a gap in our
methods. We didn’t have a non-intrusive way to acknowledge a message. If someone were to reply to a comment
with “Got it,” or “Roger,” or any variation a notification would be sent out to everyone associated with
that message, which was quite unnecessary.
The solution was of course to add an emoji to a message indicating read and received. This
left a clear visible indicator that the message had been read by the intended recipient, without sending out
a cascade of notifications.
The obvious ones like :thumbs-up: 👍 were used at first, but those took too long to
find, remember this was in the before times, long before your favorite and most frequently used emojis would
get automatically stored at the top. So, the :burrito: 🌯 was born. Why? No one really knows, but
everyone loves burritos, so it stuck and became the BrainGu universal symbol for “I’ve seen this.” Soon the
use of the burrito started to spill out from BrainGu Slack channels into our customer chat services and was
being used on those teams as well, by both BrainGu employees and their counterparts that worked for our
partners.
In the spirit of BrainGu’s philosophy of driving customer journeys from Automation to
Innovation, our own Brent Johnson uttered those famous last words, “Why stop there?” And went onto develop
the now-defunct, Botrito. (Side note: developed might be a slight exaggeration, he spent a few minutes
creating this automation.) The Botrito’s sole purpose was to automatically add emojis to slack messages.
Like all language, our BrainGu-isms have also evolved. From simply indicating “I’ve seen
this,” to being used as a symbol for celebrating good news. Whether that good news is work-related, “Hey, I
just got a promotion!” or personal, “Hey, I just got engaged!” We’ve also kicked our emoji game up a notch,
including a :party-burrito: :party-Kubernetes: and so many Star Wars themed ones.
More on the Botrito
Why was the Botrito created? Truthfully, it made Brent Johnson laugh.
import time
from slackclient import SlackClient
#Put the OATH token here or do a get_env as in the post mentioned above.
slack_client = SlackClient('SOMETHING')
#Target's user ID in slack. Code below shows how to get all.
someone_id = ''
starterbot's user ID in Slack: value is assigned after the bot starts up
starterbot_id = None
constants
RTM_READ_DELAY = 1 # 1 second delay between reading from RTM
def add_reaction(channel, ts, emoji):
slack_client.api_call(
"reactions.add",
channel=channel,
name=emoji,
timestamp=ts
)
def parse_bot_commands(slack_events):
for event in slack_events:
if event["type"] == "message" and not "subtype" in event:
if event['user'] == someone_id:
add_reaction(event['channel'], event['ts'], 'burrito')
if name == "main":
if slack_client.rtm_connect(with_team_state=False):
print("Starter Bot connected and running!")
# Read bot's user ID by calling Web API method auth.test
starterbot_id = slack_client.api_call("auth.test")["user_id"]
#uncomment these to print a list of all available users and their IDs.
#users = slack_client.api_call("users.list")
#for usr in users['members']:
# print usr['profile']['display_name'], usr['id']
while True:
parse_bot_commands(slack_client.rtm_read())
time.sleep(RTM_READ_DELAY)
else:
print("Connection failed. Exception traceback printed above.")