Skip to content

r4rdsn/mafia_host_bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Read this in English.

Ведущий Мафии

Этот репозиторий содержит исходный код для Телеграм-бота @mafia_host_bot.
Ведущий Мафии может проводить коллективные игры в мафию и крокодила в группах и супергруппах.

Использование

Добавьте @mafia_host_bot в вашу группу или супергруппу, предоставьте ему права на удаление сообщений и используйте команды перечисленные ниже для создания и начала игры.

Доступные команды

  • /create - создать заявку для игры в мафию
  • /cancel - удалить заявку для игры в мафию
  • /start - начать игру в существующей заявке
  • /skip - создать голосование за пропуск дневного обсуждения
  • /end - создать голосование за окончание игры в мафию
  • /croco - начать игру в крокодила
  • /gallows - начать игру в виселицу
  • /stats - вывести статистику
  • /rating - вывести рейтинг
  • /help - вывести текст помощи

Правила мафии

В этой версии Ведущего Мафии четыре роли:

  • Мирный житель - игрок, который не обладает особыми способностями;
  • Мафия - игрок, который может убить одного мирного жителя каждую ночь;
  • Дон мафии - мафиози, который каждую ночь может узнать об одном игроке, является он шерифом или нет;
  • Шериф - мирный житель, который может узнать команду одного игрока каждую ночь.

Ведущий Мафии использует Callback кнопки для предоставления гладкой игры, вам не нужно переключать чат или отправлять что-либо для того, чтобы сделать ход.

Для ходов мафии используется стрельба. В первую очередь, в начале игры, дон отдаёт приказ другим членам своей команды о порядке, в котором мафия должна стрелять в игроков. Каждую ночь есть фаза стрельбы, когда все члены мафии должны нажать на Inline кнопку в одно и то же время в тот момент, когда сообщение бота содержит в себе имя игрока, которого они должны убить. Если им это удаётся, этот игрок умрёт следующим утром. Сам приказ не влияет на успех выстрела мафии, так что вы можете использовать это для создания своей тактики.

Настоятельно рекомендуется использовать функцию, позволяющую Ведущему Мафии удалять любое сообщение, отправленное не умирающим игроком во время его последних слов или не во время общего обсуждения. Чтобы включить её, сделайте его администратором с правом на удаление сообщений.

Правила крокодила

Правила крокодила в этой версии Ведущего Мафии схожи с правилами настольной игры "Alias". Игроку необходимо за 2 минуты объяснить случайное существительное, не используя однокоренные или производные. Для того, чтобы назвать слово, следует просто написать его в чат.

Правила виселицы

Игрокам необходимо угадать случайное существительное за 6 попыток по буквам, из которого оно состоит. Для того, чтобы назвать букву или слово, следует просто написать соответствующую букву или слово в чат.

Рейтинг

Каждая игра влияет на статистику игроков, из которой складывается рейтинг чата: 5 игроков в мафию и 3 игрока в крокодила. По умолчанию каждый игрок победившей команды в мафии получает 1 очко и каждый игрок проигравшей команды в мафии теряет 1 очко; после угаданного слова в крокодиле игрок, объяснявший слово, получает 0.12 очков, а игрок, угадавший слово, получает 0.04 очка.

Инструкция по установке и запуску на сервере GNU/Linux

  • Установить Python версии не менее 3.6.0
  • Клонировать репозиторий:
    $ git clone https://gitlab.com/r4rdsn/mafia_host_bot
  • Установить зависимости:
    # pip install -r mafia_host_bot/requirements.txt
  • Скопировать файл config.py.sample в локальном репозитории:
    $ cp config.py.sample config.py
  • Персонализировать файл config.py:
    $ $EDITOR config.py (заменяя $EDITOR на предпочтительный текстовый редактор)
  • Установить и запустить сервер MongoDB.
  • Запустить бота:
    $ python mafia_host_bot

Лицензия

Ведущий Мафии опубликован в соответствии с условиями GNU General Public License v3.

About

Bot that hosts mafia games in Telegram's groups and supergroups

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages