Your generic programmer Andy, to automate some things, using Discord ✨✨✨
- Slash commands.
- Statically linked, just take the binary and run 🏃🏃🏃
- Compiled against six different targets, I'm running this on a Raspberry Pi 3 Model B.
- Sandbox for running programs written in:
- Go
- Python
- Fortran (yes, for my Numerical Analysis Lab 👴👴👴)
If you plan to host by yourself, first you will need a token. Follow these instructions,
you'll only need the first step, then make sure to give it the Use Slash Commands
permission.
Now if you haven't already, then download the binary for your operating system and processor's architecture from the latest release page.
After downloading, go to the downloaded folder, and unzip/decompress if you need to. Then run the following:
./andy -token <TOKEN>
Replace <TOKEN>
with the token you got from Discord.
You will need,
- Go (version 1.20 or higher)
- Air 💨
Then clone the repository,
git clone https://github.com/Fahim-Ferdous/andy
Enter the folder andy
, and run,
go mod get
Now you can do all the changes you want to.
In addition to the steps in Development, you will also need the following tools for commit messages,
- Commitlint
- Husky
- npm, which comes bundled with NodeJS
After you install npm (NodeJS really), run the following in the folder where you have cloned Andy. This will install Commitlint and Husky.
npm i
Send your PR's against the main
branch and please note that the CI will reject
your PR if your commit messages do not pass the
Conventional Commit standard of
Semantic Release
To ensure your that your Pull Request will not get rejected, run
npx exec semantic-release
If you want contribute to the CI/CD pipeline, you'll additionally need the following,
Now to verify that your PR will pass, run
act
You might get some warnings related to caching, but you can ignore those. If you want to get rid of these warnings, then this will help you.