An open API service indexing awesome lists of open source software.

https://github.com/cpu/gorfbot

:cat: A Disgusting Slack Bot :cat: but ........ :sparkles: Now in Go :sparkles:
https://github.com/cpu/gorfbot

Last synced: 5 months ago
JSON representation

:cat: A Disgusting Slack Bot :cat: but ........ :sparkles: Now in Go :sparkles:

Awesome Lists containing this project

README

          

![jackedgarf](https://i.ytimg.com/vi/F47-cFmq2ZI/hqdefault.jpg)

# gorfbot

[![CI Status](https://github.com/cpu/gorfbot/workflows/Go/badge.svg)](https://github.com/cpu/gorfbot/actions?query=workflow%3AGo)
[![Lint Status](https://github.com/cpu/gorfbot/workflows/golangci-lint/badge.svg)](https://github.com/cpu/gorfbot/actions?query=workflow%3Agolangci-lint)
[![Go Report Card](https://goreportcard.com/badge/github.com/cpu/gorfbot)](https://goreportcard.com/report/github.com/cpu/gorfbot)

:cat: a disgusting slack bot (_now in Go_)

## Description

Gorfbot is a small Slack bot loosely based on [Garfbot][garfbot-js]. It's
primary distinguishing feature is being implemented in Go instead of NodeJS.

It is specifically built for a handful of very small & weird Slack communities.
It probably won't work well for you & your use case. You definitely don't want
to run it in your 10,000 user corporate Slack org.

[garfbot-js]: https://github.com/doeg/garfbot

## Features

### Basic commands:

* `!topics` - List previous channel topics
* `!echo` - Have Garfbot echo a message
* `!hello` - Say hello to Gorf
* `!frogtip` - Frog care and feeding
* `!gis` - Make a Google Image Search
* `!emoji` - Find someone's most used emoji/reactji
* `!mktheme` - Generate a new Slack theme
* `!themes` - List saved Slack themes, add new ones

### Data tracking:

* channel topic updates
* What were the last 20 `/topic`'s for #general?
* emoji usage
* e.g. who uses :wave: in messages the most?
* reactji usage
* e.g. who reacted :thumbsup: the most?
* URLs matching patterns
* e.g. number of times a certain github project URL has been shared.

### Misc:

* reaction keywords
* e.g. react with ":wave:" whenever someone says "hi"

## Usage

TODO: Documentation................

### Configuration

#### Slack

* TODO: describe setting up slack API access.

#### MongoDB

* TODO: describe setting up MongoDB connectivity.

#### Google Image Search

* TODO: describe setting up Google API access.

## Development

See [CONTRIBUTING.md][CONTRIBUTING.md] for instructions on building Gorfbot from
source and extending it with new commands.

[CONTRIBUTING.md]: CONTRIBUTING.md