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:
- Host: GitHub
- URL: https://github.com/cpu/gorfbot
- Owner: cpu
- License: gpl-3.0
- Created: 2020-12-02T18:11:36.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-03-06T22:47:03.000Z (about 3 years ago)
- Last Synced: 2024-12-17T19:08:45.006Z (about 1 year ago)
- Language: Go
- Homepage:
- Size: 116 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README

# gorfbot
[](https://github.com/cpu/gorfbot/actions?query=workflow%3AGo)
[](https://github.com/cpu/gorfbot/actions?query=workflow%3Agolangci-lint)
[](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