Closed pGOD1000 closed 1 month ago
Can you upload lichess_bot_auto_logs\old.log
and lichess_bot_auto_logs\recent.log
so we can look further into it?
Ok
2024-09-06 15:28:29,498 __main__ (lichess-bot.py:1180) INFO
. _/|
. // o\
. || ._) lichess-bot 2024.9.1.1 on Windows 10
. //__\
. )___( Play on Lichess with a bot
2024-09-06 15:28:29,564 lib.config (config.py:396) ERROR There appears to be a syntax problem with your config.yml
Traceback (most recent call last):
File "C:\Users\Microsoft\Downloads\lichess-bot-master (1)\lichess-bot-master\lib\config.py", line 394, in load_config
CONFIG = yaml.safe_load(stream)
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\__init__.py", line 125, in safe_load
return load(stream, SafeLoader)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\__init__.py", line 81, in load
return loader.get_single_data()
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\constructor.py", line 49, in get_single_data
node = self.get_single_node()
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 36, in get_single_node
document = self.compose_document()
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 55, in compose_document
node = self.compose_node(None, None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 127, in compose_mapping_node
while not self.check_event(MappingEndEvent):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\parser.py", line 98, in check_event
self.current_event = self.state()
^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\parser.py", line 438, in parse_block_mapping_key
raise ParserError("while parsing a block mapping", self.marks[-1],
yaml.parser.ParserError: while parsing a block mapping
in "./config.yml", line 128, column 3
expected <block end>, but found '<block sequence start>'
in "./config.yml", line 142, column 4
2024-09-06 15:28:29,822 __main__ (lichess-bot.py:1249) ERROR Quitting lichess-bot due to an error:
Traceback (most recent call last):
File "C:\Users\Microsoft\Downloads\lichess-bot-master (1)\lichess-bot-master\lichess-bot.py", line 1246, in <module>
start_lichess_bot()
File "C:\Users\Microsoft\Downloads\lichess-bot-master (1)\lichess-bot-master\lichess-bot.py", line 1182, in start_lichess_bot
CONFIG = load_config(args.config or "./config.yml")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\Downloads\lichess-bot-master (1)\lichess-bot-master\lib\config.py", line 394, in load_config
CONFIG = yaml.safe_load(stream)
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\__init__.py", line 125, in safe_load
return load(stream, SafeLoader)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\__init__.py", line 81, in load
return loader.get_single_data()
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\constructor.py", line 49, in get_single_data
node = self.get_single_node()
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 36, in get_single_node
document = self.compose_document()
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 55, in compose_document
node = self.compose_node(None, None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 127, in compose_mapping_node
while not self.check_event(MappingEndEvent):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\parser.py", line 98, in check_event
self.current_event = self.state()
^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\parser.py", line 438, in parse_block_mapping_key
raise ParserError("while parsing a block mapping", self.marks[-1],
yaml.parser.ParserError: while parsing a block mapping
in "./config.yml", line 128, column 3
expected <block end>, but found '<block sequence start>'
in "./config.yml", line 142, column 4
I hope this is ok
There is probably a difference in the indentation of the different lines. Make sure that the lines in config.yml
are indented by 4 spaces. Can you post your config.yml
with the token removed (without the first line)?
Ok
token: "xxxxxxxxxxxx" # Lichess OAuth2 Token.
url: "https://lichess.org/" # Lichess base URL.
engine: # Engine settings.
dir: "./engines/" # Directory containing the engine. This can be an absolute path or one relative to lichess-bot/.
name: "stockfish.exe" # Binary name of the engine to use.
working_dir: "" # Directory where the chess engine will read and write files. If blank or missing, the current directory is used.
# NOTE: If working_dir is set, the engine will look for files and directories relative to this directory, not where lichess-bot was launched. Absolute paths are unaffected.
protocol: "uci" # "uci", "xboard" or "homemade"
ponder: false # Think on opponent's time.
polyglot:
enabled: false # Activate polyglot book.
book:
standard: # List of book file paths for variant standard.
- engines/book1.bin
- engines/book2.bin
# atomic: # List of book file paths for variant atomic.
# - engines/atomicbook1.bin
# - engines/atomicbook2.bin
# etc.
# Use the same pattern for 'chess960', 'giveaway' (antichess), 'crazyhouse', 'horde', 'kingofthehill', 'racingkings' and '3check' as well.
min_weight: 1 # Does not select moves with weight below min_weight (min 0, max: 65535).
selection: "weighted_random" # Move selection is one of "weighted_random", "uniform_random" or "best_move" (but not below the min_weight in the 2nd and 3rd case).
max_depth: 20 # How many moves from the start to take from the book.
draw_or_resign:
resign_enabled: false # Whether or not the bot should resign.
resign_score: -1000 # If the score is less than or equal to this value, the bot resigns (in cp).
resign_for_egtb_minus_two: true # If true the bot will resign in positions where the online_egtb returns a wdl of -2.
resign_moves: 3 # How many moves in a row the score has to be below the resign value.
offer_draw_enabled: true # Whether or not the bot should offer/accept draw.
offer_draw_score: 0 # If the absolute value of the score is less than or equal to this value, the bot offers/accepts draw (in cp).
offer_draw_for_egtb_zero: true # If true the bot will offer/accept draw in positions where the online_egtb returns a wdl of 0.
offer_draw_moves: 10 # How many moves in a row the absolute value of the score has to be below the draw value.
offer_draw_pieces: 10 # Only if the pieces on board are less than or equal to this value, the bot offers/accepts draw.
online_moves:
max_out_of_book_moves: 10 # Stop using online opening books after they don't have a move for 'max_out_of_book_moves' positions. Doesn't apply to the online endgame tablebases.
max_retries: 2 # The maximum amount of retries when getting an online move.
# max_depth: 10 # How many moves from the start to take from online books. Default is no limit.
chessdb_book:
enabled: false # Whether or not to use chessdb book.
min_time: 20 # Minimum time (in seconds) to use chessdb book.
move_quality: "good" # One of "all", "good", "best".
min_depth: 20 # Only for move_quality: "best".
lichess_cloud_analysis:
enabled: false # Whether or not to use lichess cloud analysis.
min_time: 20 # Minimum time (in seconds) the bot must have to use cloud analysis.
move_quality: "best" # One of "good", "best".
max_score_difference: 50 # Only for move_quality: "good". The maximum score difference (in cp) between the best move and the other moves.
min_depth: 20
min_knodes: 0
lichess_opening_explorer:
enabled: false
min_time: 20
source: "masters" # One of "lichess", "masters", "player"
player_name: "" # The lichess username. Leave empty for the bot's username to be used. Used only when source is "player".
sort: "winrate" # One of "winrate", "games_played"
min_games: 10 # Minimum number of times a move must have been played to be chosen.
online_egtb:
enabled: false # Whether or not to enable online endgame tablebases.
min_time: 20 # Minimum time (in seconds) the bot must have to use online EGTBs.
max_pieces: 7 # Maximum number of pieces on the board to use endgame tablebases.
source: "lichess" # One of "lichess", "chessdb".
move_quality: "best" # One of "best" or "suggest" (it takes all the moves with the same WDL and tells the engine to only consider these; will move instantly if there is only 1 "good" move).
lichess_bot_tbs: # The tablebases list here will be read by lichess-bot, not the engine.
syzygy:
enabled: false # Whether or not to use local syzygy endgame tablebases.
paths: # Paths to Syzygy endgame tablebases.
- "engines/syzygy"
max_pieces: 7 # Maximum number of pieces in the endgame tablebase.
move_quality: "best" # One of "best" or "suggest" (it takes all the moves with the same WDL and tells the engine to only consider these; will move instantly if there is only 1 "good" move).
gaviota:
enabled: false # Whether or not to use local gaviota endgame tablebases.
paths:
- "engines/gaviota"
max_pieces: 5
min_dtm_to_consider_as_wdl_1: 120 # The minimum DTM to consider as syzygy WDL=1/-1. Set to 100 to disable.
move_quality: "best" # One of "best" or "suggest" (it takes all the moves with the same WDL and tells the engine to only consider these; will move instantly if there is only 1 "good" move).
# engine_options: # Any custom command line params to pass to the engine.
# cpuct: 3.1
homemade_options:
# Hash: 256
uci_options: # Arbitrary UCI options passed to the engine.
Move Overhead: 100 # Increase if your bot flags games too often.
Threads: 4 # Max CPU threads the engine can use.
# Hash: 512 # Max memory (in megabytes) the engine can allocate.
SyzygyPath: "./syzygy/" # Paths to Syzygy endgame tablebases that the engine reads.
UCI_ShowWDL: true # Show the chance of the engine winning.
# go_commands: # Additional options to pass to the UCI go command.
# nodes: 1 # Search so many nodes only.
# depth: 5 # Search depth ply only.
# movetime: 1000 # Integer. Search exactly movetime milliseconds.
# xboard_options: # Arbitrary XBoard options passed to the engine.
# cores: "4"
# memory: "4096"
# egtpath: # Directory containing egtb (endgame tablabases), relative to this project. For 'xboard' engines.
# gaviota: "Gaviota path"
# nalimov: "Nalimov Path"
# scorpio: "Scorpio Path"
# syzygy: "Syzygy Path"
# go_commands: # Additional options to pass to the XBoard go command.
# depth: 5 # Search depth ply only.
# Do note that the go commands 'movetime' and 'nodes' are invalid and may cause bad time management for XBoard engines.
silence_stderr: false # Some engines (yes you, Leela) are very noisy.
abort_time: 30 # Time to abort a game in seconds when there is no activity.
fake_think_time: false # Artificially slow down the bot to pretend like it's thinking.
rate_limiting_delay: 0 # Time (in ms) to delay after sending a move to prevent "Too Many Requests" errors.
move_overhead: 2000 # Increase if your bot flags games too often.
max_takebacks_accepted: 0 # The number of times to allow an opponent to take back a move in a game.
quit_after_all_games_finish: false # If set to true, then pressing Ctrl-C to quit will only stop lichess-bot after all current games have finished.
correspondence:
move_time: 60 # Time in seconds to search in correspondence games.
checkin_period: 300 # How often to check for opponent moves in correspondence games after disconnecting.
disconnect_time: 150 # Time before disconnecting from a correspondence game.
ponder: false # Ponder in correspondence games the bot is connected to.
challenge: # Incoming challenges.
concurrency: 1 # Number of games to play simultaneously.
sort_by: "best" # Possible values: "best" and "first".
preference: "none" # Possible values: "none", "human", "bot".
accept_bot: true # Accepts challenges coming from other bots.
only_bot: false # Accept challenges by bots only.
max_increment: 20 # Maximum amount of increment to accept a challenge in seconds. The max is 180. Set to 0 for no increment.
min_increment: 0 # Minimum amount of increment to accept a challenge in seconds.
max_base: 1800 # Maximum amount of base time to accept a challenge in seconds. The max is 10800 (3 hours).
min_base: 0 # Minimum amount of base time to accept a challenge in seconds.
max_days: 14 # Maximum number of days per move to accept a challenge for a correspondence game.
# Unlimited games can be accepted by removing this field or specifying .inf
min_days: 1 # Minimum number of days per move to accept a challenge for a correspondence game.
variants: # Chess variants to accept (https://lichess.org/variant).
- standard
- fromPosition
# - antichess
# - atomic
# - chess960
# - crazyhouse
# - horde
# - kingOfTheHill
# - racingKings
# - threeCheck
time_controls: # Time controls to accept (bots are not allowed to play ultraBullet).
- bullet
- blitz
- rapid
- classical
# - correspondence
modes: # Game modes to accept.
# - casual # Unrated games.
- rated # Rated games - must comment if the engine doesn't try to win.
# block_list: # List of users from which the challenges are always declined.
# - user1
# - user2
# allow_list: # List of users from which challenges are exclusively accepted, all others being declined. If empty, challenges from all users may be accepted.
# - user3
# - user4
# recent_bot_challenge_age: 60 # Maximum age of a bot challenge to be considered recent in seconds
# max_recent_bot_challenges: 2 # Maximum number of recent challenges that can be accepted from the same bot
bullet_requires_increment: false # Require that bullet game challenges from bots have a non-zero increment
greeting:
# Optional substitution keywords (include curly braces):
# {opponent} to insert opponent's name
# {me} to insert bot's name
# Any other words in curly braces will be removed.
hello: "Hi! I'm {me}. Good luck! Type !help for a list of commands I can respond to." # Message to send to opponent chat at the start of a game
goodbye: "Good game!" # Message to send to opponent chat at the end of a game
hello_spectators: "Hi! I'm {me}. Type !help for a list of commands I can respond to." # Message to send to spectator chat at the start of a game
goodbye_spectators: "Thanks for watching!" # Message to send to spectator chat at the end of a game
# pgn_directory: "game_records" # A directory where PGN-format records of the bot's games are kept
# pgn_file_grouping: "game" # How to group games into files. Options are "game", "opponent", and "all"
# "game" (default) - every game is written to a different file named "{White name} vs. {Black name} - {lichess game ID}.pgn"
# "opponent" - every game with a given opponent is written to a file named "{Bot name} games vs. {Opponent name}.pgn"
# "all" - every game is written to a single file named "{Bot name} games.pgn"
matchmaking:
allow_matchmaking: false # Set it to 'true' to challenge other bots.
allow_during_games: false # Set it to 'true' to create challenges during long games.
challenge_variant: "random" # If set to 'random', the bot will choose one variant from the variants enabled in 'challenge.variants'.
challenge_timeout: 30 # Create a challenge after being idle for 'challenge_timeout' minutes. The minimum is 1 minute.
challenge_initial_time: # Initial time in seconds of the challenge (to be chosen at random).
- 60
- 180
challenge_increment: # Increment in seconds of the challenge (to be chosen at random).
- 1
- 2
# challenge_days: # Days for correspondence challenge (to be chosen at random).
# - 1
# - 2
# opponent_min_rating: 600 # Opponents rating should be above this value (600 is the minimum rating in lichess).
# opponent_max_rating: 4000 # Opponents rating should be below this value (4000 is the maximum rating in lichess).
opponent_rating_difference: 300 # The maximum difference in rating between the bot's rating and opponent's rating.
rating_preference: "none" # One of "none", "high", "low".
opponent_allow_tos_violation: false # Set to 'true' to allow challenging bots that violated the Lichess Terms of Service.
challenge_mode: "random" # Set it to the mode in which challenges are sent. Possible options are 'casual', 'rated' and 'random'.
challenge_filter: none # If a bot declines a challenge, do not issue a similar challenge to that bot. Possible options are 'none', 'coarse', and 'fine'.
# block_list: # The list of bots that will not be challenged
# - user1
# - user2
include_challenge_block_list: false # Do not challenge bots in the challenge: block_list in addition to the matchmaking block list.
# overrides: # List of overrides for the matchmaking specifications above. When a challenge is created, either the default specification above or one of the overrides will be randomly chosen.
# bullet_only_horde: # Name of the override. Can be anything as long as each override has a unique name ("bullet_only_horde" and "easy_chess960" in these examples).
# challenge_variant: "horde" # List of options to override. Only the options mentioned will change when making the challenge. The rest will follow the default matchmaking options above.
# challenge_initial_time:
# - 1
# - 2
# challenge_increment:
# - 0
# - 1
#
# easy_chess960:
# challenge_variant: "chess960"
# opponent_min_rating: 400
# opponent_max_rating: 1200
# opponent_rating_difference:
# challenge_mode: casual
#
# no_pressure_correspondence:
# challenge_initial_time:
# challenge_increment:
# challenge_days:
# - 2
# - 3
# challenge_mode: casual
#
# The following configurations cannot be overridden: allow_matchmaking, challenge_timeout, challenge_filter and block_list.
This is it
Please is there a solution because I have been trying to make a lichess bot
Add one more space before - fromPosition
.
Change this:
variants: # Chess variants to accept (https://lichess.org/variant).
- standard
- fromPosition
To this:
variants: # Chess variants to accept (https://lichess.org/variant).
- standard
- fromPosition
Ok
It still doesn't work
Can you upload lichess_bot_auto_logs\recent.log
? In your lichess-bot directory, there should be a folder called lichess_bot_auto_logs
and inside it a file called lichess_bot_auto_logs\recent.log
.
Ok
2024-09-06 18:27:02,953 __main__ (lichess-bot.py:1180) INFO
. _/|
. // o\
. || ._) lichess-bot 2024.9.1.1 on Windows 10
. //__\
. )___( Play on Lichess with a bot
2024-09-06 18:27:03,016 lib.config (config.py:396) ERROR There appears to be a syntax problem with your config.yml
Traceback (most recent call last):
File "C:\Users\Microsoft\Downloads\lichess-bot-master (1)\lichess-bot-master\lib\config.py", line 394, in load_config
CONFIG = yaml.safe_load(stream)
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\__init__.py", line 125, in safe_load
return load(stream, SafeLoader)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\__init__.py", line 81, in load
return loader.get_single_data()
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\constructor.py", line 49, in get_single_data
node = self.get_single_node()
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 36, in get_single_node
document = self.compose_document()
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 55, in compose_document
node = self.compose_node(None, None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 127, in compose_mapping_node
while not self.check_event(MappingEndEvent):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\parser.py", line 98, in check_event
self.current_event = self.state()
^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\parser.py", line 438, in parse_block_mapping_key
raise ParserError("while parsing a block mapping", self.marks[-1],
yaml.parser.ParserError: while parsing a block mapping
in "./config.yml", line 128, column 3
expected <block end>, but found '<block sequence start>'
in "./config.yml", line 143, column 4
2024-09-06 18:27:03,263 __main__ (lichess-bot.py:1249) ERROR Quitting lichess-bot due to an error:
Traceback (most recent call last):
File "C:\Users\Microsoft\Downloads\lichess-bot-master (1)\lichess-bot-master\lichess-bot.py", line 1246, in <module>
start_lichess_bot()
File "C:\Users\Microsoft\Downloads\lichess-bot-master (1)\lichess-bot-master\lichess-bot.py", line 1182, in start_lichess_bot
CONFIG = load_config(args.config or "./config.yml")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\Downloads\lichess-bot-master (1)\lichess-bot-master\lib\config.py", line 394, in load_config
CONFIG = yaml.safe_load(stream)
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\__init__.py", line 125, in safe_load
return load(stream, SafeLoader)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\__init__.py", line 81, in load
return loader.get_single_data()
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\constructor.py", line 49, in get_single_data
node = self.get_single_node()
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 36, in get_single_node
document = self.compose_document()
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 55, in compose_document
node = self.compose_node(None, None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\composer.py", line 127, in compose_mapping_node
while not self.check_event(MappingEndEvent):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\parser.py", line 98, in check_event
self.current_event = self.state()
^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\yaml\parser.py", line 438, in parse_block_mapping_key
raise ParserError("while parsing a block mapping", self.marks[-1],
yaml.parser.ParserError: while parsing a block mapping
in "./config.yml", line 128, column 3
expected <block end>, but found '<block sequence start>'
in "./config.yml", line 143, column 4
Make sure your config.yml starts like this:
token: "TOKEN HERE" # (0 spaces before token)
url: "https://lichess.org/" # (0 spaces before url)
engine: # (0 spaces before engine)
dir: "./engines/" # (2 spaces before dir)
name: "engine.exe" # (2 spaces before name)
working_dir: "./engines/" # (2 spaces before working_dir)
Ok
Please I have upgraded the account to a bot account so should I still use python3 lichess-bot.py or python3 lichess-bot.py -v
It still doesn't work, I don't know why
Sir it almost work
This is the recent log
2024-09-08 18:24:50,040 __main__ (lichess-bot.py:1180) INFO
. _/|
. // o\
. || ._) lichess-bot 2024.9.7.1 on Windows 10
. //__\
. )___( Play on Lichess with a bot
2024-09-08 18:24:50,256 lib.config (config.py:259) DEBUG Config:
token: logger
url: https://lichess.org/
engine:
dir: ./engines/
name: vice-main.exe
working_dir: ''
protocol: uci
ponder: true
polyglot:
enabled: false
book:
standard:
- engines/book1.bin
- engines/book2.bin
min_weight: 1
selection: weighted_random
max_depth: 20
draw_or_resign:
resign_enabled: false
resign_score: -1000
resign_for_egtb_minus_two: true
resign_moves: 3
offer_draw_enabled: true
offer_draw_score: 0
offer_draw_for_egtb_zero: true
offer_draw_moves: 10
offer_draw_pieces: 10
online_moves:
max_out_of_book_moves: 10
max_retries: 2
chessdb_book:
enabled: false
min_time: 20
move_quality: good
min_depth: 20
lichess_cloud_analysis:
enabled: false
min_time: 20
move_quality: best
max_score_difference: 50
min_depth: 20
min_knodes: 0
lichess_opening_explorer:
enabled: false
min_time: 20
source: masters
player_name: ''
sort: winrate
min_games: 10
online_egtb:
enabled: false
min_time: 20
max_pieces: 7
source: lichess
move_quality: best
lichess_bot_tbs:
syzygy:
enabled: false
paths:
- engines/syzygy
max_pieces: 7
move_quality: best
gaviota:
enabled: false
paths:
- engines/gaviota
max_pieces: 5
min_dtm_to_consider_as_wdl_1: 120
move_quality: best
homemade_options: null
uci_options:
Move Overhead: 100
Threads: 4
Hash: 512
SyzygyPath: ./syzygy/
UCI_ShowWDL: true
silence_stderr: false
abort_time: 30
fake_think_time: false
rate_limiting_delay: 0
move_overhead: 2000
max_takebacks_accepted: 0
quit_after_all_games_finish: false
correspondence:
move_time: 60
checkin_period: 300
disconnect_time: 150
ponder: false
challenge:
concurrency: 1
sort_by: best
preference: none
accept_bot: true
only_bot: false
max_increment: 20
min_increment: 0
max_base: 1800
min_base: 0
max_days: 14
min_days: 1
variants:
- standard
time_controls:
- bullet
- blitz
- rapid
- classical
modes:
- casual
- rated
bullet_requires_increment: false
greeting:
hello: Hi! I'm {me}. Good luck! Type !help for a list of commands I can respond
to.
goodbye: Good game!
hello_spectators: Hi! I'm {me}. Type !help for a list of commands I can respond
to.
goodbye_spectators: Thanks for watching!
matchmaking:
allow_matchmaking: false
allow_during_games: false
challenge_variant: random
challenge_timeout: 30
challenge_initial_time:
- 60
- 180
challenge_increment:
- 1
- 2
opponent_rating_difference: 300
rating_preference: none
opponent_allow_tos_violation: false
challenge_mode: random
challenge_filter: none
include_challenge_block_list: false
2024-09-08 18:24:50,264 lib.config (config.py:260) DEBUG ====================
2024-09-08 18:24:50,291 lib.config (config.py:259) DEBUG Config:
token: logger
url: https://lichess.org/
engine:
dir: ./engines/
name: vice-main.exe
working_dir: C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master
protocol: uci
ponder: true
polyglot:
enabled: false
book:
standard:
- engines/book1.bin
- engines/book2.bin
min_weight: 1
selection: weighted_random
max_depth: 20
draw_or_resign:
resign_enabled: false
resign_score: -1000
resign_for_egtb_minus_two: true
resign_moves: 3
offer_draw_enabled: true
offer_draw_score: 0
offer_draw_for_egtb_zero: true
offer_draw_moves: 10
offer_draw_pieces: 10
online_moves:
max_out_of_book_moves: 10
max_retries: 2
chessdb_book:
enabled: false
min_time: 20
move_quality: good
min_depth: 20
lichess_cloud_analysis:
enabled: false
min_time: 20
move_quality: best
max_score_difference: 50
min_depth: 20
min_knodes: 0
lichess_opening_explorer:
enabled: false
min_time: 20
source: masters
player_name: ''
sort: winrate
min_games: 10
online_egtb:
enabled: false
min_time: 20
max_pieces: 7
source: lichess
move_quality: best
max_depth: .inf
lichess_bot_tbs:
syzygy:
enabled: false
paths:
- engines/syzygy
max_pieces: 7
move_quality: best
gaviota:
enabled: false
paths:
- engines/gaviota
max_pieces: 5
min_dtm_to_consider_as_wdl_1: 120
move_quality: best
homemade_options: null
uci_options:
Move Overhead: 100
Threads: 4
Hash: 512
SyzygyPath: ./syzygy/
UCI_ShowWDL: true
silence_stderr: false
uci_ponder: false
abort_time: 30
fake_think_time: false
rate_limiting_delay: 0
move_overhead: 2000
max_takebacks_accepted: 0
quit_after_all_games_finish: false
correspondence:
move_time: 60
checkin_period: 300
disconnect_time: 150
ponder: false
uci_ponder: false
challenge:
concurrency: 1
sort_by: best
preference: none
accept_bot: true
only_bot: false
max_increment: 20
min_increment: 0
max_base: 1800
min_base: 0
max_days: 14
min_days: 1
variants:
- standard
time_controls:
- bullet
- blitz
- rapid
- classical
modes:
- casual
- rated
bullet_requires_increment: false
block_list: []
allow_list: []
greeting:
hello: Hi! I'm {me}. Good luck! Type !help for a list of commands I can respond
to.
goodbye: Good game!
hello_spectators: Hi! I'm {me}. Type !help for a list of commands I can respond
to.
goodbye_spectators: Thanks for watching!
matchmaking:
allow_matchmaking: false
allow_during_games: false
challenge_variant: random
challenge_timeout: 30
challenge_initial_time:
- 60
- 180
challenge_increment:
- 1
- 2
opponent_rating_difference: 300
rating_preference: none
opponent_allow_tos_violation: false
challenge_mode: random
challenge_filter: none
include_challenge_block_list: false
block_list: []
challenge_days:
- null
opponent_min_rating: 600
opponent_max_rating: 4000
overrides: {}
pgn_directory: null
pgn_file_grouping: game
2024-09-08 18:24:50,291 lib.config (config.py:260) DEBUG ====================
2024-09-08 18:24:50,313 __main__ (lichess-bot.py:1249) ERROR Quitting lichess-bot due to an error:
Traceback (most recent call last):
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lichess-bot.py", line 1246, in <module>
start_lichess_bot()
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lichess-bot.py", line 1182, in start_lichess_bot
CONFIG = load_config(args.config or "./config.yml")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lib\config.py", line 406, in load_config
validate_config(CONFIG)
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lib\config.py", line 280, in validate_config
config_assert(os.path.isfile(engine) or CONFIG["engine"]["protocol"] == "homemade",
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lib\config.py", line 69, in config_assert
raise Exception(error_message)
Exception: The engine ./engines/vice-main.exe file does not exist.
Sir this is the recent log
2024-09-08 19:30:11,653 __main__ (lichess-bot.py:1180) INFO
. _/|
. // o\
. || ._) lichess-bot 2024.9.7.1 on Windows 10
. //__\
. )___( Play on Lichess with a bot
2024-09-08 19:30:11,815 lib.config (config.py:259) DEBUG Config:
token: logger
url: https://lichess.org/
engine:
dir: ./engines/
name: stockfish.exe
working_dir: ./engines/
protocol: uci
ponder: true
polyglot:
enabled: false
book:
standard:
- engines/book1.bin
- engines/book2.bin
min_weight: 1
selection: weighted_random
max_depth: 20
draw_or_resign:
resign_enabled: false
resign_score: -1000
resign_for_egtb_minus_two: true
resign_moves: 3
offer_draw_enabled: true
offer_draw_score: 0
offer_draw_for_egtb_zero: true
offer_draw_moves: 10
offer_draw_pieces: 10
online_moves:
max_out_of_book_moves: 10
max_retries: 2
chessdb_book:
enabled: false
min_time: 20
move_quality: good
min_depth: 20
lichess_cloud_analysis:
enabled: false
min_time: 20
move_quality: best
max_score_difference: 50
min_depth: 20
min_knodes: 0
lichess_opening_explorer:
enabled: false
min_time: 20
source: masters
player_name: ''
sort: winrate
min_games: 10
online_egtb:
enabled: false
min_time: 20
max_pieces: 7
source: lichess
move_quality: best
lichess_bot_tbs:
syzygy:
enabled: false
paths:
- engines/syzygy
max_pieces: 7
move_quality: best
gaviota:
enabled: false
paths:
- engines/gaviota
max_pieces: 5
min_dtm_to_consider_as_wdl_1: 120
move_quality: best
homemade_options: null
uci_options:
Move Overhead: 100
Threads: 4
Hash: 512
SyzygyPath: ./syzygy/
UCI_ShowWDL: true
silence_stderr: false
abort_time: 30
fake_think_time: false
rate_limiting_delay: 0
move_overhead: 2000
max_takebacks_accepted: 0
quit_after_all_games_finish: false
correspondence:
move_time: 60
checkin_period: 300
disconnect_time: 150
ponder: false
challenge:
concurrency: 1
sort_by: best
preference: none
accept_bot: true
only_bot: false
max_increment: 20
min_increment: 0
max_base: 1800
min_base: 0
max_days: 14
min_days: 1
variants:
- standard
time_controls:
- bullet
- blitz
- rapid
- classical
modes:
- casual
- rated
bullet_requires_increment: false
greeting:
hello: Hi! I'm {me}. Good luck! Type !help for a list of commands I can respond
to.
goodbye: Good game!
hello_spectators: Hi! I'm {me}. Type !help for a list of commands I can respond
to.
goodbye_spectators: Thanks for watching!
matchmaking:
allow_matchmaking: false
allow_during_games: false
challenge_variant: random
challenge_timeout: 30
challenge_initial_time:
- 60
- 180
challenge_increment:
- 1
- 2
opponent_rating_difference: 300
rating_preference: none
opponent_allow_tos_violation: false
challenge_mode: random
challenge_filter: none
include_challenge_block_list: false
2024-09-08 19:30:11,818 lib.config (config.py:260) DEBUG ====================
2024-09-08 19:30:11,843 lib.config (config.py:259) DEBUG Config:
token: logger
url: https://lichess.org/
engine:
dir: ./engines/
name: stockfish.exe
working_dir: ./engines/
protocol: uci
ponder: true
polyglot:
enabled: false
book:
standard:
- engines/book1.bin
- engines/book2.bin
min_weight: 1
selection: weighted_random
max_depth: 20
draw_or_resign:
resign_enabled: false
resign_score: -1000
resign_for_egtb_minus_two: true
resign_moves: 3
offer_draw_enabled: true
offer_draw_score: 0
offer_draw_for_egtb_zero: true
offer_draw_moves: 10
offer_draw_pieces: 10
online_moves:
max_out_of_book_moves: 10
max_retries: 2
chessdb_book:
enabled: false
min_time: 20
move_quality: good
min_depth: 20
lichess_cloud_analysis:
enabled: false
min_time: 20
move_quality: best
max_score_difference: 50
min_depth: 20
min_knodes: 0
lichess_opening_explorer:
enabled: false
min_time: 20
source: masters
player_name: ''
sort: winrate
min_games: 10
online_egtb:
enabled: false
min_time: 20
max_pieces: 7
source: lichess
move_quality: best
max_depth: .inf
lichess_bot_tbs:
syzygy:
enabled: false
paths:
- engines/syzygy
max_pieces: 7
move_quality: best
gaviota:
enabled: false
paths:
- engines/gaviota
max_pieces: 5
min_dtm_to_consider_as_wdl_1: 120
move_quality: best
homemade_options: null
uci_options:
Move Overhead: 100
Threads: 4
Hash: 512
SyzygyPath: ./syzygy/
UCI_ShowWDL: true
silence_stderr: false
uci_ponder: false
abort_time: 30
fake_think_time: false
rate_limiting_delay: 0
move_overhead: 2000
max_takebacks_accepted: 0
quit_after_all_games_finish: false
correspondence:
move_time: 60
checkin_period: 300
disconnect_time: 150
ponder: false
uci_ponder: false
challenge:
concurrency: 1
sort_by: best
preference: none
accept_bot: true
only_bot: false
max_increment: 20
min_increment: 0
max_base: 1800
min_base: 0
max_days: 14
min_days: 1
variants:
- standard
time_controls:
- bullet
- blitz
- rapid
- classical
modes:
- casual
- rated
bullet_requires_increment: false
block_list: []
allow_list: []
greeting:
hello: Hi! I'm {me}. Good luck! Type !help for a list of commands I can respond
to.
goodbye: Good game!
hello_spectators: Hi! I'm {me}. Type !help for a list of commands I can respond
to.
goodbye_spectators: Thanks for watching!
matchmaking:
allow_matchmaking: false
allow_during_games: false
challenge_variant: random
challenge_timeout: 30
challenge_initial_time:
- 60
- 180
challenge_increment:
- 1
- 2
opponent_rating_difference: 300
rating_preference: none
opponent_allow_tos_violation: false
challenge_mode: random
challenge_filter: none
include_challenge_block_list: false
block_list: []
challenge_days:
- null
opponent_min_rating: 600
opponent_max_rating: 4000
overrides: {}
pgn_directory: null
pgn_file_grouping: game
2024-09-08 19:30:11,844 lib.config (config.py:260) DEBUG ====================
2024-09-08 19:30:11,849 __main__ (lichess-bot.py:1183) INFO Checking engine configuration ...
2024-09-08 19:30:11,883 lib.engine_wrapper (engine_wrapper.py:65) DEBUG Starting engine: ['C:\\Users\\Microsoft\\Downloads\\lichess-bot-master\\lichess-bot-master\\engines\\stockfish.exe']
2024-09-08 19:30:11,885 asyncio (proactor_events.py:634) DEBUG Using proactor: IocpProactor
2024-09-08 19:30:11,947 chess.engine (engine.py:1040) DEBUG <UciProtocol (pid=20728)>: Connection made
2024-09-08 19:30:11,949 chess.engine (engine.py:1062) DEBUG <UciProtocol (pid=20728)>: << uci
2024-09-08 19:30:21,953 __main__ (lichess-bot.py:1249) ERROR Quitting lichess-bot due to an error:
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\asyncio\tasks.py", line 520, in wait_for
return await fut
^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\chess\engine.py", line 1510, in initialize
return await self.communicate(UciInitializeCommand)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\chess\engine.py", line 1133, in communicate
return await command.result
^^^^^^^^^^^^^^^^^^^^
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lichess-bot.py", line 1246, in <module>
start_lichess_bot()
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lichess-bot.py", line 1184, in start_lichess_bot
with engine_wrapper.create_engine(CONFIG):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lib\engine_wrapper.py", line 66, in create_engine
return Engine(commands, options, stderr, cfg.draw_or_resign, game, cwd=cfg.working_dir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lib\engine_wrapper.py", line 493, in __init__
self.engine = chess.engine.SimpleEngine.popen_uci(commands, timeout=10., debug=False, setpgrp=True, stderr=stderr,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\chess\engine.py", line 3054, in popen_uci
return cls.popen(UciProtocol, command, timeout=timeout, debug=debug, setpgrp=setpgrp, **popen_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\chess\engine.py", line 3046, in popen
return run_in_background(background, name=f"{cls.__name__} (command={command!r})", debug=debug)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\chess\engine.py", line 201, in run_in_background
return future.result()
^^^^^^^^^^^^^^^
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\concurrent\futures\_base.py", line 456, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\concurrent\futures\_base.py", line 401, in __get_result
raise self._exception
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\chess\engine.py", line 195, in background
asyncio.run(coroutine(future))
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\asyncio\runners.py", line 194, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\asyncio\base_events.py", line 687, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\chess\engine.py", line 3038, in background
await asyncio.wait_for(protocol.initialize(), timeout)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\asyncio\tasks.py", line 519, in wait_for
async with timeouts.timeout(timeout):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\asyncio\timeouts.py", line 115, in __aexit__
raise TimeoutError from exc_val
TimeoutError
Please I have a question
Do I have to upgrade the account to a bot account before I run the necessary programs?
You have to update your account to a bot account to play as a bot (which you can do by running python lichess-bot.py -u
) but that isn't what is causing the problem here.
Ok
Sir this is the recent log
2024-09-08 19:57:36,683 __main__ (lichess-bot.py:1180) INFO
. _/|
. // o\
. || ._) lichess-bot 2024.9.7.1 on Windows 10
. //__\
. )___( Play on Lichess with a bot
2024-09-08 19:57:36,793 lib.config (config.py:259) DEBUG Config:
token: logger
url: https://lichess.org/
engine:
dir: ./engines/
name: stockfish.exe
working_dir: ./engines/
protocol: uci
ponder: true
polyglot:
enabled: false
book:
standard:
- engines/book1.bin
- engines/book2.bin
min_weight: 1
selection: weighted_random
max_depth: 20
draw_or_resign:
resign_enabled: false
resign_score: -1000
resign_for_egtb_minus_two: true
resign_moves: 3
offer_draw_enabled: true
offer_draw_score: 0
offer_draw_for_egtb_zero: true
offer_draw_moves: 10
offer_draw_pieces: 10
online_moves:
max_out_of_book_moves: 10
max_retries: 2
chessdb_book:
enabled: false
min_time: 20
move_quality: good
min_depth: 20
lichess_cloud_analysis:
enabled: false
min_time: 20
move_quality: best
max_score_difference: 50
min_depth: 20
min_knodes: 0
lichess_opening_explorer:
enabled: false
min_time: 20
source: masters
player_name: ''
sort: winrate
min_games: 10
online_egtb:
enabled: false
min_time: 20
max_pieces: 7
source: lichess
move_quality: best
lichess_bot_tbs:
syzygy:
enabled: false
paths:
- engines/syzygy
max_pieces: 7
move_quality: best
gaviota:
enabled: false
paths:
- engines/gaviota
max_pieces: 5
min_dtm_to_consider_as_wdl_1: 120
move_quality: best
homemade_options: null
uci_options:
Move Overhead: 100
Threads: 4
SyzygyPath: ./syzygy/
UCI_ShowWDL: true
silence_stderr: false
abort_time: 30
fake_think_time: false
rate_limiting_delay: 0
move_overhead: 2000
max_takebacks_accepted: 0
quit_after_all_games_finish: false
correspondence:
move_time: 60
checkin_period: 300
disconnect_time: 150
ponder: false
challenge:
concurrency: 1
sort_by: best
preference: none
accept_bot: true
only_bot: false
max_increment: 20
min_increment: 0
max_base: 1800
min_base: 0
max_days: 14
min_days: 1
variants:
- standard
- fromPosition
time_controls:
- bullet
- blitz
- rapid
- classical
modes:
- rated
bullet_requires_increment: false
greeting:
hello: Hi! I'm {me}. Good luck! Type !help for a list of commands I can respond
to.
goodbye: Good game!
hello_spectators: Hi! I'm {me}. Type !help for a list of commands I can respond
to.
goodbye_spectators: Thanks for watching!
matchmaking:
allow_matchmaking: false
allow_during_games: false
challenge_variant: random
challenge_timeout: 30
challenge_initial_time:
- 60
- 180
challenge_increment:
- 1
- 2
opponent_rating_difference: 300
rating_preference: none
opponent_allow_tos_violation: false
challenge_mode: random
challenge_filter: none
include_challenge_block_list: false
2024-09-08 19:57:36,811 lib.config (config.py:260) DEBUG ====================
2024-09-08 19:57:36,835 lib.config (config.py:259) DEBUG Config:
token: logger
url: https://lichess.org/
engine:
dir: ./engines/
name: stockfish.exe
working_dir: ./engines/
protocol: uci
ponder: true
polyglot:
enabled: false
book:
standard:
- engines/book1.bin
- engines/book2.bin
min_weight: 1
selection: weighted_random
max_depth: 20
draw_or_resign:
resign_enabled: false
resign_score: -1000
resign_for_egtb_minus_two: true
resign_moves: 3
offer_draw_enabled: true
offer_draw_score: 0
offer_draw_for_egtb_zero: true
offer_draw_moves: 10
offer_draw_pieces: 10
online_moves:
max_out_of_book_moves: 10
max_retries: 2
chessdb_book:
enabled: false
min_time: 20
move_quality: good
min_depth: 20
lichess_cloud_analysis:
enabled: false
min_time: 20
move_quality: best
max_score_difference: 50
min_depth: 20
min_knodes: 0
lichess_opening_explorer:
enabled: false
min_time: 20
source: masters
player_name: ''
sort: winrate
min_games: 10
online_egtb:
enabled: false
min_time: 20
max_pieces: 7
source: lichess
move_quality: best
max_depth: .inf
lichess_bot_tbs:
syzygy:
enabled: false
paths:
- engines/syzygy
max_pieces: 7
move_quality: best
gaviota:
enabled: false
paths:
- engines/gaviota
max_pieces: 5
min_dtm_to_consider_as_wdl_1: 120
move_quality: best
homemade_options: null
uci_options:
Move Overhead: 100
Threads: 4
SyzygyPath: ./syzygy/
UCI_ShowWDL: true
silence_stderr: false
uci_ponder: false
abort_time: 30
fake_think_time: false
rate_limiting_delay: 0
move_overhead: 2000
max_takebacks_accepted: 0
quit_after_all_games_finish: false
correspondence:
move_time: 60
checkin_period: 300
disconnect_time: 150
ponder: false
uci_ponder: false
challenge:
concurrency: 1
sort_by: best
preference: none
accept_bot: true
only_bot: false
max_increment: 20
min_increment: 0
max_base: 1800
min_base: 0
max_days: 14
min_days: 1
variants:
- standard
- fromPosition
time_controls:
- bullet
- blitz
- rapid
- classical
modes:
- rated
bullet_requires_increment: false
block_list: []
allow_list: []
greeting:
hello: Hi! I'm {me}. Good luck! Type !help for a list of commands I can respond
to.
goodbye: Good game!
hello_spectators: Hi! I'm {me}. Type !help for a list of commands I can respond
to.
goodbye_spectators: Thanks for watching!
matchmaking:
allow_matchmaking: false
allow_during_games: false
challenge_variant: random
challenge_timeout: 30
challenge_initial_time:
- 60
- 180
challenge_increment:
- 1
- 2
opponent_rating_difference: 300
rating_preference: none
opponent_allow_tos_violation: false
challenge_mode: random
challenge_filter: none
include_challenge_block_list: false
block_list: []
challenge_days:
- null
opponent_min_rating: 600
opponent_max_rating: 4000
overrides: {}
pgn_directory: null
pgn_file_grouping: game
2024-09-08 19:57:36,835 lib.config (config.py:260) DEBUG ====================
2024-09-08 19:57:36,835 __main__ (lichess-bot.py:1183) INFO Checking engine configuration ...
2024-09-08 19:57:36,851 lib.engine_wrapper (engine_wrapper.py:65) DEBUG Starting engine: ['C:\\Users\\Microsoft\\Downloads\\lichess-bot-master\\lichess-bot-master\\engines\\stockfish.exe']
2024-09-08 19:57:36,851 asyncio (proactor_events.py:634) DEBUG Using proactor: IocpProactor
2024-09-08 19:57:36,898 chess.engine (engine.py:1040) DEBUG <UciProtocol (pid=5800)>: Connection made
2024-09-08 19:57:36,898 chess.engine (engine.py:1062) DEBUG <UciProtocol (pid=5800)>: << uci
2024-09-08 19:57:41,208 chess.engine (engine.py:1059) DEBUG <UciProtocol (pid=5800)>: Process exited
2024-09-08 19:57:41,208 chess.engine (engine.py:1046) DEBUG <UciProtocol (pid=5800)>: Connection lost (exit code: 3221225501, error: None)
2024-09-08 19:57:41,213 __main__ (lichess-bot.py:1249) ERROR Quitting lichess-bot due to an error:
Traceback (most recent call last):
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lichess-bot.py", line 1246, in <module>
start_lichess_bot()
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lichess-bot.py", line 1184, in start_lichess_bot
with engine_wrapper.create_engine(CONFIG):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lib\engine_wrapper.py", line 66, in create_engine
return Engine(commands, options, stderr, cfg.draw_or_resign, game, cwd=cfg.working_dir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lib\engine_wrapper.py", line 493, in __init__
self.engine = chess.engine.SimpleEngine.popen_uci(commands, timeout=10., debug=False, setpgrp=True, stderr=stderr,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\chess\engine.py", line 3054, in popen_uci
return cls.popen(UciProtocol, command, timeout=timeout, debug=debug, setpgrp=setpgrp, **popen_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\chess\engine.py", line 3046, in popen
return run_in_background(background, name=f"{cls.__name__} (command={command!r})", debug=debug)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\chess\engine.py", line 201, in run_in_background
return future.result()
^^^^^^^^^^^^^^^
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\concurrent\futures\_base.py", line 456, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\concurrent\futures\_base.py", line 401, in __get_result
raise self._exception
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\chess\engine.py", line 195, in background
asyncio.run(coroutine(future))
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\asyncio\runners.py", line 194, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\asyncio\base_events.py", line 687, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\chess\engine.py", line 3038, in background
await asyncio.wait_for(protocol.initialize(), timeout)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\Lib\asyncio\tasks.py", line 520, in wait_for
return await fut
^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\chess\engine.py", line 1510, in initialize
return await self.communicate(UciInitializeCommand)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\chess\engine.py", line 1133, in communicate
return await command.result
^^^^^^^^^^^^^^^^^^^^
chess.engine.EngineTerminatedError: engine process died unexpectedly (exit code: 3221225501, binary not compatible with cpu?)
You have to update your account to a bot account to play as a bot (which you can do by running
python lichess-bot.py -u
) but that isn't what is causing the problem here.
So sir does that mean that if I use curl -d '' https://lichess.org/api/bot/account/upgrade -H "Authorization: Bearer
So sir please what do I need to do I need help
Please how do I run an engine that I made
Which settings do I have to change
And should I still use engine_name.exe or just the engine name
Sir this is the recent log after I made some adjustments in the config.yml
2024-09-08 21:33:36,532 __main__ (lichess-bot.py:1180) INFO
. _/|
. // o\
. || ._) lichess-bot 2024.9.7.1 on Windows 10
. //__\
. )___( Play on Lichess with a bot
2024-09-08 21:33:36,641 lib.config (config.py:259) DEBUG Config:
token: logger
url: https://lichess.org/
engine:
dir: ./engines/vice-main
name: vice.c
working_dir: ./engines/
protocol: uci
ponder: true
polyglot:
enabled: false
book:
standard:
- engines/book1.bin
- engines/book2.bin
min_weight: 1
selection: weighted_random
max_depth: 20
draw_or_resign:
resign_enabled: false
resign_score: -1000
resign_for_egtb_minus_two: true
resign_moves: 3
offer_draw_enabled: true
offer_draw_score: 0
offer_draw_for_egtb_zero: true
offer_draw_moves: 10
offer_draw_pieces: 10
online_moves:
max_out_of_book_moves: 10
max_retries: 2
chessdb_book:
enabled: false
min_time: 20
move_quality: good
min_depth: 20
lichess_cloud_analysis:
enabled: false
min_time: 20
move_quality: best
max_score_difference: 50
min_depth: 20
min_knodes: 0
lichess_opening_explorer:
enabled: false
min_time: 20
source: masters
player_name: ''
sort: winrate
min_games: 10
online_egtb:
enabled: false
min_time: 20
max_pieces: 7
source: lichess
move_quality: best
lichess_bot_tbs:
syzygy:
enabled: false
paths:
- engines/syzygy
max_pieces: 7
move_quality: best
gaviota:
enabled: false
paths:
- engines/gaviota
max_pieces: 5
min_dtm_to_consider_as_wdl_1: 120
move_quality: best
homemade_options: null
uci_options:
Move Overhead: 100
Threads: 4
SyzygyPath: ./syzygy/
UCI_ShowWDL: true
silence_stderr: false
abort_time: 30
fake_think_time: false
rate_limiting_delay: 0
move_overhead: 2000
max_takebacks_accepted: 0
quit_after_all_games_finish: false
correspondence:
move_time: 60
checkin_period: 300
disconnect_time: 150
ponder: false
challenge:
concurrency: 1
sort_by: best
preference: none
accept_bot: true
only_bot: false
max_increment: 20
min_increment: 0
max_base: 1800
min_base: 0
max_days: 14
min_days: 1
variants:
- standard
- fromPosition
time_controls:
- bullet
- blitz
modes:
- rated
bullet_requires_increment: false
greeting:
hello: Hi! I'm {me}. Good luck! Type !help for a list of commands I can respond
to.
goodbye: Good game!
hello_spectators: Hi! I'm {me}. Type !help for a list of commands I can respond
to.
goodbye_spectators: Thanks for watching!
matchmaking:
allow_matchmaking: true
allow_during_games: false
challenge_variant: random
challenge_timeout: 30
challenge_initial_time:
- 60
- 180
challenge_increment:
- 1
- 2
opponent_rating_difference: 300
rating_preference: none
opponent_allow_tos_violation: false
challenge_mode: random
challenge_filter: none
include_challenge_block_list: false
2024-09-08 21:33:36,642 lib.config (config.py:260) DEBUG ====================
2024-09-08 21:33:36,664 lib.config (config.py:259) DEBUG Config:
token: logger
url: https://lichess.org/
engine:
dir: ./engines/vice-main
name: vice.c
working_dir: ./engines/
protocol: uci
ponder: true
polyglot:
enabled: false
book:
standard:
- engines/book1.bin
- engines/book2.bin
min_weight: 1
selection: weighted_random
max_depth: 20
draw_or_resign:
resign_enabled: false
resign_score: -1000
resign_for_egtb_minus_two: true
resign_moves: 3
offer_draw_enabled: true
offer_draw_score: 0
offer_draw_for_egtb_zero: true
offer_draw_moves: 10
offer_draw_pieces: 10
online_moves:
max_out_of_book_moves: 10
max_retries: 2
chessdb_book:
enabled: false
min_time: 20
move_quality: good
min_depth: 20
lichess_cloud_analysis:
enabled: false
min_time: 20
move_quality: best
max_score_difference: 50
min_depth: 20
min_knodes: 0
lichess_opening_explorer:
enabled: false
min_time: 20
source: masters
player_name: ''
sort: winrate
min_games: 10
online_egtb:
enabled: false
min_time: 20
max_pieces: 7
source: lichess
move_quality: best
max_depth: .inf
lichess_bot_tbs:
syzygy:
enabled: false
paths:
- engines/syzygy
max_pieces: 7
move_quality: best
gaviota:
enabled: false
paths:
- engines/gaviota
max_pieces: 5
min_dtm_to_consider_as_wdl_1: 120
move_quality: best
homemade_options: null
uci_options:
Move Overhead: 100
Threads: 4
SyzygyPath: ./syzygy/
UCI_ShowWDL: true
silence_stderr: false
uci_ponder: false
abort_time: 30
fake_think_time: false
rate_limiting_delay: 0
move_overhead: 2000
max_takebacks_accepted: 0
quit_after_all_games_finish: false
correspondence:
move_time: 60
checkin_period: 300
disconnect_time: 150
ponder: false
uci_ponder: false
challenge:
concurrency: 1
sort_by: best
preference: none
accept_bot: true
only_bot: false
max_increment: 20
min_increment: 0
max_base: 1800
min_base: 0
max_days: 14
min_days: 1
variants:
- standard
- fromPosition
time_controls:
- bullet
- blitz
modes:
- rated
bullet_requires_increment: false
block_list: []
allow_list: []
greeting:
hello: Hi! I'm {me}. Good luck! Type !help for a list of commands I can respond
to.
goodbye: Good game!
hello_spectators: Hi! I'm {me}. Type !help for a list of commands I can respond
to.
goodbye_spectators: Thanks for watching!
matchmaking:
allow_matchmaking: true
allow_during_games: false
challenge_variant: random
challenge_timeout: 30
challenge_initial_time:
- 60
- 180
challenge_increment:
- 1
- 2
opponent_rating_difference: 300
rating_preference: none
opponent_allow_tos_violation: false
challenge_mode: random
challenge_filter: none
include_challenge_block_list: false
block_list: []
challenge_days:
- null
opponent_min_rating: 600
opponent_max_rating: 4000
overrides: {}
pgn_directory: null
pgn_file_grouping: game
2024-09-08 21:33:36,664 lib.config (config.py:260) DEBUG ====================
2024-09-08 21:33:36,665 __main__ (lichess-bot.py:1249) ERROR Quitting lichess-bot due to an error:
Traceback (most recent call last):
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lichess-bot.py", line 1246, in <module>
start_lichess_bot()
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lichess-bot.py", line 1182, in start_lichess_bot
CONFIG = load_config(args.config or "./config.yml")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lib\config.py", line 406, in load_config
validate_config(CONFIG)
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lib\config.py", line 280, in validate_config
config_assert(os.path.isfile(engine) or CONFIG["engine"]["protocol"] == "homemade",
File "C:\Users\Microsoft\Downloads\lichess-bot-master\lichess-bot-master\lib\config.py", line 69, in config_assert
raise Exception(error_message)
Exception: The engine ./engines/vice-main\vice.c file does not exist.
Please I want to run my lichess bot with my own engine, please how do I do it
But please I am creating an engine in python, though I am not done yet but how do I execute it
And please could you recommend an engine that I can use
I am using this repository https://github.com/dereckpiche/chess_bot
And please could you recommend an engine that I can use
I would recommend any UCI/XBoard engine since they are simple to use. Probably not Stockfish though since it is very common. See here for a list of engines you can use (ignore the top 3 engines, you could for example use PlentyChess).
I am using this repository https://github.com/dereckpiche/chess_bot
The easiest way would be to take the file ChessEngine.py
and turn it into a homemade engine. See here for instructions on how to do that.
And please could you recommend an engine that I can use
I would recommend any UCI/XBoard engine since they are simple to use. Probably not Stockfish though since it is very common. See here for a list of engines you can use (ignore the top 3 engines, you could for example use PlentyChess).
I am using this repository https://github.com/dereckpiche/chess_bot
The easiest way would be to take the file
ChessEngine.py
and turn it into a homemade engine. See here for instructions on how to do that.
Thank you. Please is Plentychess free
PlentyChess is free. You can find windows binaries here.
PlentyChess is free. You can find windows binaries here.
Thank you but for some reason I can't download it
@pGOD1000 Feel free to reopen if you need more help with this issue.
The python code in my cmd(Command Prompt) says that the python code is wrong
I think there must be something wrong with the python code.