Skip to content

benhunter/climb_bot

Repository files navigation

climb_bot posts links to rock climbing routes and areas on MountainProject.com. climb_bot is monitoring the subreddits r/climbing and r/test. climb_bot searches MountainProject for the closest match and links to it, so partial information can often still give a relevant reply.

If climb_bot can't find a match, it won't post a reply at all. Comments that have not been replied to by climb_bot can be edited and climb_bot will keep attempting to find a link. But once a climb_bot replies, it won't look at that comment again.

Commands

climb_bot looks for the command 'climb:' or '!climb' in comments. adding the keyword 'area' searches for areas on MountainProject. Examples:

  • Climb: The Nose, Yosemite
  • climb: The Nose, Yosemite
  • !Climb The Nose, Yosemite
  • !climb The Nose, Yosemite
  • climb: area Yosemite Valley
  • !climb area Yosemite Valley

About the code

climb_bot is written in Python 3 and hosted on PythonAnywhere. It requires the PRAW and BeautifulSoup4, and uses a SQLite3 database to record comments that are replied to. The configuration file for the bot is stored in JSON and loaded by Config.py. The reddit logic is in climb_bot.py and replies generated from MountainProject are parsed in Route.py and Area.py.