DisCal - The Officially Unofficial Discord Calendar Bot

Below is full documentation on DisCal commands.

 

This documentation includes the command, acceptable arguments, an example, and an explanation for each and every command DisCal has to offer.

Since many commands have sub-commands and functions, this page will be split into sections for each.


Event Demo

Calendar Demo

Announcement Demo

!calendar commands
Alias: !cal

Command

Acceptable Arguments

Example

Description

 !calendar create  !calendar create <name, spaces allowed>  !calendar create example Calendar  Creates a calendar with the specified name (and starts the creation process). DisCal will walk you through this process as well.
 !calendar edit  !calendar edit  !calendar edit  This launches the calendar editor if you have already created a calendar. Use this to change any calendar values with the regular calendar creation commands if you entered something wrong.
 !calendar description  !calendar description <desc, spaces allowed)  !calendar create My example calendar  Sets the description of the new calendar.
!calendar timezone  !calendar timezone <timezone>  !calendar timezone America/Chicago   Sets the calendar's timezone. Must be a valid timezone according to the TZ database.
!calendar review !calendar review !calendar review Displays info about the calendar you are creating, allows verifying of correct date before creation.   
!calendar cancel !calendar cancel !calendar cancel Cancels the creation of a calendar. 
 !calendar confirm  !calendar confirm  !calendar confirm  Confirms that the calendar info is correct and creates the new calendar
!calendar delete !calendar delete !calendar delete

Deletes the calendar from Google and DisCal's database.

NOTE: You must have the "MANAGE SERVER" permission in order to delete the calendar!!!

NOTE: Once deleted, you may create a new calendar.

!calendar remove !calendar remove !calendar remove

Deletes the calendar from Google and DisCal's database.

NOTE: You must have the "MANAGE SERVER" permission in order to delete the calendar!!!

NOTE: Once deleted, you may create a new calendar.

 

*** Note: These commands are only used on initial setup, after a calendar is created, it will no longer allow you to create a new calendar! You may however edit your calendar or delete your existing calendar to create a new one***


!event commands

 Command

Acceptable Arguments

 Example

Description

 !event create !event create
!event create <name/summary> 
 !event create
!event create My event name/summary
Begins creation of a new event. DisCal will walk you through this process as well! The event summary is technically it's name according to google! 
 !event edit !event edit <event ID>   !event edit  9aiifsgpbaqfjh00iufeu2qsu8  Begins editing an already created event that has been confirmed. Use this to go back and change anything in the event with the same commands you used during creation.
!event copy !event copy <event ID> !event copy 9aiifsgpbaqfjh00iufeu2qsu8  Copies an event from the Guild's calendar. Once the event has been copied, DisCal will walk you through editing the event's settings to add it to the calendar.

NOTE: As of the latest version, this WILL NOT copy recurring event's recurring properties. This is a work in progress!
 !event summary !event summary <summary, spaces allowed> !event summary My event summary  Sets the event's summary. This is technically its name according to Google! 
!event description  !event description <description, spaces allowed> !event description My example Event  Sets the event's description. 
!event startDate 
!event start

 !event startDate <date/time>

!event start <date/time>

!event startDate 2017/01/31-10:00:00
!event start 2017/04/20-09:15:00
Sets the event's start time. Format is shown. This is in military/24 hour time. 
!event endDate 
!event end
!event endDate <date/Time>
!event end <date/Time> 

  !event endDate 2017/01/31-14:45:00
!event end 2017/04/31-03:30:00

Sets the event's start time. Format is shown. This is in military/24 hour time. 
!event review !event review  !event review   Displays the event's info before entered onto the calendar.
!event cancel   !event cancel !event cancel  Cancels creation of a new event. 
!event confirm  !event confirm !event confirm Confirms the event you have been creating and adds it to the calendar. 
!event delete  !event delete <event id>  !event delete 9aiifsgpbaqfjh00iufeu2qsu8   Deletes the event with the given ID. This is the event Id from the calendar. found when the event is listed from the !events command.
 !event view !event view <event id> !event view 9aiifsgpbaqfjh00iufeu2qsu8   Prints out detailed info on the specified event. 
!event color

