Princess Bot About Princess Bot Princess Bot is the core control bot in use on CCC's servers. It performs a number of important tasks to maintain and manage the server.     What is Princess Bot? Princess is an instance of Red Discord Bot an open source bot. It runs currently under docker on a box located at Underestimated's House. How does Princess Bot Work? Princess bot uses plug in functions called 'Cogs' to provide different functions and tools. It has fun and utility functions all in the same place. We interact with the bot primarily via ! commands, which tell the bot we're talking to it specifically. However some functions also use / commands, which also give you a little guide when writing them, so that you know you're giving it the info it needs. What does CCC use the Princess Bot for? We use it for many things but in short we have Utility: Ticketing and Support Requests (Including feedback and Question of the Day) Mod Only Welcome channel cleanup (Autodeletes messages) Mod Only Seen Tracking and User Presence checking Mod Only Reminder Management and Automatic Notifications Temp Roles In Development Channel Cleaner Mod Only Birthday Roles and Announcer (not enabled yet) Useful: Website Down Checking Embed Creator Emoji Stealer and Uploader Custom Commands and Responses Automatic Reactions Mention Checker Unit Converters Button Polls Fun: Starboard Bot Says Game Citation Generator Hangman Monopoly Performative Reactions Plant Tycoon Tic-Tac-Toe Wordle Potential Planned Future Functions: Automod Replacement (Still working that out) Mod Sanctioning System (Replacing Dyno) Welcomer (Swapping from Dyno) Mod logger and Activity Tracker (Replacing Dyno) Bot Command Formatting Guide When you read through this wiki, you will see many examples of commands you may need/want to enter. These follow a fairly simple syntax but if you're not aware of it you may end up entering in stuff that the bot has no idea on how to handle. This quick guide will help you understand how we document commands. Data You Need To Input Following standard computing terminology, we will document commands that need information from you with a descriptive insert into the command example. These are referred to in standard terminology as arguments. These will be encased in special bracket characters such as [ ] < > When you see these characters, you don't actually want to enter them into the command. Instead, you will need to replace that whole segment including the brackets with a response. Brackets that are written as [ ] are optional you do not need to fill these out for the command to execute correctly. However brackets written as < > are absolutely required. The command will not execute unless these are met. For example, The command for a ticket embed is documented as follows: !tickets embed [colour] [channel] <description> and if you were to enter that you would need to fill out the arguments with something like this. !tickets embed 012356235234 Hello Hello and Welcome In the example we have ignored the colour option as it's optional, and filled out the channel title and description. Some commands like this one determine the next argument by spaces, and if you need to add a space (Say to the title) you just enclose that argument in double quotes. !tickets embed 012356235234 "Hello There!" Hello and Welcome This can be inconsistent though, so on our documentation we will explicitly tell you when you need to use double quotes. Reminder Management and Automatic Notifications The reminders cog by AAA3A Cogs is an incredibly powerful and flexible tool we can use for many different functions. The bot can be programmed to say a message on a recurring time schedule, it can remind you privately about things you need to remember, it can trigger bot commands for you on repeat, and even produce discord timestamps for you. NOTE: There is a problem with the base /remind command. Despite it being listed as a function, only use it with a subcommand such as /remind say or /remindme Before Using the Commands Before you first use any command, you need to configure your timezone. You only ever do this once, and then the bot will remember it forever. Simply enter /reminder timezone and discord should pop up a list of timezones for you. Find the one that is closest to you and select it, then send the command. This will ensure that the bot operates in the correct timezone for you at all times. Time Parsing Tips Direct from the bot, you can get these by issuing the command /reminder timetips Bot Tips Time Parsing Tips Allowed absolutes are: • eoy - Remind at end of year at 17:00. • eom - Remind at end of month at 17:00. • eow - Remind at end of working week (or next friday) at 17:00. • eod - Remind at end of day at 17:00. Allowed intervals are: • years/year/y • months/month/mo • weeks/week/w • days/day/d • hours/hour/hrs/hr/h • minutes/minute/mins/min/m You can combine relative intervals like this: • [in] 1y 1mo 2 days, and -5h • on 29th may at 18h, and every year Timestamps and iso-timestamps are supported: • For ISO, be aware that specifying a timezone will ignore your timezone. Dates are supported, you can try different formats: • 5 jul, 5th july, july 5 • 23 sept at 3pm, 23 sept at 15:00 • 2030 • [at] 10pm • friday at 9h Note: the parser uses day-first and year-last (01/02/03 -> 1st February 2003). Cron triggers are supported: • Check https://crontab.guru/. Unders Tips You can get a simple repeat out of the bot by using the word every i.e. you want a reminder at 11am Sunday? You write 11am Sunday but if you want it 11am every Sunday you write 11am every sunday List out your reminders Command /reminder list A simple function that will list out all your active reminders. It will give you the reminder ID number as well so that you can edit your reminder. Have the bot send a message at a specific time Command /reminder say time:<time> text:<message> destination:[Channel] Use the slash command for this and click each prompt, it's much simpler than typing the fields yourself This is the most important function of the reminder tool. It can be set so that the bot can say a message at a specific time and if needed in a specific channel. With the right syntax, you can set up recurring reminders at specific times to send messages or ping specific roles (like reminding members about Trivia) A quick guide on setting up a recurring reminder with /reminder say The command to create a reminder that sends a message in a channel is /reminder say Discord will instruct you on what to add. Write the time relative to you, for example 11am Every Sunday. Then press message and enter what you want the bot to say. You can @ groups and people like normal, because it's a slash command they won't get a notification when you make it. Once your message is right press destination and pick the channel it will go to. Send the message, a confirmation will appear. A fully configured /reminder say command for pinging a role to remind them of the Jackbox Games Event Confirmation of the reminder being set Should you need, you can edit the reminder and its repeat from here. Edit an existing reminder Command /reminder edit <Reminder ID> It's easier to do this after generating a list of your reminders, so do that first. Once you have this list, you can enter the /reminder edit command and specify the number of the ID you want to edit. Once you send that you'll get a response like this: You can use the buttons under the reminder to adjust it's settings, add repeat rules and edit its behaviour. These are all fairly intuitive so I won't go into depth on these here.