Банк на сервері

Загальний список бот-команд пов'язаних з банком

Всі команди в даному списку є слеш-командами, тобто їх треба прописувати через /

Команда
Функціонал
Доступність
Доступність в ПП

рахунки

Перегляд рахунків користувача

Всі

створити_карту

Створення приватного рахунку користувачка

Всі

поділитись

Поділитись доступом до вашого рахунку з іншим гравцем

Всі

забрати_доступ

Позбавити стороннього гравця доступу до вашого рахунку

Всі

переказ

Зробити переказ ДР (Діамантової Руди) іншому гравцю

Всі

штраф

Виписати гравцю штраф

СБФ & Суд

юр_рахунок

Створити для гравця юридичний рахунок

Президент

add_money

Покласти на рахунок користувача ДР

Банк

remove_money

Зняти з рахунка користувача ДР

Банк

налаштування

Видалення карток, підключення API сповіщень

Всі

Комісії банку

  1. Комісія на зняття ДР з рахунку - 10% або мінімум 1 ДР (джерело зняття комісії(з рахунку в банку/з отриманих ДР) обирає клієнт). Комісія на зняття ДР з рахунків не поширюється на рахунки підприємців, які згадані у зареєстрованих ліцензіях на бізнес і що займаються благодійністю і були згадані у наказі Президентом або Головою банку як такі, що звільняються від комісії у зв'язку зі згаданими підставами.

  2. Комісія на зняття з ДР з рахунків особи, яка оформила кредит і є у процесі його сплати або отримання - 20% або мінімум 3 ДР (джерело зняття комісії(з рахунку в банку/з отриманих ДР) обирає клієнт).

Як покласти кошти на рахунок?

Для банкірів:

Створено дві відповідні команди, при написанні яких потрібно указати номер рахунку і суму

Для того щоб покласти ДР на свій рахунок в банку є 2 способи

1

Через банкіра одразу

Якщо на сервері онлайн знаходиться банкір, то ви можете попросити його зайти в банк, і на другому поверсі через нього покласти ДР собі на рахунок

Фото місця де можна покласти кошти через банкіра
2

Через "Банкомат"

Якщо на сервері нема банкіра, то на першому поверсі ви можете залишити у вільному "Банкоматі"(бочні) свої ДР, і написати банкіру в приватні повідомлення Діскорд номер "Банкомата"(він зображений на бочці), суму ДР і номер рахунку на який ви хочете покласти кошти

Скріншот зроблено в тестовому світі для будівель, на самому сервері бочки пронумеровані

Штрафи

Інформація по оплаті

В спеціальному каналі для вас може бути призначено штраф за якесь порушення. Для оплати в повідомленні є кнопка "Сплатити штраф", після натискання якої з'явиться приватне повідомлення з вибором вашої картки, після вибору якої штраф буде сплачено. Після оплати потрібно повідомити про це Службу Безпеки Фліпсайд

Інформація для СБФ і Суду

Як виписати штраф:

1

Під час написання команди, потрібно обрати корситувача якому призначено штраф

2

Після написання команди відкривається вікно, в якому потрібно заповнити декілька пунктів

  1. Суму штрафу

  2. Номер картки на яку мають прийти кошти після оплати штрафу

  3. Причина, за якою було виписано штраф. Держ службовцям рекомендується в цьому полі також вписувати номер штрафу.

Створення рахунків

Після написання відповідної команди відкриється вікно, де потрібно вказати назву рахунку

Змінити назву рахунку на даний момент неможливо

Після написання назви рахунку, у вас буде створено рахунок, з випадково згенерованим номером з 5 чисел

Як поділитись рахунком?

Щоб поділитись рахунком, потрібно під час прописання команди обрати користувача, і написати номер вашої картки з якою ви хочете поділитись, після чого той з ким ви поділились рахунком отримає доступ до нього, а у вас в списку рахунків біля нього буде показано окрему іконку

Написання команди

Щоб забрати доступ, потрібно написати відповідну команду і там обрати рахунок

Як переказати кошти?

1

Написання команди

Потрібно написати відповідну команду, де указати номер отримувача

2

Вибір картки

В наступному повідомленні треба обрати картку з якої робити переказ

3

Сума і коментар

Потрібно указати суму переказу, а також написати коментар(не обов'язковий пункт)

Створення юридичного рахунку

Для створення юридичного рахунку потрібно звернутись до президента, після чого він має написати спеціальну команду

1

Написання команди

2

Вибір назви

В вікні яке відкриється потрібно указати назву юридичного рахунку

Налаштування

Після написання відповідної команди, з'являється повідомлення з трьома кнопками

Видалення картки

Після натискання кнопки, з'являється меню вибору, де потрібно обрати картку яку ви хочете видалити

API сповіщення

Після натискання кнопки, з'являється меню вибору, де потрібно обрати ваш юридичний рахунок, до якого ви хочете підключити API сповіщення

Після вибору рахунку, з'явиться вікно, в якому потрібно вказати посилання на вебхук, на який будуть приходити API сповіщення (вони є повідомленнями у JSON форматі)

Після вписання посилання на вебхук, потрібно натиснути кнопку "Надіслати", і тоді ваш вебхук буде приєднано до рахунку

Для видалення вебхуку, потрібно натиснути "Видалити API сповіщення"

Після успішного приєднання вебхуку, при переказах буде надсилатись повідомлення у JSON форматі

Контент повідомлення (він відправляється у вигляді блока коду)
{
  "type": "transfer_received",
  "from_account_number": "00000",
  "from_user_id": 000000000000000000,
  "to_account_number": "00000",
  "to_user_id": 000000000000000000,
  "amount": 2,
  "comment": "Parcel delivery"
}

Приклад використання API сповіщень

Такі сповіщення про перекази були створені для того, щоб користувачі могли робити автоматизації платежів, проте в цьому прикладі буде показано код бота, який пише подяку за переказ

приклад бота
import disnake
from disnake.ext import commands
import json
import config

# ID каналу, в якому бот буде реагувати на повідомлення
CHANNEL_ID = 0000000000000000000 # Замініть на реальний ID каналу

intents = disnake.Intents.default()
intents.messages = True
intents.message_content = True

bot = commands.Bot(command_prefix="!", intents=intents)

@bot.event
async def on_ready():
    print(f"✅ Logged in as {bot.user}")

@bot.event
async def on_message(message: disnake.Message):
    # Дозволяємо лише канал і повідомлення з вебхука
    if message.channel.id != CHANNEL_ID:
        return
    if message.webhook_id is None and message.author.bot:
        return

    # Перевіряємо чи є блок коду з json
    if message.content.startswith("```json") and message.content.endswith("```"):
        try:
            # Видаляємо перший та останній рядки
            lines = message.content.strip().splitlines()
            # ['```json', '{', '  "type": "...', '}', '```']
            json_lines = lines[1:-1]
            json_str = "\n".join(json_lines)

            data = json.loads(json_str)

            if data.get("type") == "transfer_received":
                user_id = data.get("to_user_id")
                amount = data.get("amount")
                comment = data.get("comment", "")

                mention = f"<@{user_id}>"
                response = (
                    f"💸 Дякуємо {mention} за переказ у розмірі {amount} ДР!\n"
                    f"💬 Коментар: {comment}"
                )

                await message.channel.send(response)

        except Exception as e:
            await message.channel.send(f"❌ Не вдалося обробити JSON: {e}")

bot.run("YOUR_BOT_TOKEN")

Зверніть увагу, що повіломлення від вебхуку в сам діскорд надсилається в такому вигляді:

```json
{
  "type": "transfer_received",
  "from_account_number": "00000",
  "from_user_id": 000000000000000000,
  "to_account_number": "00000",
  "to_user_id": 000000000000000000,
  "amount": 5,
  "comment": "comment"
}
```

Результат роботи бота:

Last updated