Верхняя Сибирь — Архив
← На главную
ВС-РУК-001 Стр. 1 из 1 © 2026 UPPER SIBERIA
ДОКУМЕНТ № ВС-001-РУК
ДАТА ВЫДАЧИ: 30.03.2026
ГРИФ: ДЛЯ ЖИТЕЛЕЙ ГОРОДА
СЕКРЕТНО
Официальное руководство
Верхняя Сибирь
Руководство нового жителя
Сервер
Upper Siberia
Тип игры
Экономика / Полу-ролевая
Статус
▶ Альфа-тест

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

Никто не помнит, как оказался здесь. Это не потеря памяти — это природа города. Верхняя Сибирь сама решает, где вам стоять.

Данный документ является собственностью администрации Верхней Сибири. Лицо, обнаружившее документ вне зоны допуска, обязано немедленно сообщить в мэрию по установленной форме.

!паспорт — получить документы нового жителя
!баланс — проверить счёт в банке
!работа — список доступных вакансий
!магазин — открыть городской магазин

ВС-РУК-002 Регистрация © 2026 UPPER SIBERIA
ДОКУМЕНТ № ВС-002-РУК
ДАТА ВЫДАЧИ: 30.03.2026
ГРИФ: ДЛЯ ЖИТЕЛЕЙ ГОРОДА
ОТКРЫТО
Раздел II
Начало игры

Без паспорта вы не существуете в базе данных города. Счёт не открыт. Работа недоступна. Кражу вас поймают немедленно. Паспорт — первый и обязательный шаг.

Паспорта выдаются исключительно в холле мэрии. Обратитесь к регистратору или мэру — они имеют право оформить документы. Самостоятельно получить паспорт невозможно.

Регистратор вводит команду в канале мэрии. Формат строгий — любое отклонение приводит к отказу системы.

!паспорт дать @житель ИмяБезПробелов Возраст Фото

Имя — без пробелов, произвольное игровое имя.
Возраст — целое число от 18 до 70.
Фото — прямая ссылка на изображение (.jpg, .jpeg, .png или .gif).

Команда выдачи паспорта работает только в строго отведённом канале мэрии. Попытка вызвать её в другом месте будет отклонена.

В момент выдачи паспорта система автоматически открывает личный счёт. Начальный баланс — 0 ₽ наличкой и 0 ₽ в банке. Первые средства необходимо заработать самостоятельно.

Паспорт действителен 60 дней с момента выдачи. По истечении срока он считается просроченным. Владелец получит уведомление заблаговременно.

Просроченный паспорт не аннулируется автоматически, однако ряд действий становится недоступен. Для продления обратитесь к регистратору или мэру в канале мэрии.

!паспорт обновить @житель

Свой паспорт или паспорт другого жителя можно запросить к просмотру. Владелец паспорта вправе отказать.

!паспорт посмотреть — свой паспорт
!паспорт посмотреть @житель — чужой паспорт

ВС-РУК-003 Экономика © 2026 UPPER SIBERIA
ДОКУМЕНТ № ВС-003-РУК
ДАТА ВЫДАЧИ: 30.03.2026
ГРИФ: ДЛЯ ЖИТЕЛЕЙ ГОРОДА
ОТКРЫТО
Раздел III
Экономика

У каждого зарегистрированного жителя есть два счёта: наличка и банк. Наличка — средства при себе, доступны немедленно, но уязвимы для кражи. Банк — защищённый счёт, который не может быть ограблен, однако для использования требует снятия.

Валюта города — рубль (₽). Проверка баланса:

!баланс или !баланс @житель — показывает оба счёта.

Раз в сутки каждый житель может получить 200 ₽ наличными. Бонус начисляется немедленно. Повторный вызов в тот же день будет отклонён.

!дейли

Передать наличку другому жителю можно напрямую. Перевод осуществляется только из наличных — банковские средства необходимо предварительно снять.

!деньги передать @житель <сумма>

Топ богатейших жителей города формируется по совокупному балансу (наличка + банк). Страницы переключаются аргументом.

!топ или !топ <страница>

Профиль отображает баланс жителя и статистику: количество краж, ограблений, штрафов. Можно просматривать свой или чужой.

!профиль или !профиль @житель

ВС-РУК-004 Занятость © 2026 UPPER SIBERIA
ДОКУМЕНТ № ВС-004-РУК
ДАТА ВЫДАЧИ: 30.03.2026
ГРИФ: ДЛЯ ЖИТЕЛЕЙ ГОРОДА
ОТКРЫТО
Раздел IV
Работа

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

Вознаграждение — от 500 до 1500 ₽ наличными. Сумма случайна при каждом вызове.

!работа

После каждой смены необходима пауза. Повторная подработка доступна через 24 часа. Попытка вызвать команду раньше отображает оставшееся время ожидания.

Команда
!работа / !sidejob / !job
Вознаграждение
500 — 1500 ₽
Кулдаун
24 часа

Перечень мест подработки зависит от пола жителя. Среди мужских вакансий: завод, склад, бригада по ремонту, библиотека, кофейня, парикмахерская. Список женских вакансий аналогичен по объёму. Все вакансии равнозначны по оплате — специализация влияет только на повествование.

Подработка начисляет деньги на наличку. Рекомендуется своевременно переводить часть на банковский счёт во избежание потери при ограблении.
ВС-РУК-005 Финансы © 2026 UPPER SIBERIA
ДОКУМЕНТ № ВС-005-РУК
ДАТА ВЫДАЧИ: 30.03.2026
ГРИФ: ДЛЯ ЖИТЕЛЕЙ ГОРОДА
ОТКРЫТО
Раздел V
Банк и долги

Банковский счёт защищён от кражи. Перевести наличные на банк — депозит; снять обратно — снятие. Вместо точной суммы можно указать all — система переведёт весь доступный остаток.

!деп <сумма|all> — внести наличку в банк
!снять <сумма|all> — снять с банка в наличку

Штраф выписывается сотрудником правоохранительных органов. При получении штрафа система предлагает два варианта: оплатить немедленно или отложить в долг. Если наличных недостаточно для полной оплаты — часть вносится сразу, остаток записывается в долг.

!штрафы — список неоплаченных штрафов
!штрафы оплаченные — история оплаченных
!штрафы оплатить <номер> — погасить конкретный штраф

Оплата штрафа производится только с наличного счёта. Банковские средства не списываются автоматически. Убедитесь, что наличных достаточно, прежде чем оплачивать.

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

Если наличных не хватает на погашение — пополните счёт подработкой или переводом, затем оплатите штраф.

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

!бюджет — просмотр состояния всех бюджетов
!бюджет внести <сумма> [структура] — внести средства
!бюджет снять <сумма> <структура> — снять средства (только мэр)

При внесении средств в бюджет деньги сначала списываются с наличного счёта, затем с банкового — в порядке остатка.
ВС-РУК-006 Правопорядок © 2026 UPPER SIBERIA
ДОКУМЕНТ № ВС-006-РУК
ДАТА ВЫДАЧИ: 30.03.2026
ГРИФ: ДЛЯ ЖИТЕЛЕЙ ГОРОДА
СЕКРЕТНО
Раздел VI
Преступность

Кража — единственный незаконный способ получить чужие деньги. Жертвой может стать любой зарегистрированный житель с ненулевым наличным балансом.

!украсть @житель

При каждой попытке система бросает вероятность. С шансом 40% кража проваливается — бот генерирует короткую историю о неудаче. С шансом 60% попытка успешна: похищается от 10% до 50% наличных жертвы.

Украденное немедленно поступает на наличный счёт грабителя. Оба участника получают запись в статистике.

Шанс успеха
60%
Похищаемая сумма
10–50% от налички жертвы
Кулдаун грабителя
6 часов

Для совершения кражи необходим действующий паспорт. Без него система немедленно отклоняет попытку — грабителя «поймают».

После успешного ограбления жертва получает защиту на 6 часов: повторное нападение в этот период невозможно. Грабитель не может пытаться снова в течение того же времени. На себя нападать нельзя.

Полиция вправе выписать штраф за любое нарушение порядка, включая кражу. Штраф назначается вручную сотрудником правоохранительных органов. Механика кражи не предусматривает автоматического штрафа — только потерю кулдауна при провале.

Банковские средства жертвы недоступны для кражи. Храните значительные суммы на банковском счёте.
ВС-РУК-007 Справочник команд © 2026 UPPER SIBERIA
ДОКУМЕНТ № ВС-007-РУК
ДАТА ВЫДАЧИ: 30.03.2026
ГРИФ: ДЛЯ ЖИТЕЛЕЙ ГОРОДА
ОТКРЫТО
Раздел VII
Команды
Счёт и переводы
!баланс [@user]
Показывает наличку и банковский счёт. Поддерживает просмотр чужого баланса.
!деп <сумма|all>
Переводит наличные на банковский счёт.
!снять <сумма|all>
Снимает средства с банка в наличку.
!деньги передать @user <сумма>
Передаёт наличные другому жителю.
!дейли
Ежедневный бонус 200 ₽ наличными.
24 ч.
!работа
Подработка: 500–1500 ₽ наличными.
24 ч.
!украсть @user
Попытка ограбления. Шанс успеха 60%. Похищает 10–50% налички цели.
6 ч.
Рейтинг и профиль
!профиль [@user]
Показывает баланс и статистику жителя.
!топ [страница]
Рейтинг богатейших жителей по совокупному балансу.
Документы
!паспорт посмотреть [@user]
Показывает свой паспорт или запрашивает просмотр чужого.
!паспорт дать @user Имя Возраст Фото
Выдаёт паспорт жителю. Только регистратор или мэр. Только в канале мэрии.
!паспорт обновить @user
Продлевает просроченный паспорт. Только регистратор или мэр. Только в канале мэрии.
Управление штрафами
!штрафы
Список неоплаченных штрафов с общей суммой долга.
!штрафы оплаченные
История оплаченных штрафов.
!штрафы оплатить <номер>
Оплачивает конкретный штраф с наличного счёта.
!штраф @user <сумма> <причина>
Выписывает штраф. Только правоохранительные органы.
Государственные финансы
!бюджет
Показывает балансы бюджетов всех структур.
!бюджет внести <сумма> [структура]
Вносит средства в бюджет. Главы ведомств — только в свою структуру. Мэр — в любую.
!бюджет снять <сумма> <структура>
Снимает средства из бюджета. Только мэр.
Желание города
!предписание
Получить ежедневное предписание от Желания Города. После выполнения — отправить скрин с пингом администратора.
24 ч.
Только для администрации
!деньги добавить @user наличка <сумма>
Выдаёт деньги жителю.
!деньги изъять @user банк <сумма>
Изымает средства со счёта жителя.
!-паспорт @user
Удаляет паспорт жителя.
!-аккаунт @user
Удаляет весь аккаунт жителя. Необратимо.
!очистить [кол-во] / [@user кол-во]
Удаляет сообщения в канале или все сообщения пользователя по серверу.
!-кулдаун [@user]
Сбрасывает все кулдауны жителя.
!мьют @user <время> [причина]
Выдаёт мьют жителю.
!размьют @user
Снимает мьют.
!мьюты
Показывает список активных мьютов.
!история @user
История мьютов жителя.
!выключить
Отключает бота. Использовать с осторожностью.
ВС-РУК-008 ЧаВО © 2026 UPPER SIBERIA
ДОКУМЕНТ № ВС-008-РУК
ДАТА ВЫДАЧИ: 30.03.2026
ГРИФ: ДЛЯ ЖИТЕЛЕЙ ГОРОДА
ОТКРЫТО
Раздел VIII
Часто задаваемые вопросы
Как получить паспорт?
Обратитесь к регистратору или мэру в канале мэрии. Самостоятельно выдать себе паспорт невозможно — только уполномоченные сотрудники вправе провести регистрацию.
Паспорт просрочен. Что делать?
Обратитесь к регистратору в канал мэрии с просьбой обновить документ. Команда продления: !паспорт обновить @вы — вызывается регистратором, не вами.
Я пытаюсь выдать паспорт, но получаю ошибку «только в холле мэрии».
Команда выдачи паспорта работает строго в одном канале, назначенном администратором. Убедитесь, что находитесь в правильном канале.
Разница между наличкой и банком?
Наличка уязвима для кражи — другой житель может похитить от 10 до 50% суммы. Банковский счёт защищён, но для трат нужно предварительно снять средства командой !снять.
Почему не работает !дейли?
Бонус доступен один раз в сутки по календарным дням. Если вы уже получали бонус сегодня — следующий станет доступен завтра.
Можно ли украсть деньги с банковского счёта?
Нет. Команда !украсть похищает исключительно наличные жертвы. Средства в банке недоступны для кражи.
Меня ограбили. Могут ли снова?
В течение 6 часов после ограбления вы защищены — система не позволит провести повторную кражу. Используйте это время, чтобы перевести остаток налички в банк.
Нет денег оплатить штраф. Что происходит?
При нехватке наличных система оплачивает доступную часть, а остаток записывает как долг. Долг не начисляет процентов — он просто ждёт погашения.
Как погасить сразу все штрафы?
В интерфейсе списка штрафов есть кнопка групповой оплаты. Все неоплаченные штрафы будут погашены в один раз, если наличных достаточно.
Бот не отвечает на команду.
Проверьте: правильный ли канал, активен ли бот (статус онлайн), нет ли активного кулдауна. Если ни одно из этого не применимо — сообщите администратору.
Кулдаун завис или работает некорректно.
Обратитесь к администратору. Сброс кулдауна производится командой !-кулдаун @вы — только для администрации.
Как сообщить об ошибке в боте?
Опишите проблему в соответствующем канале обратной связи. Укажите: команду, которую вызывали; текст ошибки или поведение бота; время события.
ВС-РУК-009 Техническая документация © 2026 UPPER SIBERIA
ДОКУМЕНТ № ВС-009-РУК
ДАТА ВЫДАЧИ: 30.03.2026
ГРИФ: ДЛЯ РАЗРАБОТЧИКОВ
СЛУЖЕБНОЕ
Раздел IX
Для разработчиков

Бот написан на Python 3.10+. Основные зависимости: discord.py (асинхронный фреймворк), aiosqlite (асинхронная работа с SQLite), Pillow (рендер карты боёв), python-dotenv (переменные окружения).

База данных — SQLite, файл city.db. Хранится рядом с точкой входа. Все операции асинхронные через aiosqlite.

Бот использует систему когов (cogs) — каждый функциональный модуль вынесен в отдельный файл в директории cogs/. Все коги регистрируются через setup(bot) и загружаются при старте.

Upper_Siberia_test.py — точка входа, инициализация БД, загрузка когов
config_command_names.py — все алиасы команд и тексты страниц !help
utils.py — вспомогательные функции, константы
embed_generation.py — фабрики embed-сообщений
map_render.py — рендер тактической карты (Pillow)

Файлы в cogs/
economy.py
Баланс, депозит, снятие, дейли, кража, штрафы, переводы, рейтинг.
budget.py
Государственные бюджеты структур, внесение и снятие средств.
passport.py
Выдача, продление, просмотр паспортов; проверка срока действия.
sidejob.py
Подработка с нарративными историями, раздельными по полу.
leveling.py
Система XP и уровней.
admin.py
Административные команды: деньги, аккаунты, мьюты, очистка, кулдауны.
battle.py
Тактическая боевая система: AP, укрытия, карта, ранения, боеприпасы.
prescript.py
Ежедневные предписания от Желания Города.
ТаблицаНазначениеКлючевые поля
accountsФинансовые счета жителейdiscord_id, cash, bank, last_daily
passportsПаспортные данныеdiscord_id, name, age, photo_url, issued_at, issued_by_id
finesШтрафы (оплаченные и нет)discord_id, user_fine_n, amount, reason, issued_by, paid
statsСтатистика жителейdiscord_id, rob_count, robbed_count, fines_count
levelsУровни и XPdiscord_id, xp
inventoryИнвентарьdiscord_id, item_key, quantity
rob_cooldownsЗащита жертв ограбленияdiscord_id, last_robbed_at
sidejob_cooldownsКулдаун подработкиdiscord_id, last_used_at
budgetsБюджеты структурstructure, balance
budget_logЛог бюджетных операцийstructure, action, amount, actor_id, acted_at
mutesАктивные мьютыdiscord_id, guild_id, unmute_at, saved_roles
mute_historyИстория мьютовdiscord_id, issued_by_id, reason, duration_sec, muted_at
passport_request_cooldownsЗащита от повторных запросов паспортаpair_key, denied_at

1. Выбрать или создать подходящий ког в cogs/.
2. Добавить алиасы в config_command_names.py — список ALIASES.
3. Импортировать список алиасов в kog через from config_command_names import ...
4. Декорировать функцию: @commands.command(aliases=ALIAS_LIST).
5. При необходимости добавить запись в HELP_PAGES в том же конфиге.
6. Перезапустить бота — изменения применяются автоматически.

Конфигурация хранится в файле .env рядом с точкой входа. Загружается через python-dotenv.

DISCORD_BOT_TOKEN — токен бота
ADMIN_ROLE_IDS — ID ролей администраторов через запятую
MAYOR_ROLE_ID — ID роли мэра
PASSPORT_CHANNEL_ID — ID канала мэрии для паспортных операций

Файл .env содержит токен бота. Не передавать третьим лицам. Не коммитить в публичные репозитории. В случае компрометации токена — немедленно регенерировать в Discord Developer Portal.