Chat shortcuts

I added the following shortcuts to Chat and GameChat. All keywords are case-insensitive. All automatically link to the appropriate page (either if an URL is provided or not).

  • user profiles
    The following strings are replaced by the username with the appropriate coloring. For example
    image
    • player or user followed by the user_id ¹
    • any link to a OGS profile page (optionally put player or user in front)
    • @"${username}" ²
    • @"${username}/${user_id}" ². Press tab when typing the username to automatically complete it. A second tab surrounds the username with @" and /${user_id}", so you don’t have to look up the player id. The added user_id has the advantage to remain linked if the user changes their name.
  • games, reviews, demo boards, joseki, groups, tournaments, puzzles
    • game followed by the game id. For the others the keywords are review, demo, joseki, group, tournament, puzzle ¹
    • a URL to this resources is shortened to ${keyword} ${id}. The optionally keyword in front is not doubled, but gets part of the link. URLs to tournament-records are shortened to tournament-record ${id}
  • library
    URLs to sgf libraries are shortend to library ${id}
  • OGS Go tutorial (Learn to play Go)
    URLs are shortened to tutorial ${section_name} followed by exercise ${number} if the URL points to a specific exercise
  • URLs to a entry on senseis.xmp.net are shortened to senseis: ${title}.`
  • wiki
    links to the documentation are shortened to wiki: ${title}
  • forum
    Links to the forum are replaced by the topic title
  • email addresses are linked with a mailto:, so a click on them opens the compose email window of your email program (if you use one).
  • GitHub
    • gh, pr and issue followed by an id (number) automatically link to the GitHub issue/pull request. ¹
    • URLs to OGS issues are shortened to GH-${id}
  • other URLs are linked but not shortened.

The following commands already existed and are unchanged and work only when be at the beginning of the chat line:

  • /me make the chat line cursive. (third person)
  • /senseis, /google and /lmgtfy followed by any text should generate a search URL for the respective site.

¹ keyword and id can be separated by “ ”, “#”, “ #”, “-”, or “-#” (an optional space or -, as well as an optional #)
² ${name} indicates variable content. Replace it by the indicated thing.

6 Likes

Please let me know if anything doesn’t work as intended. Especially if some URLs aren’t replaced as expected (e.g. leftovers of the URL game 123/blah) or there are awkward word combinations resulting from adding an keyword without knowing the context (e.g. game game 124)

1 Like

I did find one bug with game chat and went ahead and opened an issue for it earlier today.

3 Likes

Fix is waiting to get merged. Sorry for breaking it in the beginning.

1 Like