GithubHelp home page GithubHelp logo

allez's Introduction

Allez

Allez is a Node tool to upload GoQuest games to OGS for AI analysis. GoQuest is the most active 9x9 Go community online, however the fast pace of games and the lack of review tools can at times be a hindrance to learning. Allez uploads your GoQuest games to OGS enabling you to use OGS's powerful AI analysis tools as well as its branching and version capabilities.

Artful Goban

Where to find your games

Allez uploads your games to your user library on OGS. Your library can be found by clicking the hamburger menu in the top left corner and then selecting "SGF Library". If you would like to group the games Allez uploads together, create a "GoQuest" collection under your library and Allez will automatically upload your games there.

Setup

Setup is a bit of a bear, but put simply Allez runs as a Node cron job every 3 minutes and is easily hostable in Heroku. Allez needs a few different pieces of information to access your GoQuest and OGS accounts. You can find the needed fields in the sample.env file.

GQ_PROFILE_NAME=
GQ_GAME_MESSAGE=
OGS_USER_ID=
OGS_CLIENT_ID=
OGS_CLIENT_SECRET=
OGS_USERNAME=
OGS_PASSWORD=
LOCALE=
TIMEZOME=

GQ_PROFILE_NAME

GQ_PROFILE_NAME is your profile name on GoQuest.

GQ_GAME_MESSAGE

GQ_GAME_MESSAGE is the websocket message the GoQuest client sends to load a specific game.

OGS_USER_ID

OGS_USER_ID is your user id on OGS.

OGS_CLIENT_ID & OGS_CLIENT_SECRET

To run Allez yourself, you will have to register a client application in OGS which you can do here. Once you have registered your application you will receive a client id and client secret. Your client type should be public and the authorization grant type should be "password".

OGS_USERNAME

OGS_USERNAME is your user name on OGS.

OGS_PASSWORD

To authorize the application you created above (see OGS_CLIENT_ID & OGS_CLIENT_SECRET) to access your account you'll have to add an OAUTH password in OGS. This is not your normal password and can only be used by authorized applications.

LOCALE

Use LOCALE to ensure that games are uploaded using your local time's format. Some example locales are en-US or it-IT. LOCALE is optional.

TIMEZONE

Use TIMEZONE to specify your local time zone so that games are not displayed using UTC. You can find a list of allowed timezones here. TIMEZONE is optional.

allez's People

Contributors

andrewallred avatar dependabot[bot] avatar

Stargazers

Tom avatar Marcos Almeida avatar

Watchers

 avatar

Forkers

maurelio1234

allez's Issues

Make the temporary folder where files are saved configurable

This is another thing I needed to fix on my fork.
On AWS I can't write on the filesystem, and the folder ./games is hard coded.
I changed that to /tmp on my fork.

Would /tmp work for your use cases?
Or you want to support windows users?
What about a env var for overriding your default value ? Like TEMP_GAMES_FOLDER?

Or... do you really need to download the file to re-upload it?

Support other board sizes: 13 and 19

As I said on the other issue, I have it running as an AWS Lambda on my fork. And it supports all board sizes (just tested on 19x19 boards too).

My code is here: main...maurelio1234:main
Sorry for the lots of whitespace change... I formatted the code at some point.

I can prepare clean patches.

I suggest starting by bringing the state machine system to allow it to fetch all board sizes.
The main code is around here: main...maurelio1234:main#diff-b9889c22c400de9264d991dae49003241646087095397aaf5b505d135f7976f3R107

What do you think?

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.