Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/willnilges/grab

Threads -> Wiki: A bot that allows you to save threads from your messaging platform to your knowledge base with a single command
https://github.com/willnilges/grab

bot documentation go mediawiki slack

Last synced: about 1 month ago
JSON representation

Threads -> Wiki: A bot that allows you to save threads from your messaging platform to your knowledge base with a single command

Awesome Lists containing this project

README

        

# Grab

[![GitHub go.mod Go version of a Go module](https://img.shields.io/github/go-mod/go-version/willnilges/grab.svg)](https://github.com/willnilges/grab)
![You actually did ask for this](https://img.shields.io/badge/you_actually-asked_for_this-red)
![Hosted By CSH](https://img.shields.io/badge/hosted_by-csh.rit.edu-pink?logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEzLjAuMiwgU1ZHIEV4cG9ydCBQbHVnLUluICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOmE9Imh0dHA6Ly9ucy5hZG9iZS5jb20vQWRvYmVTVkdWaWV3ZXJFeHRlbnNpb25zLzMuMC8iIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iNTQwcHgiIGhlaWdodD0iNTI1cHgiIHZpZXdCb3g9Ii0wLjAxNCAwLjAyOCA1NDAgNTI1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IC0wLjAxNCAwLjAyOCA1NDAgNTI1IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGRlZnM+CjwvZGVmcz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MjAsMTM1VjMwYzAtMTYuNTY5LTEzLjQzMy0zMC0zMC0zMEgzMEMxMy40MzEsMCwwLDEzLjQzMSwwLDMwVjQ5NSAgYzAsMTYuNTY3LDEzLjQzMSwzMCwzMCwzMGgzNjBjMTYuNTY3LDAsMzAtMTMuNDMzLDMwLTMwVjM5MGgtOTBWNDIwYzAsOC4yODQtNi43MTUsMTUtMTUsMTVIMTA1Yy04LjI4NCwwLTE1LTYuNzE2LTE1LTE1VjEwNSAgYzAtOC4yODQsNi43MTYtMTUsMTUtMTVoMjEwYzguMjg1LDAsMTUsNi43MTYsMTUsMTV2MzBINDIweiIvPgo8cGF0aCBkPSJNMjkyLjUsMTE5Ljk5OUgxMjcuNTAxYy00LjE0MywwLTcuNSwzLjM1Ny03LjUsNy41VjI4NWMwLDQuMTQzLDMuMzU3LDcuNDk5LDcuNSw3LjQ5OWgxMDEuMjVjMi4wNzEsMCwzLjc1LDEuNjgsMy43NSwzLjc1MSAgdjQ0Ljk5OWMwLDIuMDcxLTEuNjc5LDMuNzUtMy43NSwzLjc1SDE5MS4yNWMtMi4wNzEsMC0zLjc1LTEuNjc5LTMuNzUtMy43NVYzMjIuNWgtNjcuNDk5VjM5Ny41YzAsNC4xNDIsMy4zNTcsNy41LDcuNSw3LjVIMjkyLjUgIGM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41VjI0MGMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41SDE5MS4yNWMtMi4wNzEsMC0zLjc1LTEuNjc5LTMuNzUtMy43NWwtMC4wMDEtNDUgIGMwLTIuMDcxLDEuNjc5LTMuNzUsMy43NS0zLjc1aDM3LjUwMWMyLjA3MSwwLDMuNzUsMS42NzksMy43NSwzLjc1bDAuMDAxLDE4Ljc1SDMwMHYtNzUuMDAxICBDMzAwLDEyMy4zNTYsMjk2LjY0MywxMTkuOTk5LDI5Mi41LDExOS45OTl6Ii8+Cjxwb2x5Z29uIHBvaW50cz0iNDIwLDMwMCA0MjAsMzYwIDMzMCwzNjAgMzMwLDE2NSA0MjAsMTY1IDQyMCwyMjUgNDUwLDIyNSA0NTAsMCA1NDAsMCA1NDAsNTI1IDQ1MCw1MjUgNDUwLDMwMCAiLz4KPC9zdmc+)


Oxford the Grabbit

### Grab helps you preserve information.

Grab is a cross-platform* application that connects your messaging platform to your knowledge base. Simply ask the bot, and easily transfer knowledge generated in your messaging platform to a proper, more permanent home. Slack might be expensive, but information can be priceless!

*Not cross-platform yet lol


Chat
Wiki


Slack

MediaWiki



Discord

Confluence



MS Teams

SharePoint




Matrix

DokuWiki



Zulip

BookStack

### Why?

I have lost count of how many times I have lost things in Slack, Discord, or any other chat platform. I ask people questions, collaborate on problems, have meetings, and generally generate a ton of useful information while solving a problem. Then, I find that I promise myself I'll write it down, and never do.

I've also been a member of a number of communities that share this problem, or worse, either aren't aware of it, or don't care. They send information into the void, and it can be almost impossible to find it again.

There are many communities out there, working on incredible things, but have poor documentation practices. Information gets lost, links get buried, and people waste time searching for them again when they may or may not even exist. This app aims to drastically lower the barrier to entry for documentation, and and help people spend less time searching and more time doing.

About a year ago, I had the idea for this project, and then a friend told me that there are already [plenty](https://www.getguru.com/) [of](https://www.backupery.com/products/backupery-for-slack/) [startups](http://landria.io/) charging people $N/seat/month or some other ludicrous amount for this kind of service. I think that's way too much, so I made my own.

### Status

Grab is currently under development and absolutely not ready for public consumption. Check the [issues](https://github.com/WillNilges/grab/issues) tab for progress on development. **I am literally just one guy and would very much like some help.**

### Roadmap™
- AI summarization
- Confluence integration
- Discord integration
- BookStack integration
- MS Teams integration
- SharePoint integration
- Charge a menial fee for server hosting if the app gets too big.

_Full transparency: This app is free software, GPL3'ed. I want it to stay that way forever. Currently, it's being graciously hosted by [Computer Science House](https://csh.rit.edu) at RIT, but if it gets too big, I might have to move it to the cloud, which will be ✨expensive✨. I never intend to make money off of this, but in that event, I'll start asking for donations, or perhaps charge a break-even price for hosting. Hopefully no more than $10/month, flat, regardless of org size._

### Setup

This app is designed to be containerized and deployed on OpenShift or other K8s-flavored platform. Deploy it from Git, build it, and provide the environment variables listed in `.env.template.` You'll need a postgres database somewhere.

To serve your dev instance, you can use ngrok:

```
ngrok http --domain 8080
```

You can run grab baremetal in development:

```
go run .
```

You can also debug it with `gdb` if you need to:

```
go build -gcflags=all="-N -l" && gdb grab
```

#### Wisdom

- In the `.env` file, You MUST use `/api.php` to point to your wiki!!!
- The app only initializes the DB once on startup, if it needs to. If you drop your DB, restart the app.

### Credits

[Christine Espeleta](https://github.com/chrissye0) for creating Oxford, the Grabbit!