Skip to content

Commit

Permalink
Fixed repo. Sometimes I really hate git.
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanbohacek committed Aug 29, 2016
0 parents commit 8e2814d
Show file tree
Hide file tree
Showing 43 changed files with 7,881 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules
config.js
visitor_stats.handlebars
4 changes: 4 additions & 0 deletions .htaccess
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Options -Indexes

RedirectMatch "^/coc" "https://github.com/botwiki/botmakers.org/blob/master/Code%20of%20Conduct.md"
RedirectMatch "^/code-of-conduct" "https://github.com/botwiki/botmakers.org/blob/master/Code%20of%20Conduct.md"
48 changes: 48 additions & 0 deletions BOTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Bots on Botmakers.org

On top of a few people testing their bots, we have the following integrations:

## slack-pokemon

[![slack-pokemon](https://botwiki.org/content/bots/slackbots/images/slack-pokemon.png)](https://botwiki.org/bots/slackbots/slack-pokemon/)

A Slack-based Pokemon game that lets you battle against a bot. I changed the keyword to `Pokemon`, so, for example, to start a game you'd type something like `Pokemon, battle me!`. (Also note that punctuation will be ignored.)

See the list of commands [on the original GitHub page](https://github.com/rvinluan/slack-pokemon/#how-to-play).

It would be really nice to turn this into a real game, for example, give people who join the [#games-pokemon](https://botmakers.slack.com/messages/games-pokemon/details/) channel three random Pokemons, let players battle each other and win/lose Pokemons.

Anything's possible on Slack :-)

## slack-tableflip

[![slack-tableflip](https://botwiki.org/content/bots/slackbots/images/slack-tableflip.png)](https://botwiki.org/bots/slackbots/slack-tableflip/)

See screenshot above. You can use this bot in any channel -- with a reasonable frequency.

## MeMoji

[![MeMoji](https://botwiki.org/content/bots/slackbots/images/MeMoji.png?)](https://botwiki.org/bots/slackbots/MeMoji/)

A sort of "charades with emoji" game. There is a dedicated channel [#games-memoji](https://botmakers.slack.com/messages/games-memoji/details/).

The original idea behind MeMoji was to have people create their own games (using `/memoji create {phrase} {emoji list}`), but there's a few built-in phrases. You can start a new game with `/memoji start` (after a game is over, you will have to start a new game again) and then make your guess with `/memoji guess {phrase}`.

For more commands see [memoji.mod.bz](https://memoji.mod.bz/).

## XOR.ai

> The XOR.ai app lets you hire tech talent from online professional communities (developers, data scientists, designers, etc), and also our search engine has access to 12 million developers (based on GitHub, Stackoverflow and Bitbucket accounts) and reaches those cold candidates for you. With XOR you can hire and manage the candidates directly from your Slack, Telegram, or Facebook messenger.
[Privacy policy.](http://xor.ai/privacy)


## @botwikibot/Sidekick

[![Sidekick](http://getyoursidekick.org/images/reaction-retweet.png)](http://getyoursidekick.org/)

And of course, our very own **@botwikibot**/[Sidekick](http://getyoursidekick.org/). It's still a very early work in progress, but it can say *hello* and helps monitor our [#twitter-firehose](https://botmakers.slack.com/messages/twitter-firehose/details/) channel.

## Notes

We also have the **Food** and **Startups** emoji packs from [emojipacks.com](http://www.emojipacks.com/).
5 changes: 5 additions & 0 deletions Code of Conduct.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Botwiki.org and Botmakers.org Code of Conduct

## Note

This document was moved to [botwiki.org/coc](https://botwiki.org/coc/).
40 changes: 40 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Botmakers.org

[![Join Botmakers!](https://botmakers.org/images/botmakers-thumbnail-image.png)](http://botmakers.org)

[Botmakers.org](http://botmakers.org) is the official [Botwiki.org](https://botwiki.org/) community, maintained by the [Botwiki.org team](https://github.com/botwiki). Image courtesy of [oldbookillustrations.com](http://www.oldbookillustrations.com/). Any questions? Need help? Reach out to [@fourtonfish](https://twitter.com/fourtonfish) or [[email protected]](mailto:[email protected]).

***Note: All members must read and follow our [Code of Conduct](https://github.com/botwiki/botmakers.org/blob/master/Code%20of%20Conduct.md).***

Also, here's a [list of bots](https://github.com/botwiki/botmakers.org/blob/master/BOTS.md) we're playing with right now.

# Auto-invite page for your Slack community

This repo also serves as a template for a neat-looking auto-invite page for your Slack community. It is loosely based on [outsideris/slack-invite-automation](https://github.com/outsideris/slack-invite-automation), but kept simpler and easier to customize. You can easily host it on [OpenShift](https://www.openshift.com/) or [Heroku](https://www.heroku.com/).

(Note: the code could use a bit more cleanup, but I was in a rush to open the Botmakers community.)

Running this thing is pretty simple:

0. Clone this repo.
1. Make a copy of `config-example.js` and call it `config.js`.
2. Edit 'config.js':
1. `community`: name of your community
2. `slackUrl`: URL of your community
3. `slacktoken`: get yours [here](https://api.slack.com/web#auth)
3. Make a copy of `visitor_stats-example.handlebars` (it's inside the `views/partials` folder) and call it `visitor_stats.handlebars`. Here you can paste your Google Analytics or StatCounter (or similar) code.
4. Install dependencies with `npm install` (or `sudo npm install`, if necessary).
5. `gulp.js`

Enjoy!


A few more notes:

About the **step 3** above: If you don't need to include this code, you can simply leave the file empty, but note that this file is by deafult not going to be committed, so you will have to either update `.gitignore` to remove the file from the list, or, if you want to keep your site's code open, upload this file separately.

You can also edit the file `main/handlebars` inside the `views/layouts` folder and remove the line that says `{{> visitor_stats }}` and get rid of the file completely.

As for hosting your signup page on Heroku, note that Heroku's free plan [forces your app to sleep for a few hours every day](https://www.heroku.com/pricing), so I don't recommend using Heroku if you expect a lot of traffic spread roughly evenly throughout the day, as you might lose signups.

And finally, you might also want to update the [error messages](https://github.com/botwiki/botmakers.org/blob/master/botmakers.js#L49) to include your email/link to your Twitter page/etc.
5 changes: 5 additions & 0 deletions config-example.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module.exports = {
community: 'COMMUNITY',
slackUrl: 'COMMUNITY.slack.com',
slacktoken: 'TOKEN'
};
96 changes: 96 additions & 0 deletions gulpfile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
var gulp = require('gulp'),
less = require('gulp-less'),
path = require('path'),
autoprefixer = require('gulp-autoprefixer'),
minifycss = require('gulp-minify-css'),
jshint = require('gulp-jshint'),
uglify = require('gulp-uglify'),
imagemin = require('gulp-imagemin'),
rename = require('gulp-rename'),
clean = require('gulp-clean'),
concat = require('gulp-concat'),
notify = require('gulp-notify'),
browserSync = require('browser-sync'),
reload = browserSync.reload,
nodemon = require('gulp-nodemon'),
sourcemaps = require('gulp-sourcemaps');

var BROWSER_SYNC_RELOAD_DELAY = 5000;

gulp.task('nodemon', function (cb) {
var called = false;
return nodemon({
script: 'server.js',
watch: ['server.js']
})
.on('start', function onStart() {
if (!called) { cb(); }
called = true;
})
.on('restart', function onRestart() {
setTimeout(function reload() {
browserSync.reload({
stream: false
});
}, BROWSER_SYNC_RELOAD_DELAY);
});
});

gulp.task('browser-sync', ['nodemon'], function () {
var files = [
'*.html',
'views/*.*',
'views/*.*',
'views/layouts/*.*',
'public/css/*.css',
'public/images/**/*',
'public/js/*.js'
];

browserSync.init(files, {
proxy: "localhost:3011",
port: 4000
});
});

gulp.task('styles', function() {
return gulp.src('src/styles/*.less')
.pipe(less({
paths: [ path.join(__dirname, 'less', 'includes') ]
}))
.pipe(gulp.dest('public/css'))
.pipe(autoprefixer('last 3 version', 'android >= 3', { cascade: true }))
.pipe(gulp.dest('public/css'))
.pipe(rename({suffix: '.min'}))
.pipe(minifycss())
.pipe(gulp.dest('public/css'))
.pipe(notify({ message: 'Styles task complete' }))
.pipe(reload({stream:true}));
});

gulp.task('scripts', function() {
return gulp.src('src/scripts/**/*.js')
.pipe(jshint('tests/.jshintrc'))
.pipe(jshint.reporter('default'))
.pipe(gulp.dest('public/js'))
.pipe(rename({suffix: '.min'}))
.pipe(sourcemaps.init())
.pipe(uglify())
.pipe(sourcemaps.write())
.pipe(gulp.dest('public/js'))
.pipe(notify({ message: 'Scripts task complete' }));
});

gulp.task('clean', function() {
return gulp.src(['public/css', 'public/js'], {read: false})
.pipe(clean());
});

gulp.task('watch', function() {
gulp.watch('src/styles/*.less', ['styles']);
gulp.watch('src/scripts/*.js', ['scripts']);
});

gulp.task('default', ['clean', 'browser-sync'], function() {
gulp.start('styles', 'scripts', 'watch');
});
51 changes: 51 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"name": "botmakers",
"version": "1.0.0",
"description": "Join the Botmakers community on Slack!",
"main": "server.js",
"dependencies": {
"body-parser": "^1.14.0",
"express": "^4.10.2",
"express-handlebars": "^2.0.1",
"gulp": "^3.9.0",
"gulp-autoprefixer": "^0.0.7",
"gulp-cache": "^0.1.11",
"gulp-clean": "^0.2.4",
"gulp-concat": "^2.2.0",
"gulp-imagemin": "^0.5.0",
"gulp-jshint": "^1.6.1",
"gulp-livereload": "^1.5.0",
"gulp-minify-css": "^0.3.4",
"gulp-nodemon": "^2.0.2",
"gulp-notify": "^1.2.5",
"gulp-rename": "^1.2.0",
"gulp-sourcemaps": "^1.5.2",
"gulp-uglify": "^0.3.0",
"hbs": "^3.0.1",
"request": "^2.62.0"
},
"devDependencies": {
"browser-sync": "^2.9.3",
"connect-livereload": "^0.4.0",
"gulp": "^3.6.2",
"gulp-autoprefixer": "0.0.7",
"gulp-cache": "^0.1.11",
"gulp-clean": "^0.2.4",
"gulp-concat": "^2.2.0",
"gulp-htmlmin": "^0.1.2",
"gulp-imagemin": "^0.5.0",
"gulp-jshint": "^1.6.1",
"gulp-less": "^1.2.3",
"gulp-livereload": "^1.5.0",
"gulp-minify-css": "^0.3.4",
"gulp-notify": "^1.2.5",
"gulp-rename": "^1.2.0",
"gulp-uglify": "^0.3.0",
"tiny-lr": "0.0.7"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "[email protected]",
"license": "MIT"
}
Loading

0 comments on commit 8e2814d

Please sign in to comment.