Skip to content

Latest commit

 

History

History
359 lines (345 loc) · 12.2 KB

autolevel-plugin.md

File metadata and controls

359 lines (345 loc) · 12.2 KB

AutoLevel Plugin

The autolevel plugin provides a guild leveling system that can also reward roles to members for participating in chat and voice.
The heimdallr autoleveling system also provides a means to have multiple guild leveling systems running at the same time. This can be used for things such as having specific category participation rewarding particular roles over another category which may reward another role. Each leveling system can be customized to have its own configuration.

Commands

Name Description Default Level Usage

!level

or

!rank

Shows the users current points and levels in the current location that the command is run. 0

!level

or

!rank

!top Shows guild top 10 plus your ranking in the guild 0 !top

!alevel show [user]

or

!alevel ls [user]

Allows the moderator to list all autolevel indexes the user belongs to currently. Moderator

!alevel show 76685590585671680

or

!alevel ls 76685590585671680

!alevel level [rank]

or

!alevel rank [rank]

Displays how many points are required to reach a specific rank. Can be used to determine how many points to set in the config. Moderator

!alevel level [rank]

or

!alevel rank [rank]

!alevel give {user} {points} [index]

or

!alevel add {user} {points} [index]

Adds a specified number of points to the user in the specified index. If no index is selected the default '0:0' is used which may or may not exist. Administrator

!alevel give 76685590585671680 10000 0:0

or

!alevel add 76685590585671680 1000 0:0

!alevel take {user} {points} [index]

or

!alevel rm {user} {points} [index]

Removes a specified number of points to the user in the specified index. If no index is selected the default '0:0' is used which may or may not exist. Administrator

!alevel take {user} {points} [index]

or

!alevel rm {user} {points} [index]

!alevel import {type} {guildid} [index]

Allows importing of mee6 or tatsumaki scores into a guild.

type can be either mee6 or tatsumaki

Global

+ Admin

!alevel import tatsumaki 76685590585671680 [index]
## Configuration Options
Option Description Type Default
include_roles Which specific roles are included. If nothing is specified all roles are included. snowflake list []
exclude_roles Which specific roles are excluded. snowflake list []
include_channels Which specific channels are included. If nothing is specified all channels are included. channelfield list []
exclude_channels Which specific channels are excluded channelfield list []
include_voice Which voice channels are included if any in this configuration. No voice channels are included by default channelfield list []
include_voice_category Which specific categories will have all child voice channels included in this configuration. channelfield list []
include_category Which specific categories are included channelfield list []
exclude_category Which specific categories are excluded channelfield list []
multiplier Dict of how many points are awarded for each message or minute of voice activity dict None
multiplier_roles

Dict of any roles that when applied award an additional multiplier of points off the base value. Format is

roleid: x

dict None
weight Applies a weighting to each multiplier type. For example the default weighting for message is 5 and the default multiple for message is 25. Weight will +/- the weight (5) and the points awarded will fall within this range (20-30). dict None
levels Dict defining the number of points and the appropriate role that will be added to the user. dict None
keep_previous If previously added roles will be kept when gaining the subsequent level bool False
announce_msg Message to be posted when the user reaches a level str None
announce_chan Channel the message will be posted to channelfield None
announce_dm If the message will be DM'd to the user bool False
seconds_per_point Number of seconds that must wait for another point to be applied int 60
category Dict containing a category id and configuration using all above options except another category dict None
level_footer_url Image URL (must be real, well-formed) for the level footer. Will default level footer to guild icon if not defined. str None
## Multiplier Sub Configuration
Option Description Type Default
message Number of points per message int 25
voice Number of points per 1 minute of voice activity int 25

Weight Sub Configuration

Option Description Type Default
message +/- how many points of multiplier message points int 5
voice +/- how many points of multiplier voice points int 5
seconds +/- how many seconds of seconds_per_point int 15

Configuration Example

autolevel:
  seconds_per_point: 1
  keep_previous: true
  multiplier:
    message: 8
  levels:
    1000: 536728628680196126 
    2000: 536728691795951619 
    3000: 536728730714898442
  category:
    9843950989345098345:
      include_roles:
        - 3245098734095345980340
        - 239045823094823094823
      include_voice_category:
        - 9843950989345098345
      multiplier:
        message: 12
        voice: 25
      multiplier_roles:
        536728691795951619: 2
      weight:
        message: 2
        voice: 10
        seconds: 4
      levels:
        500: 2385947349805897345
        1500: 3245987345987345987
        3000: 34534509834509340598
        10000: 324590834509853450985
      keep_previous: true
      seconds_per_point: 15
      announce_msg: {user} has leveled up!! yeet!
      announce_chan: 3454908448974987444
    2394823904823487897:
      exclude_channels:
        - 238945723472384234987
        - 2354987324598734598755
      multiplier:
        message: 100
      levels:
        10000: 3458973458937534598
        25000: 23458974328974234984
        50000: 3459083450983458738
      seconds_per_point: 30
      keep_previous: true
    

Notes

The autolevel plugin requires an option to be set in the config.yaml for the tatsumaki API key.

other:
  TATSUMAKI_API_KEY: '3298472389-4723948723-498723'