diff --git a/.github/img/pingme.gif b/.github/img/pingme.gif new file mode 100644 index 0000000..68d9833 Binary files /dev/null and b/.github/img/pingme.gif differ diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..5c07c54 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,76 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at EMAIL. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..2a0f190 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,39 @@ +## Contributing to PingMe +We want to make contributing to this project as easy and transparent as +possible. + +## Project structure + +- `main` - Contains definitions for the underlying notification services. + - `cmd/discord` - Discord notification service. + - `cmd/email` - Email notification service. + - `cmd/msteams` - Microsoft Teams notification service. + - `cmd/rocketchat` - RocketChat notification service. + - `cmd/slack` - Slack notification service. + - `cmd/telegram` - Telegram notification service + +## Commits + +Commit messages should be well formatted, and to make that "standardized", we +are using Conventional Commits. + +You can follow the documentation on +[their website](https://www.conventionalcommits.org). + +## Pull Requests +We actively welcome your pull requests. + +1. Fork the repo and create your branch from `master`. +2. If you've added code that should be tested, add tests. +3. If you've changed APIs, update the documentation. +4. Ensure the test suite passes (`make test`). +5. Make sure your code lints (`make lint`). +6. Make sure your code is well formatted (`make fmt`). + +## Issues +We use GitHub issues to track public bugs. Please ensure your description is +clear and has sufficient instructions to be able to reproduce the issue. + +## License +By contributing to PingMe, you agree that your contributions will be licensed +under the LICENSE file in the root directory of this source tree. diff --git a/README.md b/README.md index b743eb7..bcfe8f8 100644 --- a/README.md +++ b/README.md @@ -14,10 +14,110 @@
About • - Usage • - Image Configuration • - Todo • - Issues • + Documentation • + Supported Services • + Install • + Configuration • + Contributing • + Show Your Support •
---- \ No newline at end of file +--- + +## About + +**PingMe** is a personal project to satisfy my needs of having alerts, most of major platforms have integration to send alerts + +but its not always useful, either you are stuck with one particlaur platform or you have to do alot of integrations. I needed a small app + +which i can just call from my backup scripts, cron jobs, CI/CD pipelines or from anywhere to send a message with particular information. + +And i can ship it everywhere with ease. + +Everything should be configurable via enviornment variables and i can simply export the logs or messages to a variable which will be sent + +as message. And most of all this should serve as a swiss army knife sort of tool which supports multiple platforms. + +Hence the birth of PingMe. + + +## Supported services +- *Discord* +- *Email* +- *Microsoft Teams* +- *RocketChat* +- *Slack* +- *Telegram* + + +## Install + +### Linux & MacOs +```bash +brew install kha7iq/tap/pingme +``` + +### Go Get +```bash +go get -u github.com/kha7iq/pingme +``` + +### Windows +Alternativly you can head over to [release pages](https://github.com/kha7iq/pingme/releases) and download the binary for windows & all other supported platforms. + +## Usage + +```bash +❯ pingme + +NAME: + PingMe - Send message to multiple platforms + +USAGE: + pingme [global options] command [command options] [arguments...] + +DESCRIPTION: + PingMe is a CLI tool which provides the ability to send messages or alerts to multiple + messaging platforms and also email, everything is configurable via environment + variables and command line switches.Currently supported platforms include Slack, Telegram, + RocketChat, Discord, Microsoft Teams and email address. + +COMMANDS: + telegram Send message to telegram + rocketchat Send message to rocketchat + slack Send message to slack + discord Send message to discord + teams Send message to microsoft teams + email Send an email + help, h Shows a list of commands or help for one command + +GLOBAL OPTIONS: + --help, -h show help (default: false) +``` + + +### Telegram +```bash +pingme telegram --token "0125:AAFHvnYf_ABC" --msg "This is a new message ✈" --channel="-1001001001,-1002002001" +``` + + +* ![Demo](https://github.com/kha7iq/pingme/blob/master/.github/img/pinem.gif) + + +## Configuration + +All the flags have crosponding enviornment variables assosiated with it. You can either provide the value with flags + +or export to a variable. View the [Documentation Page](https://github.com/) for more details + + +## Contributing + +Contributions, issues and feature requests are welcome!