Skip to content

jolice/MoscowMetroBot

Repository files navigation

Moscow Metro Bot

A Telegram bot for planning routes in the Moscow Metro.

Build Status Codacy Badge

Bot is avaliable at @Moscow_Metro_Bot

Running

To build the project and start the bot, use:

git clone git@github.com:riguron/MoscowMetroBot.git
cd MoscowMetroBot
mvn clean install && mvn spring-boot:run -pl Bootstrap -Dbot.token=TOKEN -Dbot.username=BOT_USERNAME

Do not forget to specify your bot's token and username. Alternatively, these values may be read from environment variables: bot.token and bot.username respectively.

Features

  • Construction of detailed text routes between any two stations in the Moscow Metro.
  • Prefix-based station name matching eliminating the need for specifying full station name.
  • Maintenance of statistics for the individual routes and stations.

Commands

Besides the route planning, the bot currently supports the following commands:

  • top: displays stations that are most commonly used in the routes.
  • stats: tells the statistics of a route (how many times it was built) or a station (how many routes involve this station).

A command must start with the slash.

Technologies used:

  • Spring Boot
  • Spring Data
  • Hibernate 5
  • TelegramBots
  • Apache Commons Collections
  • Google Gson
  • HSQL Database
  • Lombok
  • Maven