Skip to content

EnderServices/EnderBank-discord

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EnderBank

Банковский Discord бот для Майнкрафт сервера

Этот бот предназначен для управления виртуальными банковскими картами и переводами денежных средств между игроками на Майнкрафт сервере. Бот интегрируется с Discord сервером и использует слэш-команды для взаимодействия.

Файлы

  • config.yaml - файл конфигурации бота
  • main.py - основной файл с кодом бота
  • bot/messages.py - файл с константами для ID каналов Discord
  • bot/models.py - файл с моделями данных
  • requirements.txt - файл зависимостей

Настройка

  1. Склонируйте этот репозиторий
git clone https://github.com/Mag329/EnderBank.git
  1. Установите все необходимые зависимости, указанные в requirements.txt
pip install -r requirements.txt
  1. Заполните файл config.yaml
  2. Запустите бота с помощью команды
python3 main.py

Функции бота

  • Создание виртуальных карт для игроков
  • Просмотр списка имеющихся карт и их баланса
  • Перевод денежных средств между картами игроков
  • Изменение карты по умолчанию
  • Выписка и оплата штрафов
  • Статистика игроков по балансу
  • Команды администрации (изменение баланса, SQL-запросы, выдача доступа к гос. карте и др.)
  • Логирование всех админ-операций в специальных каналах Discord

Использование

Бот реагирует на следующие слэш-команды в Discord:

Команды для игроков

  • /create_card user: <Ник в Minecraft> cardname: <Название карты> - создание новой банковской карты

    /create_card user:Mag329 cardname:Карта Мага
    
  • /cards - вывод списка всех имеющихся карт и их баланса

  • /transfer user: <Ник хотите перевести> cardname: <Карта с которой списать деньги> count: <Сумма перевода> descrition: <Сообщение> - перевод денег другому игроку или клану

    /transfer user: Withor_ cardname: Карта Мага count: 10 descrition: Спасибо за плагин
    
  • /swap card_1: <Название карты с которой вы хотите перевести Ары> card_2: <Название карты на которую хотите перевести Ары> count: <Сумма перевода> - перевод денег между своими картами

    /swap card_1: Карта Мага card_2: Вторая карта count:15
    
  • /set_default card: <Название карты> - изменение карты по умолчанию

    /set_default card: Вторая карта
    
  • /fines - список выписанных штрафов

  • /pay id: <ID штрафа, выводится при получение или при использование /fines> count: <Сумма оплаты> cardname: <Карта с которой хотите оплатить> - оплата штрафа

    /pay id: 24 count: 10 cardname: Карта мага
    
  • /stats - статистика топ игроков по балансу

  • /clancard_create cardname: <Название карты клана> - Создание карты для клана

    /clancard_create cardname: EnderBank
    
  • /clan_add username: <Ник игрока> - Дать доступ другому игроку к карте клана

    /clan_add username: Withor_
    
  • /clan_card - Информация о карте клана

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

  • /set_balance user_mc: <Ник игрока> cardname: <Название карты на которой изменить баланс> balance: <Новый баланс> - изменить баланс карты игрока
/set_balance user_mc: Mag329 cardname: Карта мага balance: 10
  • /cards_admin username: <Ник игрока> - показать карты и баланс указанного игрока
/cards_admin username: Mag329
  • /sql_console sqlcommand: <SQL запрос> - выполнить SQL запрос в базе данных
/sql_console sqlcommand: DELETE FROM users WHERE username = "Mag329"
  • /fine username: <Ник игрока> count: <Сумма штрафа> description: <Описание> autopay: <Авто оплата(True/False)> - выписать штраф игроку
/fine username: Mag329 count: 10 description: Просто так autopay: False
  • /fines_admin username: <Ник игрока> - список штрафов указанного игрока
/fines_admin username: Mag329
  • /unfine username: <Ник игрока> id: <ID штрафа> - удалить штраф игрока
/unfine username: Mag329 id: 50
  • /restart - перезапустить бота.
  • /government_add username: <Ник игрока> - выдать доступ к государственной карте
/government_add username: Mag329
  • /debug - получить файл с логами бота

Описание механик

Авто-оплата

Администратор который выдает штраф может указать значение для авто-оплаты True или False

При значение True функция считается включенной, в этом случае с счета игрока которому выдали штраф будут автоматически списаны средства. Штраф не будет отображаться в команде /fines. Это единственный случай когда баланс может стать отрицательным. Если это произошло блокируются функции, такие как:

  • /create_card
  • /transfer
  • /set_default

При значение False функция считается выключенной, в этом случае можно оплатить штраф через команду /pay, также штраф будет отображаться в /fines

Логирование

Все операции бота логируются в каналы на Discord-сервере (согласно конфигу) и в файл log_file.txt. Критические ошибки отправляются владельцу бота в Discord (можно настроить в конфиге).

About

OpenSource Discord bot for bank system on minecraft servers

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages