Skip to content

Мой небольшой игровой Telegram бот про путешествия и выживание в открытом космосе.

Notifications You must be signed in to change notification settings

queuejw/SpaceBotTG

Repository files navigation

космос

🚀 Открытый космос бот

Мой (наш) небольшой игровой Telegram бот про выживание и путешествия в открытом космосе на космическом корабле. 🌍✨🌙

Как играть:

Добавьте бота в группу, выдайте все нужные права и введите команду: /играть .

Про экипаж

По умолчанию, доступ к боту имеет только капитан (т.е. тот, кто первым начнёт игру). Капитан может добавить или убирать участников, используя команды /добавить [id] и /удалить [id] . Получить id пользователя можно, попросив нужного пользователя ввести команду /id.

Вывести список участников, которые имеют доступ к боту (т.е. члены экипажа) можно командой /экипаж

Стоит учитывать, что только капитан может использовать некоторые функции бота (например, /название)

Каждый член экипажа имеет собственную роль и здоровье. Попробуйте ввести команду /я

Если капитан погибнет, то его роль перейдет случайному члену экипажа.

Роли

Экипаж корабля делится на некоторые определенные роли. Каждая роль уникальная и имеет доступ к своим специальным функциям и командам бота.

Ниже будет список ролей, как их установить, а также их особенности и задачи в игре.

Член экипажа

Самая базовая, обычная роль, которая устанавливается по умолчанию. Имеет доступ только к базовым командам.

Установка роли: /роль id 0

Вместо числа 0 можно указывать следующие аргументы: э ; Э ; Экипаж; экипаж; Обычный; обычный

Капитан

Роль, которая имеет доступ ко всем возможным командам на корабле, но с некоторыми нюансами. Если это какое-то особое действие, например ремонт корабля, то выполнение команды может идти значительно дольше, так как капитан не обладает достаточными знаниями в этой области.

Может быть только один капитан на корабле. При установке этой роли другому игроку текущий капитан автоматически понижается до роли "Член экипажа"

Установка роли: /роль id 1

Вместо числа 1 можно указывать следующие аргументы: Капитан ; капитан ; Кап ; кап

Инженер

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

Установка роли: /роль id 2

Вместо числа 2 можно указывать следующие аргументы: Инженер ; инженер ; Инж ; инж

Стрелок

Особая роль, которая имеет полноценный доступ к командам стрельбы.

Установка роли: /роль id 3

Вместо числа 3 можно указывать следующие аргументы: Стрелок ; стрелок

Пилот

Особая роль, которая имеет полноценный доступ к командам полета корабля.

Установка роли: /роль id 4

Вместо числа 4 можно указывать следующие аргументы: Пилот ; пилот

Связист

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

Установка роли: /роль id 5

Вместо числа 5 можно указывать следующие аргументы: Связист ; связист

Меню

Для упрощения взаимодействия с ботом мы добавили меню. При помощи меню вы сможете получить доступ к нужному функционалу бота за один клик. В зависимости от роли игрока меню будет отличаться.

Ниже будет список функций бота, к которым вы можете получить доступ через меню, а также роли, которые имеют доступ к этому функционалу.

Компьютер - информация о корабле. Может использовать весь экипаж корабля.

Экипаж - выводит всех членов экипажа. Может использовать весь экипаж корабля.

Склад - выводит всех членов экипажа. Может использовать весь экипаж корабля.

Ремонт - немного лечит экипаж и немного увеличивает прочность корабля, а также исправляет повреждения корабля (двигатель и т.д.) Требуется 50 ресурсов. Может использовать капитан и инженер.

Создание - создание предметов (огнетушители, снаряды). Может использовать капитан и инженер.

Пауза - принудительно завершает игру. Продолжить игру можно командой /играть (загрузится последнее сохранение). Может использовать только капитан.

Самоуничтожение - закончить игру и удалить сохранение (потребуется подтвердить своё решение). Может использовать только капитан.

Команды:

/играть - начать игру. Невозможно начать новую игру, если предыдущая не была завершена.

/я - выводит ваши данные (роль, здоровье)

/склад - информация о складе корабля (кол-во огнетушителей, снарядов и т.д.)

/помощь (или /help) - выводит сообщение со ссылкой на эту страницу.

/лететь [планета] - лететь на указанную планету. Если не указать, то будет выбрана случайная планета из списка. Может использовать капитан и экипаж пилот.

/покинуть - покинуть планету. Может использовать капитан и пилот.

/выстрел (или /огонь) [корабль/к] - выстрел из орудий. Если установлена связь с каким-то кораблем, то можно выстрелить в него, используя слово "корабль" или "к" после команды /выстрел (получится вот так: /выстрел корабль ; /выстрел к). Если не указать, то работает только при атаке пришельцев. Может использовать капитан и стрелок.

/связь (или /с) [название/сообщение] - устанавливает связь между кораблями. Оставьте [название] пустым, чтобы подключиться к случайному кораблю. Если вы знаете название нужного корабля (например, из чата Вашего друга), то можно ввести его здесь. После подключения [название] используется для передачи сообщений. Может использовать капитан и экипаж корабля.

/!связь (или /!с) - отключает связь с другим кораблем. Может использовать капитан и экипаж корабля.

/инфо (или /info) - информация о боте

/id - выводит ваш ID, который капитан может использовать, чтобы добавить вас на борт корабля.

Команды капитана

Эти команды может использовать только капитан корабля.

/роль [id/имя] [роль] - установить новую роль для игрока. В качестве первого аргумента используется ID игрока, либо его имя в Telegram. Вторым аргументом является сама роль. Подробнее об этом в блоке Роли (вверху).

/добавить [id] [роль] - добавить пользователя с каким-то id на борт корабля, чтобы он мог взаимодействовать с кораблем. Если не указать роль, то будет использоваться стандартная (Член экипажа)

/удалить [id] - удаляет определенного пользователя, чтобы он мог не взаимодействовать с кораблем.

/самоуничтожение (или /ликвидация) - закончить игру и удалить сохранение (потребуется подтвердить своё решение).

/название [название] - изменить название корабля (не более 18 символов). Если корабль с таким названием уже существует, то придется выбрать другое название.

Команды администраторов

Администраторы могут принудительно блокировать некоторые чаты, а также останавливать игры. Стоит учитывать, что Администраторы не должны влиять на игровой процесс. Не стоит просто так останавливать игры или блокировать чаты. Некоторые команды существуют для тестирования стабильности бота.

/adm:заблокировать [id] - блокирует чат с указанным ID

/adm:разблокировать [id] - разблокирует чат с указанным ID

/adm:стоп [id] - завершает игру в чате с указанным ID.

/adm:пожар [id] - начинает пожар на корабле в чате с указанным ID.

Помощь

Если вы нашли какую-то ошибку или есть интересные идеи, смело пишите сюда (нужен аккаунт GitHub): https://github.com/queuejw/SpaceBotTG/issues Или пишите лично мне в Telegram @queuejw (но лучше в группу открытый космос: @kosmos1323)

Как запустить бота самостоятельно

Создайте бота в Telegram при помощи BotFather (@BotFather)

Установите последнюю версию Python (Python 3.13.3 - https://www.python.org/downloads/release/python-3133/)

Получите исходный код бота и установите зависимости из файла requirements.txt

Запустите main.py для генерации конфига

Вставьте в config.json токен (который получили в BotFather) своего бота (посмотрите файл config_example.json)

Запустите main.py

About

Мой небольшой игровой Telegram бот про путешествия и выживание в открытом космосе.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages