GithubHelp home page GithubHelp logo

Comments (5)

Torom avatar Torom commented on June 2, 2024 1

The problem is the incorrectly indented blacklist. The entire block is indented two spaces too far.
Also, this is not how you define a blacklist. Just write the usernames.
Your config should look like this:

# whitelist:                              # List of users whose challenges are always accepted.
#   - Username1
#   - Username2

blacklist:                              # List of users who are not challenged and whose challenges are declined.
  - caissa-ai
  - caissa-x
  - ResoluteBot
  - Africaata
  - M-Z_Bot
  - Findel64
  - compchess60

books:                                    # Names of the opening books (to be used above in the opening_books section) and paths to the opening books.
  Book1.bin: "Book1.bin"
  Book2.bin: "Book2.bin"
  Book3.bin: "Book3.bin"
  Book4.bin: "Book4.bin"

from botli.

Torom avatar Torom commented on June 2, 2024

sigh

Please post your config after removing your token.

from botli.

Torom avatar Torom commented on June 2, 2024

2ab3ab2 gives clearer information on how you messed up your config

from botli.

FatFritz2 avatar FatFritz2 commented on June 2, 2024

sigh

Please post your config after removing your token.


token: "token"         # Lichess OAuth2 Token.

engines:
  standard:                               # Engine used for standard chess and when no suitable special engine is configured.
    dir: "./engines"                      # Directory containing the engine.
    name: "INCOGNITO 5 PRO-bmi2.exe"      # Binary name of the engine to use.
    ponder: true                          # Think on opponent's time.
    use_syzygy: true                      # Whether the engine should be configured to use syzygy.
    silence_stderr: true                  # Suppresses stderr output.
    uci_options:                          # Arbitrary UCI options passed to the engine. (Commenting allowed)
      Threads: 4                          # Max CPU threads the engine can use.
      Hash: 1024                          # Max memory (in megabytes) the engine can allocate.
      Move Overhead: 2000                 # Increase if your bot flags games too often.
      Ponder: true
      MultiPV: 1
      Slow Mover: 105
      Materialistic Evaluation Strategy : -50
      Positional Evaluation Strategy: 96
      Random Op. MultiPV: 2
# variants:                               # Engine used for variants when no suitable special engine is configured.
#   dir: "./engines"                      # Directory containing the engine.
#   name: "fairy-stockfish"               # Binary name of the engine to use.
#   ponder: true                          # Think on opponent's time.
#   use_syzygy: false                     # Whether the engine should be configured to use syzygy.
#   silence_stderr: false                 # Suppresses stderr output.
#   uci_options:                          # Arbitrary UCI options passed to the engine. (Commenting allowed)
#     Threads: 4                          # Max CPU threads the engine can use.
#     Hash: 256                           # Max memory (in megabytes) the engine can allocate.
#     Move Overhead: 100                  # Increase if your bot flags games too often.
# Use the same pattern for 'bullet', 'blitz', 'rapid', 'classical',
# 'antichess', 'atomic', 'chess960', 'crazyhouse', 'horde', 'kingofthehill', 'racingkings' and '3check' as well.
# Append '_white' or '_black' to use the engine only as the specific color.

syzygy:
  enabled: false                          # Activate local syzygy endgame tablebases.
  paths:                                  # Paths to local syzygy endgame tablebases.
    - "/path/to/syzygy"
  max_pieces: 6                           # Count of max pieces in the local syzygy endgame tablebases.
  instant_play: true                      # Whether the bot should play directly from syzygy without engine if possible.

gaviota:
  enabled: false                          # Activate local gaviota endgame tablebases.
  paths:                                  # Paths to local gaviota endgame tablebases.
    - "/path/to/gaviota"
  max_pieces: 5                           # Count of max pieces in the local gaviota endgame tablebases.

opening_books:
  enabled: true                           # Activate opening books.
  priority: 400                           # Priority with which this move source is used. Higher priority is used first.
  books:
#   bullet:
#     selection: weighted_random          # Move selection is one of "weighted_random", "uniform_random" or "best_move".
#     names:                              # List of names of books to use in bullet.
#       - BulletBook
#       - DefaultBook
#   standard_black:
#     selection: best_move                # Move selection is one of "weighted_random", "uniform_random" or "best_move".
#     names:                              # List of names of books to use as black.
#       - BlackBook
    standard:
      selection: best_move                # Move selection is one of "weighted_random", "uniform_random" or "best_move".
      max_depth: 130                      # Half move max depth. (Comment this line for max depth)
      names:                              # List of names of books to use if there is no specific book for the time control, white, black or chess960.
        - "Book3.bin"
        - "Book4.bin"
        - "Book2.bin"
        - "Book1.bin"
#   Use the same pattern for 'bullet', 'blitz', 'rapid', 'classical',
#   'antichess', 'atomic', 'chess960', 'crazyhouse', 'horde', 'kingofthehill', 'racingkings' and '3check' as well.
#   Append '_white' or '_black' to use the books only as the specific color.

online_moves:
  opening_explorer:
    enabled: true                         # Activate online moves from Lichess opening explorer. The move that has performed best for this bot is played.
    priority: 300                         # Priority with which this move source is used. Higher priority is used first.
    use_for_variants: false               # Whether the Lichess opening explorer should be used for other variants than standard and chess960.
    min_time: 20                          # Time the bot must have at least to use the online move.
    timeout: 5                            # Time the server has to respond.
    min_games: 5                          # Minimum number of games in which the position must have occurred.
    only_with_wins: false                 # Whether to play only moves that have won before.
    selection: "performance"              # Move selection is "performance" or "win_rate".
    anti: false                           # Whether to play the moves in which the opponent performs the worst.
#   max_depth: 16                         # Half move max depth. (Comment this line for max depth)
#   max_moves: 1                          # Max number of moves played from Lichess opening explorer. (Comment this line for max moves)
  lichess_cloud:
    enabled: false                        # Activate online moves from Lichess cloud eval.
    priority: 200                         # Priority with which this move source is used. Higher priority is used first.
    only_without_book: false              # Whether the cloud should only be used if there is no matching book.
    min_eval_depth: 10                    # Minimum evaluation depth.
    min_time: 20                          # Time the bot must have at least to use the online move.
    timeout: 5                            # Time the server has to respond.
#   max_depth: 16                         # Half move max depth. (Comment this line for max depth)
#   max_moves: 1                          # Max number of moves played from Lichess cloud eval. (Comment this line for max moves)
  chessdb:
    enabled: true                         # Activate online moves from https://chessdb.cn/queryc_en/
    priority: 300                         # Priority with which this move source is used. Higher priority is used first.
    min_eval_depth: 10                    # Minimum evaluation depth.
    min_time: 20                          # Time the bot must have at least to use the online move.
    timeout: 5                            # Time the server has to respond.
#   max_depth: 16                         # Half move max depth. (Comment this line for max depth)
#   max_moves: 1                          # Max number of moves played from chessdb. (Comment this line for max moves)
  online_egtb:
    enabled: true                         # Activate online endgame tablebases from Lichess.
    min_time: 10                          # Time the bot must have at least to use the online move.
    timeout: 3                            # Time the server has to respond.

offer_draw:
  enabled: true                           # Activate whether the bot should offer draw.
  score: 10                               # If the absolute value of the score is less than or equal to this value, the bot offers/accepts draw (in cp)
  consecutive_moves: 10                   # How many moves in a row the absolute value of the score has to be below the draw value
  min_game_length: 35                     # Earliest move in which draw is offered.

resign:
  enabled: true                           # Activate whether the bot should resign games.
  score: -1000                            # If the score is less than or equal to this value, the bot resigns (in cp).
  consecutive_moves: 10                   # How many moves in a row the score has to be below the resign value.

move_overhead_multiplier: 1.4             # Increase if your bot flags games too often. Default move overhead is 1 second per 1 minute initital time.

challenge:                                # Incoming challenges. (Commenting allowed)
  concurrency: 1                          # Number of games to play simultaneously.
  bullet_with_increment_only: true        # Whether bullet games against BOTs should only be accepted with increment.
  min_increment: 1                        # Minimum amount of increment to accept a challenge.
# max_increment: 5                        # Maximum amount of increment to accept a challenge.
# min_initial: 0                          # Minimum amount of initial time to accept a challenge.
# max_initial: 1800                       # Maximum amount of initial time to accept a challenge.
  variants:                               # Chess variants to accept (https://lichess.org/variant).
    - standard
    - chess960
#   - fromPosition
#   - antichess
#   - atomic
#   - crazyhouse
#   - horde
#   - kingOfTheHill
#   - racingKings
#   - threeCheck
  time_controls:                          # Speeds or time controls in initial_minutes+increment_seconds format to accept.
    - bullet
    - blitz
    - rapid
    - classical
#   - 25+0
  bot_modes:                              # Game modes to accept against BOTs.
#   - casual                              # Unrated games.
    - rated                               # Rated games
  human_modes:                            # Game modes to accept against humans.
    - casual                              # Unrated games.
    - rated                               # Rated games

