Telegram bot for the “Code Hunting Games” at the Urbino CodeMOOC Summer School.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
data Rearchitecture location storage Apr 22, 2018
docs Add Code Week 2018 page and minor fixes Oct 16, 2018
html2pdf Add certificate template Apr 18, 2018
images Add final riddle placeholder Oct 5, 2017
riddles Update with final riddle for Code Week 2018 Oct 21, 2018
translation Typo in Italian Aug 29, 2018
.gitignore Add code of conduct Oct 17, 2018
LICENSE Add info for self-deploy of bot in README May 15, 2018

Treasure Hunt Bot


Source code of the Code Hunting Games bot for Telegram. Visit the official website for further information on how to play the game and how to organize your own games.

Developed at the University of Urbino (Italy) for the CodeMOOC course.


Are you organizing Code Hunting Games in your country and the bot is not yet localized? Check out the bot’s translation project on CrowdIn.

Source code pull requests are welcome. Please also check out issues to give feedback on errors, possible bugs, or improvements.

Deploy your own bot

A Code Hunting Games session can very easily be organized for free using our @treasurehuntbot.

If you want to deploy your bot on your own, requirements are as follows:

  • A Telegram bot,
  • Server with a public IP,
  • PHP 7,
  • MySQL.

In order to install the bot, please proceed as follows:

  1. Get the code from this repository and ensure that your Web server correctly serves the source files at directory /src through the PHP interpreter.
  2. Copy the /src/config-template.php file to /src/config.php and edit if as follows:
    1. Set TELEGRAM_BOT_TOKEN to your Telegram bot's token,
    2. Set all DATABASE constants to point to your local MySQL and ensure that the database user you are setting has read/write access,
    3. Update BOT_DEEPLINK_START_ROOT, replacing BOTNAME with your Telegram bot's nickname.
  3. Install the database schema, running the /sql/treasurehuntbot.sql script,
  4. Check whether the bot works, by running php pull.php (in directory /src): this will attempt to process Telegram messages you send to your bot in pull mode.
  5. If everything works correctly, setup a webhook to your bot through the Telegram bot API:
curl -F "url=https://YOURDOMAIN/PATH-TO-BOT/src/hook.php"

(Make sure to replace the URL with the correct path to your server and the TOKEN with your Telegram bot's token.)

That is all: the bot should now respond to your messages automatically. You're all set and ready to create your own Code Hunting Games.