!event color <color name>
!event color <color ID>
!event color <hex>
!event color list

!event color Mac_And_Cheese

!event color 1
!event color E1E1E1
!event color list

Sets the event's color.
At the moment this color is only reflected in the event and announcement embeds and does not appear on the google calendar itself.
Please visit here to see all supported colors (Google supported colors only)
!event image

!event image <image url>

!event image http://i.imgur.com/b7r1f.jpg

This will add an image to the event which will be displayed during announcements as well as when the event is listed with the !events command. At the moment .jpg, .jpeg and .png image links are supported.
!event recur

!event recur <true/false>

!event recur true

Sets whether or not the event should recur (repeat).

If set to 'true' DisCal will walk you through the steps to configure its recurrene to how you would like.

!event frequency

!event frequency <TYPE>

!event frequency DAILY

Sets the frequency of the recurring event.

Valid types are: DAILLY, WEEKLY, MONTHLY, YEARLY

!event count

!event count <amount>

!event count 10

Sets how many times the event should recur.

NOTE: Use '-1' or '0' to make it infinitely recur.

!event interval

!event interval <number>

!event interval 2

Sets how the event will recur based on it's respecive frequency.

EXAMPLE: If frequency is MONTHLY, setting interval to '2' will make the event recur every OTHER month, whereas 1 will recur EVERY month.

!announcement commands
Aliases: !a !ann !announce !alert !alerts

 Command

Acceptable Arguments

 Example

Description

!announcement create !announcement create !announcement create Starts the Announcement Creator. DisCal will now walk you through the process of creating new announcements!
!announcement edit !announcement edit <ID> !announcement edit 55210ce8-8fed-43ca-9642-3225525baed9 Edits an existing announcement that has already been confirmed. Use this to go back and change any announcement values with the normal creation commands.
!announcement copy !announcement copy <ID> !announcement copy 55210ce8-8fed-43ca-9642-3225525baed9 Copies an existing announcement as a "template" so you may quickly create another announcement.
!announcement type  !announcement type <type> !announcement type UNIVERSAL

The type of announcement this is.
UNIVERSAL means it is for ALL future events.
SPECIFIC means it is for one specific event (will auto delete once fired).
COLOR (or COLOUR) means it will only fire for an event with the same color.
RECUR functions like a SPECIFIC type but for recurring events (and does not auto delete).

 !announcement event !announcement event <id>   !announcement event 9aiifsgpbaqfjh00iufeu2qsu8 Specifies the event this announcement is for.
ONLY NEEDED IF TYPE = SPECIFIC or RECUR

If type is RECUR: Please specify the "base" ID which is a recurring event's ID without the "_" and everything that follows that. (If the underscore and following is specified, DisCal will parse it out and ignore it).
 !announcement channel !announcement channel <channel name> !announcement channel calendar

Sets the channel the announcement will be sent in. This is the channel NAME not ID, DisCal handles that for you. 

**Please note: If the channel is deleted the announcement will silently fail to send.

!announcement hours !announcement hours <amount> !announcement hours 1 The amount of hours PRIOR to the event this announcement will be fired.
This number is added to the minutes in DisCal.
!announcement minutes  !announcement minutes <amount> !announcement minutes 25 The amount of minutes PRIOR to the event this announcement will be fired.
This number is added to the hours in DisCal.
!announcement review  !announcement review !announcement review  Allows you to review the Announcement info before completion, so you may correct any errors or alter the settings.
 !announcement confirm !announcement confirm !announcement confirm Confirms and finishes Announcement creation.
 !announcement delete !announcement delete <id> !announcement delete 55210ce8-8fed-43ca-9642-3225525baed9  Deletes an existing announcement and stops it from being fired or used again.
!announcement subscribe  !announcement subscribe <id> (option)

!announcement subscribe 55210ce8-8fed-43ca-9642-3225525baed9

!announcement subscribe 

55210ce8-8fed-43ca-9642-3225525baed9 @user

!announcement subscribe 

55210ce8-8fed-43ca-9642-3225525baed9 @role

!announcement subscribe 

55210ce8-8fed-43ca-9642-3225525baed9 everyone

!announcement subscribe 

