All Projects → MahjongRepository → Tenhou Python Bot

MahjongRepository / Tenhou Python Bot

Licence: mit
Bot for tenhou.net riichi mahjong server written in Python

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Tenhou Python Bot

Telegram Bot Sdk
🤖 Telegram Bot API PHP SDK. Lets you build Telegram Bots easily! Supports Laravel out of the box.
Stars: ✭ 2,212 (+1164%)
Mutual labels:  bot
Awesome Twitter Bots
🌟Resource repo for Twitter Bots 🐦
Stars: ✭ 170 (-2.86%)
Mutual labels:  bot
Csgofloat Inspect
Source Code that Powers the CSGOFloat Inspect Link API
Stars: ✭ 172 (-1.71%)
Mutual labels:  bot
Azurebot
This is the source code which runs the Microsoft AzureBot.
Stars: ✭ 166 (-5.14%)
Mutual labels:  bot
Whatsapp Web.js
A WhatsApp client library for NodeJS that connects through the WhatsApp Web browser app
Stars: ✭ 4,103 (+2244.57%)
Mutual labels:  bot
Instapy
📷 Instagram Bot - Tool for automated Instagram interactions
Stars: ✭ 12,473 (+7027.43%)
Mutual labels:  bot
Mynt
An Azure Functions-based crypto currency trading bot; featuring 10 exchanges, 25 indicators, custom strategy support, backtester and more
Stars: ✭ 165 (-5.71%)
Mutual labels:  bot
Micro Bot
🤖 Zero-configuration Telegram bot runner
Stars: ✭ 173 (-1.14%)
Mutual labels:  bot
Whatsapp Bot
BOT - WhatsApp Web in TypeScript
Stars: ✭ 170 (-2.86%)
Mutual labels:  bot
Arbbot
Arbitrator, a bitcoin/altcoin arbitrage trading bot
Stars: ✭ 173 (-1.14%)
Mutual labels:  bot
Hq bot
📲 Bot to help solve HQ trivia
Stars: ✭ 167 (-4.57%)
Mutual labels:  bot
Slack Starterbot
Python-powered simple starter Slack bot.
Stars: ✭ 169 (-3.43%)
Mutual labels:  bot
Partyloud
A simple tool to generate fake web browsing and mitigate tracking
Stars: ✭ 170 (-2.86%)
Mutual labels:  bot
Bitprophet
Node crypto trading platform for Binance exchange.
Stars: ✭ 166 (-5.14%)
Mutual labels:  bot
Mumbledj
A Mumble bot that plays audio fetched from various media sites.
Stars: ✭ 172 (-1.71%)
Mutual labels:  bot
Telegram link line
用Telegram來收發Line的訊息,use telegram to Send and receive messages(from Line)。 或者把它當作Line的訊息備份也是可啦 😛
Stars: ✭ 164 (-6.29%)
Mutual labels:  bot
Tenyks
The Tenyks IRC bot.
Stars: ✭ 171 (-2.29%)
Mutual labels:  bot
Flottbot
A chatbot framework written in Go. All configurations are made in YAML files, or inside scripts written in your favorite language.
Stars: ✭ 175 (+0%)
Mutual labels:  bot
Protonmail Account Creator
🚀 Create hundreds of free ProtonMail Email Accounts in the matter of minutes 🚀
Stars: ✭ 173 (-1.14%)
Mutual labels:  bot
Eddi
Scalable Open Source Chatbot Platform. Build multiple Chatbots with NLP, Behavior Rules, API Connector, Templating. Developed in Java, provided with Docker, orchestrated with Kubernetes or Openshift.
Stars: ✭ 171 (-2.29%)
Mutual labels:  bot

Build [Tests coverage]

Bot was tested with Python 3.7+ and PyPy3, we are not supporting Python 2.

What do we have here?

Example of bot game

Mahjong hands calculation

You can find it here: https://github.com/MahjongRepository/mahjong

Mahjong bot

For research purposes we built a simple bot to play riichi mahjong on tenhou.net server.

Here you can read about bot played games statistic: versions history

For developers

How to run it?

  1. pip install -r requirements/lint.txt
  2. Run cd project && python main.py it will connect to the tenhou.net and will play a game.

How to run bot battle with pypy

To make it easier run bot vs bot battles we prepared PyPy3 Docker container.

Run the game locally:

  1. Install Docker
  2. Run make build_docker
  3. Run make GAMES=1 run_battle it will play one game locally. Logs and replays will be stored in bots_battle folder.

Run bots with enabled decision logger (use it only for debug, since it harms performance):

  1. Run make GAMES=1 ARGS=--logs run_battle

Run multiple bots to play one game

  1. Install Docker and Install Docker Compose
  2. Run make build_docker
  3. Put bot configs to project/settings/. By default we are looking for these configs: bot_1_settings.py, bot_2_settings.py, bot_3_settings.py, bot_4_settings.py, bot_5_settings.py. Why 5 settings? Because tenhou doesn't start 2+ game in the custom lobby if you are running only 4 bots.
  4. Run make run_on_tenhou

Configuration instructions

  1. Put your own settings to the project/settings/settings_local.py file. They will override settings from default settings/base.py file.
  2. Also, you can override some default settings with command arguments. Use python main.py -h to check all available commands.

Game reproducer

It can be useful to debug bot errors or strange discards: game reproducer

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].