Code Monkey home page Code Monkey logo

unb-api-py's Introduction

unb-api-py

unb-api-py allows python developers to use the UnbelievaBoat Discord bot API in their own projects! Here's how to get started:

(documentation is coming not-so-soon)

Getting Started

  1. Install the library
pip install unbapi
  1. Create an UnbelievaBoat Application at https://unbelievaboat.com/applications and copy the token (keep this secret)
  2. Import the library, and create an Application object. Example:
import unbapi

unbapp = unb.Application("put the token here from step 2.")

You've now created an Application object. This allows you to get or fetch a guild object. Here's how to get a guild object:

guild = unbapp.get_guild(guild-id)

This will create PartialGuild object. This allows you to do every action in the guild but doesn't have much information about the app. If you need guild information, such as the name, icon, currency symbol, etc then you should use unbapp.fetch_guild which gives a Guild object. However, fetching information is slower then 'getting' it.

A PartialGuild, or Guild object allows you to do things inside of a guild (as long as you have permission), such as: fetching a user's balance (and changing it), getting store items, adding/removing items from user's inventories, and more. Here's how to do each:

Examples

Check the bot's permissions in a guild

permissions = guild.fetch_permissions()
print(permissions.economy, permissions.items)

Getting a user's balance

user = guild.fetch_user(user-id)
print(user.cash, user.bank, user.total, user.rank)

Updating a user's balance

This example will add 400 cash to their balance, and remove -100 bank from their bank balance.

user.update_balance(cash=400, bank=-100)

Setting a user's balance

This example set the users cash to 1000, and their bank balance to infinity

import math

user.set_balance(cash=1000, bank=math.inf)

Getting a list of all the items in a user's inventory

for item in user.fetch_inventory():
  print(item.name, item.id, item.quantity)

Check how much of an item a user has

user.fetch_item_quantity(item-id)

(check out getting an item ID below)

Add item to user inventory

user.add_item(item-id, quantity=1)

(check out getting an item ID below)

Remove item to user inventory

user.remove_item(item-id, quantity=1)

(check out getting an item ID below)

Get guild leaderboard

for user in user.fetch_leaderboard():
  print(user.id, user.rank, user.total)

Get guild store items

for item in user.fetch_items():
  print(item.name, item.id, item.price)

Delete guild item

item.delete()

Editing guild items will come some time in the future.

Exceptions

The library may raise these exceptions: unbapiException Base exception for the library NotFound The resource couldn't be found InvalidToken The provided token isn't valid Forbidden The bot can't access this TypeError For a function that accepts ObjectWithIdAttribute, the provided object doesn't have an id attribute.

Getting an Item Id

  1. Use the /item info command from unbelivaboat
  2. Click the blue command text after ' used'
  3. Copy the long string of numbers in the popup. Example: image

unb-api-py's People

Contributors

treeben77 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.