Git Product home page Git Product logo

startrade's Introduction

Startrade

Startrade is an advanced roleplay community with a a discord server and a custom bot built from the ground up. Endless player opportunities and an emergent economy, as well as effective server moderation and general task automation are just a few of the goals of Startrade. You can join the community here: https://discord.gg/vcCyNFt

#Features:

  • Automated economy with multiple ways of earning income
  • Buy and sell dozens of commodities across dozens of locations
  • Monitor and reward user activity, ignoring spam with smart techniques
  • Detailed and customizable permissioning
  • Moderation assistance
  • Rule enforcement

#Detailed Features:

  • Monitor activity and provide 'activity points' based on message complexity, pace and word variety instead of simply number of messages sent
  • Assign members a 'Verified' role upon acceptance of the rules in order to gain access to the server
  • Add each member to a database upon registration to keep track of personal money, investments and inventory
  • Create new items and register new locations with a command, saving them to the database
  • Edit and remove items and locations with commands
  • Shop browse command:
    • Browse by category
    • Browse all items
    • Show details and image of a specific item
    • Fuzzy matching
  • Buy and sell commodities at different prices depending on location
    • Allow players to transfer to a new channel after reaching sufficient chat activity in the previous one to prevent spam, command to travel to a new channel
    • Different locations have fully configurable buy and sell prices, and may not buy or sell everything
    • Prices vary even at the same location slightly from moment to moment
    • Commands to view all possible buys and sells that you can afford, or below a given price
    • Pull list of locations and buy and sell prices from a google sheet using the google api, to allow comfortable editing of these values
  • Invest money in a non-withdrawable account for small % returns over time, automatic configurable payouts on the hour
  • Top command to list users by money, invested money, or activity
  • Nuanced dice rolling command
    • Roll one die or a hundred thousand; specifiy number of dice or not, specify number of sides or not
    • Configurable defaults
    • Change display results depending on number of dice rolled
    • Display automatically tallied total when rolling more than one die
    • In the command specify meaning for die rolls, that is then mapped onto the results
  • Commands to check your balance, send others money, buy and sell items, view your items
  • Remind users arbitrary messages on request, and remind other users
  • Emoji polls
  • Custom permissions system with Authorization levels 1-10 for management commands
    • Commands to check and update member authorization, list all authorized members, etc.
  • Ignore Channels
  • Log all server messages and embeds to organized log files
  • Log message edits and deletions, including bulk deletions, to a logging channel
  • Time, echo and ping commands, commands to message a user, change playing status
  • Configurable server prefix that can vary from server to server
  • A 'viral' Certified Literate role: May be assigned by anyone with the role and indicates a high quality of roleplay. There is an automatically assigned currency reward for achieving this, and appropriate logging.
  • Bot management commands: List users, direct database query, evaluate code snippet, delete single message by id, add an item to a user, add money to a user, distribute investment payouts on demand in addition to automatically, edit a bot message, delete multiple messages, kick ban or unban a member, or remove all the pins in a channel.
  • Load, unload and reload modules to change functionality without going offline

#Deployment: Please note, this bot was created for Startrade specific use without broader deployment in mind. You are welcome to use or adapt the code for your own purposes (As long as you follow the license, which includes making freely available a copy of your complete associated source code) but its offered as is and I may introduce breaking changes without notice; this is an in-dev project.

  • Create a bot in the discord dev portal
  • Install postgresql. Create a db user with read/write access for the bot to use
  • Clone repo, obviously
  • install requirements.txt
  • Authorize google sheets api on your account and create a token.json file in your repo
  • Create a file called 'privatevars.py' in the base directory and populate it with: TOKEN = 'your token from dev portal' DBUSER = DBPASS = 'your username and password from postgre
  • Create a database named 'startrade' in postgresql. Its hardcoded to use this name but you can change it in database.py or refactor the name out if you like

startrade's People

Contributors

dependabot[bot] avatar vyryn 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.