Level Requests Tutorial - Alex1304/ultimategdbot-gd-plugin GitHub Wiki
UltimateGDBot offers the ability for Geometry Dash players to request their levels and get feedback from a team of reviewers within Discord servers. This document will explain how level requests work and will show you how to properly configure them in your server.
- Players can request their levels in a submission queue channel using a submit command. The submit command accepts a level ID and an optional YouTube link, and creates a new post in the submission queue with the level info
- People in the Discord server with a configurable "reviewer" role have the ability to review levels that are in the submission queue. They have access to the review command, which accepts the submission ID and the review content
- Once a submission reaches a predefined amount of reviews, it gets removed from queue and sent in a different channel for archival. The player who submitted the level also gets notified in DMs.
- A limit can be set on the maximum number of submissions per person
Note: All commands listed here assume that you're using
u!as bot prefix. If you have set a different prefix, take it into consideration when trying those commands.
-
u!lvlreq- The base command for level requests. When used without arguments, it displays a summary of the current configuration in the server. An alias for this command exists,u!levelrequest. -
u!lvlreq submit <level_ID> [<youtube_link>]- The command to submit a level request. This command can only be run in the submission queue channel, and only if level requests are open. The YouTube link is optional. -
u!lvlreq review <submission_ID> <review_content>- The command for reviewers to add a review on a level. As for the submit command, this one can only be used in the submission queue channel. -
u!lvlreq review <submission_ID> revoke- Removes a review from a submission. -
u!lvlreq toggle- Command for server administrators to open and close level requests.
Note: By default, the review content does not accept line returns, they will be converted to spaces once saved. If you want to add line returns, the review must be inside quotes, like so:
u!lvlreq review <submission_ID> "<multiline_review_content>". This also implies that using quotes in your review might break it. If you need to use litteral quotes, you need to put a backslash before them. The following will work as intended:u!lvlreq review 1337 "This is a good level. The gameplay is kinda \"bad\", but the designs are awesome! Keep up the good work, 8/10."Also note that a single review cannot exceed 1000 characters.
Configuring level requests is done via the command u!setup. Follow these steps to get everything set up:
- Run
u!setup - Navigate to the Level Requests setup page using arrow reactions
- Click the 📝 reaction to enter edit mode
- An interactive menu opens. The last line says "Enter the new value in the chat to update it", it means you're supposed to write the value in chat directly, without any command. Once you send a value, the message will be edited and ask for next one, etc. For level requests you will be requested the following values, in order:
- submission queue channel - Defines the submission queue channel, where new submissions should be posted. This is the only channel where submit and review commands are working, so it is important that this channel is made public and with read/write access for everyone. Undesired messages that aren't submissions will automatically be deleted by the bot, so it is also important that the bot is given Manage Messages permission!
- archived submissions channel - Defines the channel in which reviewed levels will be sent for archival. It is recommended that this channel is read-only for everyone except the bot.
- reviewer role - Defines the role that will be allowed to add reviews on level requests. The
u!lvlreq reviewcommand is locked behind this role. - maximum queued submissions per user - Defines the maximum number of submissions that a single user may have in queue. This value can range from 1 to 20.
- minimum reviews a submission should have in order to be archived - Defines the number of reviews required before a submission is removed from queue and archived. This value can range from 1 to 5.
Once you have configured everything, you can open level requests using u!lvlreq toggle. If the toggle command fails, it means that you have forgot to configure some entries. ALL configuration entries are required, otherwise levels requests cannot be opened.
Is it possible to request twice the same level?
If someone attempts to submit a level that is already in queue, the command will give an error. Though, a level may be resubmitted after they get reviewed and archived. The same level may as well be posted in different servers without interfering.
Can I review a level twice?
No, each reviewer can only post 1 review per submission. If a review already exists on the target submission, using the review command again will override the previous one.
Can reviews be added on archived submissions?
No, submissions that were moved out of the queue are permanently archived and cannot be touched nor reopened anymore.
What if someone trolls or shitposts in the submission queue channel?
The bot should automatically delete all messages that aren't submissions from submission queue channels. If it doesn't, make sure that the bot has Manage Messages permission in the submission queue channel. In the case where the user is submitting troll levels or inappropriate levels, the appropriate action to take is to lock the user out of the submission queue channel. Since the submit command only works in that channel, denying write permissions from this channel to any user will prevent them from requesting any levels.
How to delete undesired submissions?
If you deem a submission to be invalid (for example someone requests a featured level while you have a server rule telling not to request featured levels), you can delete the submission by simply deleting the message from the queue. Once a message is manually deleted from queue, it will be removed from database and cannot be interacted with anymore (trying to review such deleted submissions will fail).
What if an admin wants to send a message in the submission queue channel, for example to pin submission rules?
By default, the bot automatically deletes all messages from the queue that aren't submissions, including those made by server admins! If you as a server admin want to send a message in queue directed at members of the server (an announcement, a reminder, a set of rules, etc), make sure to temporarily revoke Manage Messages permission from the bot before sending your message, otherwise it will be deleted.