Skip to content

Releases: NoNameSpecified/UnbelievaBoat-Python-Bot

Legacy version 2 of Skender

06 Dec 18:18
51b73e9

Choose a tag to compare

released: 2025-12-06
Hello !

I have started working on a version 3 of Skender, so

This release preserves a snapshot of the version 2 of the UnbelievaBoat-Python-Bot (now called Skender).

New updates will only come with v3 ; the current repo with v2 will only be updated if there are critical issues.

This release mostly serves archive purposes.

I want to repolish the code and make it more "modern" aswell as introducing a 2 currency system.
This will be purely optional, you will still be able to just use the "normal" currency.
If you want to use the two currencies, it is supposed to work like gold and gems, one being more rare.
Additionally, I want to improve a few commands aswell as documentation (see command-list.md preview below) etc.

v3 will include a new migrations script, compatibility between the old json version and version 3 will be done through first upgrading the database to v2 and then to v3.

Timeline: there is no fixed timeline, so v3 could still take some time, as I just develop this as a hobby.
For questions or recommendations, you can contact me on discord (@kendrik2.0).

Thank you for using this bot and happy christmas time !


Here's a preview of the new command-list.md I'm planning.

📜 Command List && Infos for Skender Bot v3.0 (in development)

Last updated: 2025-12-06
Official Repository: github.com/NoNameSpecified/UnbelievaBoat-Python-Bot
👉 For setup instructions, see README.md, for version info, see version-info.md

Prefix used here: +
You can change it in main.py.

<this> means required parameter, [this] means optional parameter


0. New secondary currency

Skender v3 introduced secondary currency. You can name this currency as you wish and must give it a custom emoji
if you want to use it. You can also skip it during setup, then you will just have normal "money" commands.

The bot-commands and explanations here will be referring to "gems" since it's supposed to simulate gold/gems economies.
For example, you can make certain items worth 10k "normal money" and others 100 gems, but these gems would be much rarer.

The custom name you chose for your secondary currency (if any) is independent of the "gems" name for commands.
Example: if you have secondary currency "emeralds", you use +add-gems [at]user1 100, but it will still show
"added [emeralds_emoji] emeralds to user."


1. ℹ️ Information

  • Help page: +help

2. 🎲 Mini-Games

Mini-games come with multiple customizations regarding minimum and maximal amounts to gamble as well as delays (in seconds).
This allows you to control inflation / gamble risks regarding your economy.

  • Blackjack: +blackjack <bet>
  • Roulette: +roulette <bet> <space>
  • Loot-Boxes: TODO

(todo: Loot boxes are only creatable by admins ! See below.)


3. 💰 Balance & Money

Additionally to these commands, you can add a custom (money or gems) passive chat income with a custom delay (in minutes).
Passive chat income can use channels with mode include (-> only messages in these count) or exclude (-> all except these).

  • Economy Stats: +stats
  • Check Balance: +balance
  • Deposit Money: +deposit <amount or all>
  • Withdraw Money: +withdraw <amount or all>
  • Give Money: +give <@member> <amount or all>
  • Wire: +wire <@member> <amount>
    ℹ️ This transfers gems and is thus accessible only if you have set a secondary currency !
    Setting "all" is disabled for security measures, since gems are supposed to be precious.
  • Server Leaderboard: +leaderboard [page] [-cash | -bank | -(sec.curr.name) | -total]

3.1 Admin Commands – Balance & Money

Handling specific user balances.

  • +add-money <@member> <amount>
  • +remove-money <@member> <amount> [cash/bank] – default target: bank
  • +add-gems <@member> <amount>
  • +remove-gems <@member> <amount>

Adding or removing money/gems to all users who have a certain role:

  • +add-money-role <@role> <amount>
  • +remove-money-role <@role> <amount>
    ℹ️ Removes from bank. If amount > user balance, it sets balance to 0 and does not create debt.
  • +add-gems-role <@role> <amount>
  • +remove-gems-role <@role> <amount>

Cleaning database:

  • +clear-db

ℹ️ This command:

  • removes users who left the server from the database (irreversibly) and
  • checks the database for outdated channels, roles, items that might still be set in database but are actually
    already removed from server.

4. 💼 Income Commands

  • +slut
  • +crime
  • +work
  • +rob

These income commands are completely customizable regarding: currency type (main/secondary), delays, probability of winning/losing,
minimum and max revenue and lose/gain percentages.
work always works (lol), the others have win/loss probabilities in %.
rob lets you gain a percentage of someone else's cash or makes you lose a percentage of your own balance.
crime and slut give you a random revenue between fixed minimum to max values. Loss is in percentage of balance.


