Skip to content

oleja1shpep/Telegram-Geoguesser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

331 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект “Telegram Geoguessr”

Ссылка на бота в Telegram: https://t.me/GeoguessrGameBot

Участники:

  1. Говзман Илья tg
  2. Олег Рябов tg
  3. Гараева Аделя tg

Распределение ролей:

  1. Говзман Илья:
  • Google Maps API
  • Мини-приложение с панорамой и выбором местоположения
  • Связь с базой данных
  1. Рябов Олег:
  • Работа с MongoDB
  • Телеграм бот
  1. Гараева Аделя:
  • Перевод
  • Разработка режимов
  • Подключение GPT API

Описание проекта: Мы создали Телеграм-бот, который повторяет известную игру “Geoguessr”. Суть игры такова: игроку показывается панорама местности, и его задача угадать в какой точке мира он находится и отметить на карте своё предполагаемое местоположение. Чем ближе игрок поставит метку к действительной геолокации, тем больше очков он получит.

Основным способом взаимодействия с игрой является Телеграм-бот, в котором можно выбирать различные сценарии использования. Он сопряжен с мини-приложением, а также с базой данных всех пользователей бота.

Мини-приложение используется для: удобного взаимодействия с панорамами, выбора предполагаемой геопозиции и отправки результата в мини-приложение.

Основные задачи Телеграм-бота это: запуск игры, регистрация пользователя, выбор режимов игры и вывод статистики по играм пользователей в том или ином режиме.

Мини-приложение: Мини-приложение используется для удобного взаимодействия с панорамами Google Maps. Мы выбрали именно этот способ показа панорамы местности, потому что так играть будет удобно как с компьютера, так и со смартфона.

Тг-бот: Основные задачи Телеграм-бота это: запуск игры, регистрация пользователя, выбор режимов игры и вывод топа игроков по среднему количеству очков в том или ином режиме.

База данных: Доступ к базе данных осуществляется при помощи библиотеки PyMongo. В базу данных будет записываться уникальный id пользователя в Телеграме, дата его регистрации, а также результаты каждого сыгранного им матча. Сделано это для того, чтобы пользователь мог узнать рейтинг игроков и посмотреть статистику своих игр внутри каждого режима.

Взаимодействие с ботом: Чтобы начать взаимодействие с ботом нужно прислать команду /start. Далее появится форма для входа/регистрации пользователя. После входа, появляется меню с выбором режимов игры. После выбора режима, игрок попадает в меню данного режима, в котором находятся кнопки "Играть", "Рейтинг", "Мои результаты".

Нажав кнопку "Играть", игрок будет брошен в случайное место на карте мира, где есть панорамы Google Maps. Появляется мини-приложение с панорамой, где игрок может перемещаться при помощи встроенного метода перемещения в Google Maps. Далее при помощи этого мини-приложения пользователь отправляет предполагаемую геопозицию. Затем бот в зависимости от дальности метки игрока, до его местоположения на гугл картах считает количество очков и присылает его пользователю.

Нажав кнопку "Рейтинг" пользователь узнает топ 10 игроков в данном режиме и свое место в этом рейтинге.

Нажав кнопку "Мои результаты" игрок сможет узнать результаты своих последних игр в данном режиме.

About

geoguesser

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors