0

I wish to play chess with chess.el on a FICS server using M-x chess-ics but using that logs me as a guest player. How can I login with my registered user/password?

EDIT

I've come with a way to login. At the beginning of chess-ics.el comes a list of servers, I can edit it and add my username (or handle) in front of "freechess.org" 5000 as a new arg for connection. Then M-x chess-isc will ask me my password and that's it. (I have to use set seek 1 when already logged in to get the extra seek buffer, and set availinfo 0 to stop the annoying noise on the freechess buffer).

Anyway, now my issue is this, I don't like editing the chess-ics.el file to tell that I want to log in as my username. How can I tell M-x chess-ics that I want to use my username for connection? I've tried C-u M-x chess-ics but it seems the chess-ics.el script doesn't support that.

I am guessing I need to make some custom command or something (sorry for the newbie language here) so that I can call not the default (chess-ics) but the (chess-ics my-username) which in turns calls what I want. Am I right? So I need to defun something and overwrite the default M-x chess-ics to call my new function. Is that it? What would be the correct syntax to do this. I'm really pretty new on hacking emacs lisp :(

2

From a quick scan of chess-ics.el (I've not used it myself so haven't verified this) it looks as though you ought to be able to configure chess-ics-server-list to include a handle and password on a per server basis, or you should be able to set chess-ics-handle and chess-ics-password from your init file.

2
  • thanks a lot, I've been playing around with this and now found a certain way to do this. Editing the question to reflect my current issue Apr 3 '17 at 18:51
  • 1
    You shouldn't need to edit chess-ics.el at all. chess-ics-server-list just needs to be updated to include handle and if necessary password. You should be able to do this either through the customize interface or by modifying your Emacs init file. I looked at Customize -> Applications -> Games -> Chess but couldn't see how to configure it there (you might be more lucky though). If you want to set it in your init file then you should just need to add something like (setq chess-ics-server-list '(("freechess.org" 5000 "myhandle" "mypassword) ("chess.unix-ag.uni-kl.de" 5000) etc.)).
    – stevoooo
    Apr 3 '17 at 19:51
1

Well, got it, I made this and setted it up on my init scripts:

;; Chess ICS
(defun playchess ()
  (interactive)
  (setq username (read-string "Username: "))
  (if (string= username "guest")
      (chess-ics "freechess.org" 5000 username)
    (setq pass (read-passwd "Password: "))
    (chess-ics "freechess.org" 5000 username pass)
    )
  )
(provide 'playchess)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.