5. 🛠️ Customization (Admin only)

To customize the bot, you can change the code of course. If you want customization of already included things like
for the income commands, you can use these commands or directly edit the database - but you need to be sure to enter the
right expected type of value etc.

  • +module-info [module]
    Get module (income commands) info. You can use this info to later edit the values.
    If you don't know the module names, just use +module without any parameter.
  • +change-variable <variable> <new value>
    Change variable settings
    Tip: Use +module first and then use change-variable / change-action.
  • +change-action <action_name> <variable> <new value>
    Example: to change delay (cooldown) for blackjack.
  • +change-currency <new emoji name>
    Only emojis uploaded to your server are valid, not a discord wide one.
  • +set-income-reset <false/true>
    Controls whether income accumulates or if you always only get one-day-income.
    By default, it is set to true.
  • +set-passive-chat-income <amount>
    Passive chat income means that the user receives a certain sum for being active and sending messages.
    The income gets added to bank automatically without informing the user.
    The cooldown for this is the same as for gaining xp per message.

6. 🎁 Items

  • +buy-item <item_name> <amount>
  • +give-item <@member> <item_name> [amount]
  • +inventory [page] – See your own inventory
  • +user-inventory <@member> [page] – See another user's inventory
  • +use <item_name> <amount> – Removes it from user's inventory.
  • +catalog [item_name]
    Just +catalog shows a list of all items available.
    +catalog name shows detailed information of a specific item.

6.1 Admin Commands – Items

  • +create-item
  • +delete-item <item_name>
    ℹ️ Completely removes item for everyone
  • +remove-user-item <@member> <item_name> <amount>
  • +spawn-item <@member> <item_name> [amount]
    ℹ️ Adds an (already created) item to inventory

Items also include the possibility to customise: fancy names, expiration dates, amounts in stock, max ownable amount,
required and/or excluded roles to buy, given and/or removed roles on buy, maximum balance to buy (excluding too rich users)
and a custom "thumbnail" which shows when you view the catalog entry for a specific item.


7. Income Roles

Users with one or multiple specific "income" role(s) will receive daily income (e.g., 100 = 100/day).

  • +list-roles
  • +collect

Every user can use this command once a day.
Default behaviour: you can only get 1 income per role, aka not accumulating days without collecting.
You can change this by changing income_reset to false (see Customization).
Can/should be disabled depending on if you want to use update-income

7.1 Admin Commands – Income Roles

  • +add-income-role <@role> <income>
  • +remove-income-role <@role>
  • +update-income-role <@role> <new_income>
  • +update-income
    Pays all users with income roles.
    ⚠️ Also affected by income_reset.

💡 Tip:
Use +collect with income_reset set to true (default) and avoid using update-income.
To disable +collect, edit bot.py and comment out the relevant block (elif command in ["collect" ...).


8. Levels

  • +level [@member] – View own or mentioned user’s level
  • +all-levels – Overview of all levels & rewards
  • +level-lb [page] – Level leaderboard

8.1 Admin Commands – Levels

  • +change-levels – see below.
  • +add-xp <@member> <amount>
  • +remove-xp <@member> <amount>

Levels are customizable in regard to thresholds, rewards and specific channels (include / exclude) – uses the same channels
as set for passive chat income !
Possible rewards include (none or any) money, gems, items, roles to give as well as roles to remove.

ℹ️ To modify passive chat income, use +set-passive-chat-income


Legacy JSON version.

27 May 23:22
7463f60

Choose a tag to compare

Hello,

This release preserves a snapshot of the original "legacy" version of the UnbelievaBoat-Python-Bot.

It was built as a JSON-based database system. While functional, it was not highly optimized and brought some json-specific limitations with it. Development of this original version started in early 2021 and is now officially discontinued as of May 2025.

Instead, a new version will replace it soon via a main branch update. It will include:

  • a more performant and reliable SQLite based database structure,
  • a fully reworked database handler (database/init.py),
  • added functionalities and improvements to main.py,
  • a migration script to easily convert your old .json database to SQLite without losing data.

I'll probably also work on further updating main.py to a more up to date version after finishing the "backend" switch to SQLite.

About this version:

This release will preserve the final state of the legacy version of this bot.
It still offers a functionable economy bot for your discord server, but will no longer receive updates.

Thank you for using this bot !