matchmaking:
  delay: 10                               # Time in seconds the bot must be idle before a new challenge is started.
  timeout: 30                             # Time until a challenge is canceled.
  types:                                  # Matchmaking types of which one is randomly selected before each game.
    bullet:                               # Arbitrary name of the matchmaking type. Names must be unique.
      tc: 2+1                             # Time control in initial_minutes+increment_seconds format.
      rated: true                         # Whether matchmaking should play rated games.
      variant: standard                   # Chess variant (https://lichess.org/variant) to challenge.
      weight: 30                          # Weight with which this type is selected. (Default: 100)
      multiplier: 30                      # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.
    blitz:                                # Arbitrary name of the matchmaking type. Names must be unique.
      tc: 3+2                             # Time control in initial_minutes+increment_seconds format.
      rated: true                         # Whether matchmaking should play rated games.
      variant: standard                   # Chess variant (https://lichess.org/variant) to challenge.
      weight: 40                          # Weight with which this type is selected. (Default: 100)
      multiplier: 45                      # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.
    blitz02:                              # Arbitrary name of the matchmaking type. Names must be unique.
      tc: 5+3                             # Time control in initial_minutes+increment_seconds format.
      rated: true                         # Whether matchmaking should play rated games.
      variant: standard                   # Chess variant (https://lichess.org/variant) to challenge.
      weight: 35                          # Weight with which this type is selected. (Default: 100)
      multiplier: 40                      # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.
    rapid:                                # Arbitrary name of the matchmaking type. Names must be unique.
      tc: 10+2                            # Time control in initial_minutes+increment_seconds format.
      rated: true                         # Whether matchmaking should play rated games.
      variant: standard                   # Chess variant (https://lichess.org/variant) to challenge.
      weight: 35                          # Weight with which this type is selected. (Default: 100)
      multiplier: 45                      # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.      
    classical:                            # Arbitrary name of the matchmaking type. Names must be unique.
      tc: 25+0                            # Time control in initial_minutes+increment_seconds format.
      rated: true                         # Whether matchmaking should play rated games.
      variant: standard                   # Chess variant (https://lichess.org/variant) to challenge.
      weight: 30                          # Weight with which this type is selected. (Default: 100)
      multiplier: 45                 

messages:
  # Optional substitution keywords (include curly braces):
  #   {opponent} to insert the opponent's name
  #   {me} to insert our name
  #   {engine} to insert engine name
  #   {cpu} to insert CPU information
  #   {ram} to insert RAM size
  # Any other words in curly braces will be removed.
  greeting: "Hey, I'm running {engine}. Good luck! Type !help for a list of commands." # Message sent to the opponent at the beginning of a game.
  goodbye: "Good game, see you next time."                                             # Message sent to the opponent after the end of a game.
  greeting_spectators: "Hey, I'm running {engine}. Type !help for a list of commands." # Message sent to the spectators at the beginning of a game.
  goodbye_spectators: "Thanks for watching."                                           # Message sent to the spectators after the end of a game.

# whitelist:                              # List of users whose challenges are always accepted.
#   - Username1
#   - Username2

  blacklist:                              # List of users who are not challenged and whose challenges are declined.
    - https://lichess.org/@/caissa-ai
    - https://lichess.org/@/caissa-x
    - https://lichess.org/@/ResoluteBot
    - https://lichess.org/@/Africaata
    - https://lichess.org/@/M-Z_Bot
    - https://lichess.org/@/Findel64
    - https://lichess.org/@/compchess60

books:                                    # Names of the opening books (to be used above in the opening_books section) and paths to the opening books.
  Book1.bin: "Book1.bin"
  Book2.bin: "Book2.bin"
  Book3.bin: "Book3.bin"
  Book4.bin: "Book4.bin"

from botli.

FatFritz2 avatar FatFritz2 commented on June 2, 2024

2ab3ab2 gives clearer information on how you messed up your config

It keeps erroring like this

Traceback (most recent call last):
  File "C:\Users\Amazon\Downloads\BotLi-main\user_interface.py", line 337, in <module>
    ui = UserInterface(args.config, args.matchmaking, args.upgrade)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Amazon\Downloads\BotLi-main\user_interface.py", line 43, in __init__
    self.config = load_config(config_path)
                  ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Amazon\Downloads\BotLi-main\config.py", line 29, in load_config
    _check_messages(config['messages'])
  File "C:\Users\Amazon\Downloads\BotLi-main\config.py", line 221, in _check_messages
    if message.strip() == '!printeval':
       ^^^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'strip'

from botli.

Related Issues (20)

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.