_____ | ____|_ _____ | _| \ \ / / _ \ | |___ \ V / __/ |_____| \_/ \___| # A Slack bot
Eve is a PHP Slack bot for the Larachat community, powered by community contributions.
To Get Started
In order to get Eve up and running you need the following:
- A Slack Bot API token which can be generated in the admin interface of your Slack account
Once you have the API token, copy the
.env.example file to
.env and paste in your bot token.
To run Eve, first install the composer dependencies:
And then run the
eve:run artisan command:
php artisan eve:run
Eve will connect to your Slack account and will then respond to messages mentioning her and DMs.
Eve is currently in an early stage, and as such things are changing quickly. Currently, there are a number of commands:
- Hello (
- Thanks (
- Ping (
- Pun (
- Sandwich (
@eve make me a sandwich)
- Slap (
@eve slap @someone,
@eve slap @someone @someonelse)
- Eight Ball (
- Calculate (
@eve calculate 2x + 3y --x=2 --y=4)
- Giphy (
@eve giphy test)
The roadmap is as follows:
- Add throttling:
- Per-user per-command throttling
- Per-command global throttling
- Persistent caching / state
- User moderation
As always, the roadmap is open to suggestions from the community and code contributions are welcomed and encouraged! In addition to this, improvements to the code quality and structure / architecture are always welcome additions.
Contribute to Eve by forking the repository, making your changes in your fork and submitting a PR. The code follows some simple coding standards:
- PSR-2 (Mostly
- Object Calisthenics
These are not 100% strict requirements - if the code looks good, is easy to understand and is focussed and testable then it will be okay.
When contributing code, testing is strongly encouraged: the more we can test now, the less maintainenance problems we will have further down the line!
A number of people have helped Eve to come this far. In no particular order:
- Alexander Hjorth (
- Andreas Elia (
- Apostolos Spanos
- Brett Taylor (
- Cedric van Putten (
- Damon Jones
- Dan Rovito (
- Jens Eeckhout (
- Rizqi Djamaluddin (
- Shawn Mayzes (
The goal of Eve is to make it easy and accessible for members of the community to contribute to a project that is actively used by the community.
If there are features you would like to see, submit an issue (after searching first!). Even better is to open an issue and then send a PR.
Above all though, have fun with her.