07469b4aa7
To allow adding neosays configuration to a dotfiles repo, it's beneficial to allow providing a command to retrieve the access token via a command (for example from a password manager). If an access token is set while a command is set as well, the token is overwritten in favour of the securely retrieved one. Fixes: https://github.com/donuts-are-good/neosay/issues/1 Signed-off-by: Moritz Poldrack <git@moritz.sh> |
||
---|---|---|
.gitignore | ||
example.json | ||
go.mod | ||
go.sum | ||
main.go | ||
README.md |
🎉 Neosay
Neosay is an easy CLI tool that allows you to send messages and code from files or stdin to Matrix.
📥 Click the banner to download
Download a copy of Neosay for your system by clicking the big green banner above.
🚀 Building It Yourself
To build Neosay, you'll need to clone the repository and build the binary:
git clone https://github.com/donuts-are-good/neosay.git
cd neosay
go build
📝 Configuration (Environment Variables)
You may want to use Neosay with environment variables instead of a config file.
echo "Hello, world!" | ./neosay
You can load in your configuration details as environment variables like this in your environment:
export MATRIX_HOMESERVER_URL="https://matrix.example.com"
export MATRIX_USER_ID="@yourusername:example.com"
export MATRIX_ACCESS_TOKEN="your_access_token"
export MATRIX_ROOM_ID="!yourroomid:example.com"
📝 Configuration (JSON)
Neosay can optionally use a JSON configuration file to store the Matrix homeserver URL, user ID, access token, and room ID. This makes it easy to switch between rooms.
Note: Be careful using this method, anybody can inmpersonate you with this information. It's best to make a different account for this.
Here's an example of the JSON configuration file:
{
"homeserverURL": "https://matrix.example.com",
"userID": "@yourusername:example.com",
"accessToken": "your_access_token",
"roomID": "!yourroomid:example.com"
}
🌟 Examples
Sending a simple message
echo "Hello, world!" | ./neosay config.json
Sending a multi-line message
cat yourfile.txt | ./neosay config.json
Sending a code block
echo "Hello, world!" | ./neosay -c config.json
Sending a multi-line code block
cat yourcodefile.py | ./neosay --code config.json
🤖 Neosay in the wild
Here are some other ways to use Neosay:
- Share code snippets with your team in a Matrix room
- Send logs or debugging information from a script
- Share inspirational quotes or jokes
- Send notifications from your CI/CD pipelines or monitoring tools
📡 Contributing
I'll take help however you can get it to me, whether that be a pull request, a .patch file, a sticky note, smoke signals, bribes, you name it.
🖇️ License
neosay
is licensed under the MIT license. Check out the LICENSE file for more info. If you dont get it don't worry about it.