Giter VIP home page Giter VIP logo

tournie's Introduction

Tournie Challonge bot Build Status

Tournie, the Challonge bot for Slack. Hosted as an AWS Lambda.

Features

  • Listing open tournaments for configured Challonge organization.
  • Connecting Slack user with Challonge member by "logging in". Suggestions from previous tournaments by configured Challonge organization.
  • Signing up for open tournaments.
  • Listing next matches for user, for tournaments s/he is part of.

See the Primer wiki page regarding future development.

Installation

  1. Set up AWS credentials, with a profile called "claudia". (You can use aws-credentials.example as a template by copying it to ~/.aws/credentials and filling in your accesss id and key.) See Claudia set-up instructions regarding what policies the user needs to have.

  2. Copy challonge.json.example to challonge.json and enter Challonge organization sub-domain and Challonge user API key.

  3. Create Slack app.

  4. Set up and deploy bot the first time to AWS:

    npm run setup
    

Re-deploy / update

To update the bot:

npm run update

License

Licenced under the MIT License.

tournie's People

Contributors

curriedfloat avatar dependabot[bot] avatar sebgrohn avatar tropys avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

tournie's Issues

Link Challonge user ↔ Slack user

As the Challonge API (v.1) only exposes users as players in a tournament, let's only search for users in a given Challonge org's tournaments.

For this we will need DB storage.

Sign up for tournament

Allow sign-up to tournament in the following ways:

  • Action button per tournament in tournament list (/challonge tournaments)
  • /challonge signup <tournament URL> command Skipped
  • /challonge signup command with an action menu to choose from

Dependent on #4.

Scope of project should be made clear

Hello my name is Mattias and I run a popular hockey tournament at Trimma AB. I'm coding stuff against the Challonge API and am interested in the scope and ambitions of this project!??!

;)

List open tournaments

List open tournaments for Challonge organization.

Not a strict MVP req, but helped me in learning Claudia.

Deploy with Travis CI

Deploy via Travis CI on every commit to master.

Things we need for this:

  • Challenge user (for API key)
  • Challenge org: https://tournie.challonge.com/
  • Dynamic SimpleDB "domain" name (depends on #13) or a separate AWS account.
  • Slack workspace(s) with configured Slack app

Split from #21.

List open matches

List open matches for a given user in all tournaments for Challonge organization:

  • opponent (Slack user + tournament display name),
  • time of “opening”,
  • etc.

Depends on #4.

Use existing Challonge API wrapper?

I found a Node.js Challonge API wrapper: Tidwell/node-challonge. It might make sense to use that instead of calling the API ourselves:

Pros:

  • Automatic snake_case to camelCase conversion of request params and responses.
  • Automatic date-time string to Date object conversion?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.