freeeve / uci

a UCI (Universal Chess Interface) API for golang
MIT License
48 stars 22 forks source link

Ability to Send Arbitrary Commands #9

Open tmountain opened 3 years ago

tmountain commented 3 years ago

Hi,

Some UCI engines will not function properly until they receive the initial "uci" command. Additionally, there are a number of commands that would potentially be useful in various scenarios such as: debug, register, isready, etc.

If you don't feel like implementing all of these manually, you can solve the general issue by providing a way to send arbitrary commands to eng.stdin.WriteStr in a similar way to how you provided an interface for SendOption.

Please consider this request, as I'm building a terminal chess client using your library, and it's currently unable to communicate with some chess programs (i.e., superpawn) because of the aforementioned limitations. Thanks!

freeeve commented 3 years ago

Sounds reasonable to me.

On Tue, Dec 1, 2020 at 5:27 PM Travis Whitton notifications@github.com wrote:

Hi,

Some UCI engines will not function properly until they receive the initial "uci" command. Additionally, there are a number of commands that would potentially be useful in various scenarios such as: debug, register, isready, etc.

If you don't feel like implementing all of these manually, you can solve the general issue by providing a way to send arbitrary commands to eng.stdin.WriteStr in a similar way to how you provided an interface for SendOption.

Please consider this request, as I'm building a terminal chess client using your library, and it's currently unable to communicate with some chess programs (i.e., superpawn) because of the aforementioned limitations. Thanks!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/freeeve/uci/issues/9, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGXPADYCTCA2FQPPV3NOGLSSVUUPANCNFSM4UJUP5OA .