Мой (наш) небольшой игровой 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