{"id":16793526,"url":"https://github.com/mdp/machinepoker","last_synced_at":"2025-03-22T01:30:48.247Z","repository":{"id":5001356,"uuid":"6159599","full_name":"mdp/MachinePoker","owner":"mdp","description":"Gambling.js","archived":false,"fork":false,"pushed_at":"2013-12-06T22:19:19.000Z","size":803,"stargazers_count":75,"open_issues_count":2,"forks_count":26,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-04-30T00:23:14.928Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"CoffeeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"gdg-x/zeppelin","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mdp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-10-10T15:31:27.000Z","updated_at":"2024-02-11T12:24:00.000Z","dependencies_parsed_at":"2022-09-21T21:40:38.885Z","dependency_job_id":null,"html_url":"https://github.com/mdp/MachinePoker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdp%2FMachinePoker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdp%2FMachinePoker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdp%2FMachinePoker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdp%2FMachinePoker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdp","download_url":"https://codeload.github.com/mdp/MachinePoker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244893347,"owners_count":20527575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T08:49:33.201Z","updated_at":"2025-03-22T01:30:47.994Z","avatar_url":"https://github.com/mdp.png","language":"CoffeeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://secure.travis-ci.org/mdp/MachinePoker.png)](http://travis-ci.org/mdp/MachinePoker)\n\n![Machine\nPoker](https://s3.amazonaws.com/img.mdp.im/MachinePokerLogo.png)\n# Machine Poker\n\nMachine Poker is a libray which allows you go build poker bots\nand have them compete against each other in tournaments.\n\nCurrently this supports bots written in Javascript running locally,\nor bots that play remotely via HTTP and conform to the MachinePoker API\n\n## Getting started\n\n### Requirements\n\n- NodeJS \u003e= 0.10.x\n- A basic understanding of javascript\n\n#### Dependencies\n\n- [Hoyle](https://github.com/mdp/hoyle) - Poker hand library\n- [Binions](https://github.com/mdp/binions) - Poker table library\n- Request\n- Async\n- Optimist\n\n### Installation\n\n#### Via NPM\n\n    npm install machine-poker\n\n#### Local\n\n    git clone git://github.com/mdp/MachinePoker.git\n    cd MachinePoker\n    npm install\n\n### Build your bot\n\nCheck [this guide on the wiki](https://github.com/mdp/MachinePoker/wiki) to start building your own bot\n\n### Cofiguring a new game\n\nNew matches are built using the Machine Poker API\n\n    var MachinePoker = require('machine-poker');\n        , LocalSeat = MachinePoker.seats.JsLocal\n        , RemoteSeat = MachinePoker.seats.Remote\n        , CallBot = require('./examples/bots/callBot')\n        , RandBot = require('./examples/bots/randBot')\n        , FoldBot = require('./examples/bots/foldBot')\n        , narrator = MachinePoker.observers.narrator\n        , fileLogger = MachinePoker.observers.fileLogger('./examples/results.json');\n\n    var table = MachinePoker.create({\n      maxRounds: 100\n    });\n\n    // Source be found at: https://github.com/mdp/RandBot\n    var remotePlayerUrl = \"http://randbot.herokuapp.com/randBot\";\n\n    var remotePlayer = RemoteSeat.create(remotePlayerUrl);\n    remotePlayer.on('ready', function () {\n      var players = [\n        remotePlayer\n        , LocalSeat.create(CallBot)\n        , LocalSeat.create(FoldBot)\n        , LocalSeat.create(RandBot)\n        , LocalSeat.create(RandBot)\n      ];\n      table.addPlayers(players);\n      table.on('tournamentClosed', function () { process.exit() } );\n      table.start();\n    });\n\n    // Add some observers\n    table.addObserver(narrator);\n    table.addObserver(fileLogger);\n\n### Updating the repo\n\nThe sample bots will evolve over the coming weeks in order to give you\nsome better opponents. You can just update the repo to keep up to date.\n\n    git pull origin master\n\n### Todo\n\n- Fix wiki\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdp%2Fmachinepoker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdp%2Fmachinepoker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdp%2Fmachinepoker/lists"}