55210ce8-8fed-43ca-9642-3225525baed9 here

Subscribes you to the announcement. Whenever this announcement sends, you will be mentioned at the top of it.

 

Optionally, you may FORCE subscribe to announcements. Include their @name, @role or there is built in support for everyone and here mentions. No @ required on everyone or here.

!announcement unsubscribe !announcement unsubscribe <id> (option)

!announcement subscribe 55210ce8-8fed-43ca-9642-3225525baed9

!announcement unsubscribe 

55210ce8-8fed-43ca-9642-3225525baed9 @user

!announcement unsubscribe 

55210ce8-8fed-43ca-9642-3225525baed9 @role

!announcement unsubscribe 

55210ce8-8fed-43ca-9642-3225525baed9 everyone

!announcement unsubscribe 

55210ce8-8fed-43ca-9642-3225525baed9 here

Unsubscribes you from the announcement. Now whenever it sends, you will NO LONGER be mentioned. 

 

Optionally, you may FORCE unsubscribe to announcements. Include their @name, @role or there is built in support for everyone and here mentions. No @ required on everyone or here.

!announcement view !announcement view <id> !announcement view 55210ce8-8fed-43ca-9642-3225525baed9 Displays info about the specifc announcement, if the announcement with that ID exists.
!announcement list !announcement list <amount OR all> !announcement list 10
or
!announcement list ALL
Will list either the amount of IDs specifed or if "ALL" will list every announcement for your Guild.
!announement color !announcement color <COLOR> !announcement color BLUE Functions just like '!event color <COLOR>' and sets the announcement's color.

NOTE: Only applicable if type is COLOR

All Other Commands

 Command

Acceptable Arguments

 Example

Description

!linkCalendar  !linkCalendar  !linkCalendar
!linkcal 
Links the calendar associated with your Discord server so that you may open it in a web browser. 
!time  !time  !!time  Displays the current time based on the calendar timezone. Useful for ensuring you have selected the proper timezone, and useful for people to know what time events are compared to their local time. 
 !events !events <amount> !events 5 Displays the next upcoming events. The amount is the amount you wish to display.!events 5  
!help  !help  !help Displays a list of valid commands and links you to our pages for extra help with DisCal.
!discal  !discal   !discal Displays info about DisCal and links to the main page. This can be used to easily connect to pages like this without memorizing the URL or bookmarking. 
!discal prefix  !discal prefix <prefix>  !discal prefix # This changes the prefix DisCal will respond too from the default ! to the prefix of your choice. This allows you to prevent any mixups with other Discord bots commands. @ Mentioning also functions as a prefix. Use `@Discal discal prefix !` to reset if something goes wrong.
!discal role  !discal role <roleName or roleId>  !discal role myAdminRole

Sets the role a user most possess in order to control DisCal's event/calendar creation modules. By default, this will be the "@everyone" role (meaning all users can control all modules). Should you want to disable needing a specific role, simply use the command again by specify "everyone" as the role, this will reset it to allow all users proper access. 

**NOTE: If the role is deleted or does not exist, DisCal will reset to all everyone to use it.

!discal channel !discal channel <channelName> !discal channel calendar

Sets the channel discal will use and respond in. Should a discal message be used outside this channel, it will not recognise it.
**Please note: By default, this is not set. DisCal will work in ALL channels until this is set.

**ANOTHER NOTE: To reset, simply use "all" instead of a valid channel.

**IF the channel does not exist or is deleted, DisCal will reset to use ALL channels.

!discal simpleAnnouncement !discal simpleAnnouncement !discal simpleAnnouncement

Enables/Disables "simple announcements"
Simple announcements will not list the event ID or announcement ID. This can be useful for making them more user friendly but the downside is  you cannot debug the announcement should something fail (which rarely if ever happens).

!discal invite !discal invite !discal invite

This command will have the bot output an invite link for the DisCal server. Need help? Come join us and we will get you fixed up. Just want to hang out? Thats cool too! We appreciate all feedback and ideas :)

!discal settings !discal settings !discal settings

Display's the guild's DisCal settings in a pretty embed.
Settings displayed include but are not limited to: max calendars, whether your guild is a patron guild, control role, channel, etc etc.