Skip to content

Instantly share code, notes, and snippets.

View mbrevoort's full-sized avatar

Mike Brevoort mbrevoort

View GitHub Profile
@mbrevoort
mbrevoort / message-builder-example.js
Last active January 9, 2017 03:22
Slack Message Builder Example
const smb = require('slack-message-builder')
smb()
.text("Would you like to play a game?")
.attachment()
.text("Choose a game to play")
.fallback("You are unable to choose a game")
.callbackId("wopr_game")
.color("#3AA3E3")
.action()
.name("chess")
bb-slackaccesstoken // Slack user token for user who added your Slack App
bb-slackuserid // User Id of the user who added your Slack App
bb-slackbotaccesstoken // Bot access token if the app uses a bot
bb-slackbotuserid // User Id of bot user if the app uses a bot
bb-slackbotusername // Username of the bot user
bb-slackteamid // Slack team Id
bb-slackteamname // Slack team name
bb-slackteamdomain // Slack Domain name of the team
// convo handlers are registered with unique strings
const handleGoodDay = 'handleGoodDay'
// handle any DM that starts with 'hi'
slapp.message('^hi', 'direct_message', (msg) => {
// Ask how they are and route next message to handleGoodDay handler
msg.say('Are you having a good day?').route(handleGoodDay)
})
// register handleGoodDay handler
@mbrevoort
mbrevoort / bot.js
Created April 1, 2016 17:48
beepboop-botkit oneliner
var Botkit = require('botkit')
var controller = Botkit.slackbot()
require('beepboop-botkit').start(controller)
controller.hears('hello', ['direct_message', 'direct_mention', 'mention'], function (bot, message) {
bot.reply(message, 'Hello!')
});
#!/bin/bash
# takes a directory as the first argument and loops through all of the jpg
# images watermarking them into a watermark folder within that directory.
DIRECTORY=$1
WATERMARK=$2
mkdir -p $1/watermark
for filename in $DIRECTORY/*
do
@mbrevoort
mbrevoort / witbot.js
Created December 28, 2015 03:07
witbot botkit sample
var controller = Botkit.slackbot({ debug: false })
controller.hears('.*', 'direct_message,direct_mention', function (bot, message) {
witbot.process(message.text, bot, message)
})
witbot.hears('hello', 0.5, function (bot, message, outcome) {
bot.reply(message, 'Hello to you as well!')
})
@mbrevoort
mbrevoort / bot.yml
Last active September 8, 2016 04:26
Sample Beep Boop bot.yml
name: Domination Bot
description: A Bot to rule them all
avatar: avatar.jpg
config:
- name: AWS_REGION
friendly_name: AWS Region
info: Region of deployment (e.g. us-eas-1)
default: us-east-1
type: text
global: true
@mbrevoort
mbrevoort / log.go
Last active October 24, 2022 13:10
Adding caller function, filename and line number to logrus log entries
package utils
import (
"runtime"
"github.com/Sirupsen/logrus"
)
// DecorateRuntimeContext appends line, file and function context to the logger
func DecorateRuntimeContext(logger *logrus.Entry) *logrus.Entry {
2015-07-17T17:17:31Z [INFO] Starting Agent: Amazon ECS Agent - v1.2.1 (5da1555)
2015-07-17T17:17:31Z [INFO] Loading configuration
2015-07-17T17:17:31Z [INFO] Checkpointing is enabled. Attempting to load state
2015-07-17T17:17:31Z [INFO] Loading state! module="statemanager"
2015-07-17T17:17:31Z [INFO] Registering Instance with ECS
2015-07-17T17:17:36Z [ERROR] Could not register module="api client" err="Post https://ecs.us-east-1.amazonaws.com/: net/http: request canceled while waiting for connection"
2015-07-17T17:17:36Z [ERROR] Error registering: Post https://ecs.us-east-1.amazonaws.com/: net/http: request canceled while waiting for connection

Keybase proof

I hereby claim:

  • I am mbrevoort on github.
  • I am mbrevoort (https://keybase.io/mbrevoort) on keybase.
  • I have a public key whose fingerprint is B2EC 5017 FDF9 8550 6F39 D6EF 007F CB86 C97D EE6D

To claim this, I am signing this object: