Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/willnilges/grab
- Owner: WillNilges
- License: gpl-3.0
- Created: 2023-07-13T20:15:06.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-03T04:59:17.000Z (about 1 year ago)
- Last Synced: 2024-12-17T08:09:09.265Z (about 1 month ago)
- Topics: bot, documentation, go, mediawiki, slack
- Language: Go
- Homepage:
- Size: 5.64 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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+)
### 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!