-
Notifications
You must be signed in to change notification settings - Fork 0
V. Commands
These are commands that must be actively called by a user to take effect. Along with the command call itself (i.e. !command), they often require, or optionally allow, several other parameters to be given. Parameters are positional by Discord's restrictions, meaning the orders and amount will always matter.
- Everything is cASe-SenSiTIve.
- Position matters.
- Channel matters.
- Your roles matter.
- Good Practice: Put all your parameters inside quotes like "this".
These commands help Guest users to give their information and get a general idea of the org when Orientation members are not available.
@bot.command(name='interview',
brief=" = Begins an interview with whichever "Guest" calls it.",
description="Begins an interview with whoever calls it. After completion and submission of the interview, it will create an entry in the long-term JSON file.")
@commands.has_role('Guest')
@commands.cooldown(1, 1800, commands.BucketType.user)
async def dm(ctx):This function has no parameters, and can only be called on its own with no modifiers. It has a few requirements:
- must have "Guest" role
- must be in specified channel
#request-orientation
It starts a DM with the user who called it, then works in tandem with the event handler, on_raw_reaction_add, to identify the user's choices and submit them into the designated orientation logging channel. Simultaneously, upon submission by the user, it will add them into the long-term JSON file logs. After that it will simply wait for approval or denial of the log before moving on, making changes to the user's roles and nickname, and finalizing their admission/denial to/from the org.
These commands help orientation members manipulate and cite the long term longs. These long term logs have the benefit of persistence, allowing us to keep an archive of every user, interview, and bad apple we may come across. It also allows us an easy way to keep track of immutable descriptors, such as a user's Discord ID number.
@bot.command(name='create',
brief=" = Manually creates a log entry for a given user and log message.",
description="Manually creates a log entry for a given user and log message. REQUIRES A MINIMUM OF MESSAGE_ID AND USER_ID. All other parameters are optional but must be given in order if you desire to use them. Otherwise use the command !update after creating the log.\n\nmessage_id = (INTEGER) The ID of the message in Orientation Log Channel for the user's interview.\nuser_id = (INTEGER) The Discord User ID of the member.\ndiscord_username = (STRING) The Discord username of the member.\nrsi_username = (STRING) The RSI username of the member.\nnotes = (STRING) Anything you may want noted within the log.\nadmitted = (BOOLEAN) Whether or not the user has been admitted. True=admitted, False=denied, Null=pending.\nred_flag = (BOOLEAN) Will notify Command if a user joins that can be found in logs with this flag. True=notify, False=default.\nred_flag_msg = (STRING) Whatever message you may want displayed when a flagged user joins.")
@commands.has_role(ORIENTATION_ROLE_NAME)
async def create(ctx, message_id:int, user_id:int, discord_username="", rsi_username="", notes="", admitted:bool=None, red_flag:bool=False, red_flag_msg=""):!create will do as you expect and create an entry in the long term logs. It takes a minimum of two parameters, in this order:
- the message ID of the user's interview in
#recruit-logging - the Discord ID of the user who is being logged
It also has a few requirements to be called:
- must have "Orientation" role
- must be in specified channel
#recruit-logging
It does have several optional parameters though, if you would like to fully fill out the log on the first call of the command. The other option would be to use !update after the initial log has been made. The full parameter list is as follows:
-
REQ the message ID of the user's interview in
#recruit-logging - REQ the Discord ID of the user who is being logged
- OPT the user's discord username
- OPT RSI username
- OPT notes you want applied to the user
-
OPT admitted (boolean). meaning the only two options are
TrueorFalse -
OPT red flag (boolean). meaning the only two options are
TrueorFalse -
OPT the red flag message if you wished to set red_flag to
True
@bot.command(name="update",
brief=" = Will update a log, given an ID and the item you want updated.",
description="Update a log, given an ID and the item you want updated. The key and value pair provided will be what is updated, and what it is updated to.\n\nFor reference, 'KEY':'VALUE' is how it appears in the logs while using the !find command.")
@commands.has_role(ORIENTATION_ROLE_NAME)
async def update(ctx, search_ID, key, value):@bot.command(name='find',
brief=" = Find a log by giving it an ID or name.",
description="Will find a log by giving it log's message ID, the user's discord ID, an RSI username, or a Discord username. It will search numerical queries through messageID and discordID first. It is recommended to not rely on using the Discord username, as it can easily be changed.")
@commands.has_role(ORIENTATION_ROLE_NAME)
async def find(ctx, query):| Home
| INVFED Website
| INVFED RSI Page
| INVFED Discord Server
| Turtle-12 GitHub
| Please report issues on the issues page.
|
This is an unofficial Star Citizen tool, not affiliated with the Cloud Imperium group of companies. All content on this site not authored by its host or users are property of their respective owners. This project is not endorsed by or affiliated with the Cloud Imperium or Roberts Space Industries group of companies. All game content and materials are copyright Cloud Imperium Rights LLC, Cloud Imperium Rights Ltd, Star Citizen®, Squadron 42®, Roberts Space Industries®, and Cloud Imperium® are registered trademarks of Cloud Imperium Rights LLC. All rights reserved.