Данный бот был создан для упрощения ведения партий в настольную игру престолов по переписке. Целевая платформа бота - социальная сесть Вконтакте, но бот также работает и в телеграмме(с некоторыми отличиями)
При разработке была использована библиотека VkBotFramework и с ней возникла проблема, что версия на nuget.org была ниже чем версия в github репозитории проекта. Мне был необходим функционал из более новой версии, поэтому библиотека была скачана локально и в зависимости указан локальный путь, поэтому собрать такой проект без скачивания этой зависимости на свой компьютер не получится
У всех команд есть русская и английская версия, использовать можно любую. У некоторых команд есть аргументы, их нужно писать через пробел друг за другом. Для удобства бот иногда присылает клавиатуру со списком команд, вы можете использовать ее вместо ручного написания команды
Для начала партии нужно нажать на кнопку "Добавить в чат" и выбрать чат в котором еще не было игр. После этого всем будущим участникам партии нужно отправить боту сообщение. Для этого нужно перейти в сообщество бота и нажать на кнопку сообщения, после чего написать любое сообщение. Далее в настройках чата нужно сделать бота администратором. Теперь можно выполнять команду /new_game
На данный момент бот не умеет следить за всем игровым процессом, поэтому для защиты от нечетных игроков он использует уровень доверия. Уровень доверия - число, которое задается в начале партии, означающее количество игроков, которые должны подтвердить, что совершается важное для игры действие(например, открытие карт вестероса). Если вы полностью доверяете всем участникам, то моежете установить этот параметр равным единице, тогда любой игрок сможет выполнять любые действия в одиночку
-
/new_game(/новая_игра) - данная команда начинает новую игру. Для выполнения команды необходимо в аргументах перечислить игроков, которые будут участвовать в партии. Указывать игроков нужно через упоминания(напишите "@" и вам высветится список людей в чате). После списка игроков нужно указать уровень доверия* в партии. Далее нужно указать ссылку на гугл документ с полем
-
/random_houses(/рандомные_дома) - данная команда выведет для каждого участника случайный дом
-
/random_order(/рандомный_порядок) - данная команда выведет список игроков в случайном порядке. Ее можно использовать для определения порядка драфта или порядка выбора домов
-
/orders(/приказы) - по этой команде бот просит отправить всех игроков партии отправить приказы ему в личные сообщения. После того как все напишут приказы бот отправляет их в общий чат
-
/bids(/ставки) - то же самое, что и команда /orders
-
/crow(/ворона) - по этой команде бот отправляет игроку написавшему команду верхнюю карту колоды одичалых. Далее игрок выбирает оставить ее наверху или положить под низ колоды. После выбора бот сообщает результат в общий чат. Данная команда требует подтверждения по уровню доверия
-
/westeros(/вестерос) - по этой команде бот открывает 3 верхние карты колоды вестероса. Данная команда требует подтверждения по уровню доверия
-
/wildlings(/одичалые) - по этой команде бот открывает верхнюю карту колоды одичалых. Данная команда требует подтверждения по уровню доверия
-
/battle(/бой) - для выполнения данной команды нужно указать 2 аргумента - участников боя(через их упоминание). Далее бот запросит у данных игроков карты боя. Когда оба пользователя напишут выбранную карту - отпрвит их в общий чат
-
/map(/карта) - отправляет карту поля(отправка может занять много времени)
Иногда в процессе игры бот будет просить что-то подтвердить или отменить, для этого есть команды
- /confirm(/подтвердить)
- /cancel(/отменить)