Need help with my bot @ChessBoard234 – Stockfish, seeks & 24/7 hosting
Hi everyone!
I'm the creator of @ChessBoard234, a Lichess bot I've been building with a lot of passion.
My main computer is broken right now, so I'm developing everything on an Android phone using Pydroid 3 (a Python IDE). Despite the limitations, my bot already does quite a bit:
- Accepts challenges and plays 7 variants (Standard, Chess960, Atomic, Crazyhouse, Racing Kings, Antichess, 3‐Check).
- Joins team tournaments automatically.
- Has custom chat commands, greets opponents, says goodbye, and even talks in the spectator room.
- Uses Cloud Eval for openings and a built‐in engine (Sunfish) as a fallback.
However, I have a dream: I want @ChessBoard234 to play with the strength of Stockfish (3500 ELO), to challenge other bots automatically (seeks), and to run 24/7 without depending on my phone.
I've hit several technical walls and would love to hear your ideas or advice:
1. Stockfish on Android
My bot runs inside Pydroid 3 (Python on Android). I tried downloading pre‐compiled Stockfish binaries for ARM64, but I always get “Exec format error” or they simply don't start. Termux is not an option for me (Play Store restrictions).
Does anyone know a Stockfish binary (or any UCI engine) that actually works on Android without needing to compile it yourself?
2. Seeks without the board:play scope
My API token has bot:play, but not board:play, and apparently Lichess doesn't let me add that scope from the web interface. I've tried using the challenge API (/api/challenge/{username}) to challenge other bots, but sometimes I get 400 errors.
Is there a way to emulate a seek, or to get the board:play permission for a bot?
3. Free 24/7 hosting
At the moment @ChessBoard234 is only online when my phone is on. Do you know any free service (Replit, PythonAnywhere, Fly.io, etc.) that can host a Python script and keep a Lichess bot alive permanently? I'm worried about execution time limits and disconnections.
4. A nice discovery!
While researching, I found that the public Lichess analysis API (https://lichess.org/api/analysis?fen=...) returns Stockfish's best move without any token. I'm using it as a workaround and the playing level has improved a lot. Thank you Lichess for that tool! However, I'd love to integrate a local Stockfish to reduce latency and not depend on the network all the time.
Any suggestion, link, tutorial, or even just some encouragement would be amazing. I know I'm a newbie, but I'm really excited about this project. Thank you for reading! ️
***Need help with my bot @ChessBoard234 – Stockfish, seeks & 24/7 hosting***
Hi everyone!
I'm the creator of **@ChessBoard234**, a Lichess bot I've been building with a lot of passion.
My main computer is broken right now, so I'm developing everything on an Android phone using **Pydroid 3** (a Python IDE). Despite the limitations, my bot already does quite a bit:
* Accepts challenges and plays **7 variants** (Standard, Chess960, Atomic, Crazyhouse, Racing Kings, Antichess, 3‐Check).
* Joins team tournaments automatically.
* Has custom chat commands, greets opponents, says goodbye, and even talks in the spectator room.
* Uses Cloud Eval for openings and a built‐in engine (Sunfish) as a fallback.
However, I have a dream: I want @ChessBoard234 to play with the strength of **Stockfish** (3500 ELO), to **challenge other bots automatically** (seeks), and to run **24/7** without depending on my phone.
I've hit several technical walls and would love to hear your ideas or advice:
---
***1. Stockfish on Android***
My bot runs inside Pydroid 3 (Python on Android). I tried downloading pre‐compiled Stockfish binaries for ARM64, but I always get “Exec format error” or they simply don't start. Termux is not an option for me (Play Store restrictions).
**Does anyone know a Stockfish binary (or any UCI engine) that actually works on Android without needing to compile it yourself?**
---
***2. Seeks without the `board:play` scope***
My API token has `bot:play`, but not `board:play`, and apparently Lichess doesn't let me add that scope from the web interface. I've tried using the challenge API (`/api/challenge/{username}`) to challenge other bots, but sometimes I get 400 errors.
**Is there a way to emulate a seek, or to get the `board:play` permission for a bot?**
---
***3. Free 24/7 hosting***
At the moment @ChessBoard234 is only online when my phone is on. **Do you know any free service (Replit, PythonAnywhere, Fly.io, etc.) that can host a Python script and keep a Lichess bot alive permanently?** I'm worried about execution time limits and disconnections.
---
***4. A nice discovery!***
While researching, I found that the **public Lichess analysis API** (`https://lichess.org/api/analysis?fen=...`) returns Stockfish's best move without any token. I'm using it as a workaround and the playing level has improved a lot. **Thank you Lichess for that tool!** However, I'd love to integrate a local Stockfish to reduce latency and not depend on the network all the time.
---
Any suggestion, link, tutorial, or even just some encouragement would be amazing. I know I'm a newbie, but I'm really excited about this project. Thank you for reading! ️
My API token has bot:play, but not board:play
You can create a new API token and add it anyways, @GatoChess89
> My API token has bot:play, but not board:play
You can create a new API token and add it anyways, @GatoChess89
@GCVM said ^
My API token has bot:play, but not board:play
You can create a new API token and add it anyways, @GatoChess89
But that's not possible; Lichess won't let me select that option.
@GCVM said [^](/forum/redirect/post/y6PrtzRH)
> > My API token has bot:play, but not board:play
>
> You can create a new API token and add it anyways, @GatoChess89
But that's not possible; Lichess won't let me select that option.
@GatoChess89 you won't be able to get a 3500+ elo bot on an android device for that you will need a 'top notch' computer so I recommend sticking with around 2800 elo to not overload your android. For your bot to run 24/7 either you need an online cloud hoster or servers (p.s with these your bot could be 3500+). If you give me your android model and specs I could help you :-)
@GatoChess89 you won't be able to get a 3500+ elo bot on an android device for that you will need a 'top notch' computer so I recommend sticking with around 2800 elo to not overload your android. For your bot to run 24/7 either you need an online cloud hoster or servers (p.s with these your bot could be 3500+). If you give me your android model and specs I could help you :-)
@RoyalJockey said ^
@GatoChess89 you won't be able to get a 3500+ elo bot on an android device for that you will need a 'top notch' computer so I recommend sticking with around 2800 elo to not overload your android. For your bot to run 24/7 either you need an online cloud hoster or servers (p.s with these your bot could be 3500+). If you give me your android model and specs I could help you :-)
How kind of you, thank you, my model is Galaxy A05 (SM-A055M)
@RoyalJockey said [^](/forum/redirect/post/xkwNVvhH)
> @GatoChess89 you won't be able to get a 3500+ elo bot on an android device for that you will need a 'top notch' computer so I recommend sticking with around 2800 elo to not overload your android. For your bot to run 24/7 either you need an online cloud hoster or servers (p.s with these your bot could be 3500+). If you give me your android model and specs I could help you :-)
How kind of you, thank you, my model is Galaxy A05 (SM-A055M)