Awesome
Lumen - Slackin
A Slack Invitator made with Lumen Framework and inspired by rauchg/slackin.
That application uses some of my awesome packages:
- Badge Poser - Badges generator to Laravel.
- Slack API - Laravel easy Slack API.
- Language Detector - Automatic set the application language based on user browser preferences.
- Lumen Tinker - An interactive shell to Lumen.
Download the source
composer create-project vluzrmos/lumen-slackin
Installation
Copy <code>.env.example</code> to <code>.env</code> and:
Change the <code>APP_KEY</code> to something random string with max 32 characters.
Change the <code>SLACK_TOKEN</code> to the token of your user on slack team, with admin privilegies, you can get it on Slack Web API.
Run
Queue
Start the queue listener:
php artisan queue:listen --timeout=240 1>> /dev/null 2>&1 &
That will start the queue listener in background on *nix computers, to stop that you need to know how to kill a job on your system.
Its hight recomended run the queue on system startup, on linux you should add the following lines to your crontab:
@reboot php /path/to/that/project/artisan queue:listen --timeout=240 1>> /dev/null 2>&1
Scheduled Tasks (Optional)
You may also need to add that command to your cronjob, that will update the users status on every minute:
* * * * * php /path/to/that/project/artisan schedule:run 1>> /dev/null 2>&1
That will make your queue run in background and ignoring error messages.
Note: If you do not want to use that feature, you just need to set the environment
variable SLACK_STATUS_ENABLED
to false
on your .env
file, that will hide the message
about users active (online/total) of your team on the homepage:
SLACK_STATUS_ENABLED=false
HTTP Server
Start the http server:
php artisan serve
By default, artisan serve starts on port 8000, if you want to modify it, just starts it by passing <code>--port=NUMBER</code> or just make a VirtualHost on your server (Apache or Nginx) with DocumentRoot on <code>/path/to/that/project/public/</code> path.
Badge is available
If your need a badge to your slack invitator, just use:
<img src="http://your-domain/badge.svg" />
Multi-Language Support
By default the system will try to detect if the browser language is available on <code>resources/lang</code>, if available will setup. Available languages:
- English - en
- French - fr_FR
- Portuguese Brazil - pt_BR
- German - de_DE
Mobile Devices
That project uses Twitter Bootstrap 3, and it is compatible on small devices.
Using Lumen Slackin
Your team are using this project? Put your link here:
Note: Consider to send a PR to master branch.
License
DBAD.