Skip to content
This repository has been archived by the owner on May 7, 2020. It is now read-only.
/ mafdibot Public archive

Mafia Discord Bot основанный на LightStar Mafia IRC Bot

Notifications You must be signed in to change notification settings

sergree/mafdibot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mafia Discord Bot

WARNING! ПРОЕКТ ЗАБРОШЕН!

Пре-альфа версия полного рерайта оригинального IRC бота LightStar Mafia IRC Bot для Discord на .NET Core и DSharpPlus!

Что реализовано

  • Стандартный игровой цикл:

    • Регистрация
    • Раздача ролей
    • Ночь
    • День
    • Голосование
    • Конец игры
  • Некоторые команды: reg, stat, list, q, turns и т.п.

  • И роли:

    • Мирный
    • Мафиози
    • Комиссар
    • Маньяк
    • Доктор

Что НЕ реализовано

  • Роли:
    • Бомж
    • Журналист мафии
    • Адвокат мафии
    • Девка
    • Хакер
    • И т.д.
  • Уровни
  • Различные способности ролей
  • Денежная система
  • А так же о-о-очень много всего...

Запуск

Скачайте текущую версию бота и отредактируйте файл config.json:

  • Token - сюда необходимо вставить токен Discord бота
  • GuildId - ID (Вашего) сервера на котором бот будет работать
  • ChannelMainId - ID основного текстового канала, на котором будет вестись игра
  • ChannelMainVoiceId - ID голосового канала Мафии - в данном канале бот будет автоматически мьютить убитых игроков
  • CategoryId - ID категории каналов, в которой будет создаваться отдельный канал для Мафиози в начале каждой игры
  • ChannelDonorId - Костыль: чтобы отдельный канал Мафии создался моментально, сюда подставляется ID существующего канала, который никто не может читать. Скорее всего это было введено из-за сложностей создания своего экземпляра IEnumerable<DiscordOverwrite> или криворукости
  • ChannelAFKVoiceId - ID голосового AFK канала. Используется для заглушения умерших игроков (перекидываением туда-обратно)
  • RoleMainId - ID основной роли, которая выдается всем играющим в данный момент игрокам
  • RoleBadId - ID тюремной роли сервера (не связанной с игрой). Используется чтобы автоматически выгонять из игры пользователя, нарушевшего правила Вашего сообщества

Запустить Mafia Discord Bot.exe на Windows или Mafia Discord Bot на Ubuntu.

Для работы бот должен владеть этими правами на сервере Discord:

  • Управлять ролями
  • Управлять каналами

Чтобы избежать возможных багов, желательно сразу выдать Администратор.

Известные проблемы

  • Список Мафиози легко вычислить используя BetterDiscord

Возможное решение - переписать логику: создавать отдельный Discord сервер для Мафиози вместо создания канала.

Сборка

Требуется, если Вы собираете бота из исходников.

Воспользуйтесь:

  • publish_windows.bat для сборки под Windows 10 x64
  • publish_ubuntu.bat для сборки под Ubuntu 18.04

После сборки необходимо перенести файл config.json в папку с исполняемым файлом.

О качестве кода

Местами все очень плохо. Это был мой первый проект на C# в 2017 году после прочтения этого замечательного руководства.

WARNING! ПРОЕКТ ЗАБРОШЕН!