11# FreudBot
22
3- UGent Psychology Discord server bot
3+ UGent Discord verification and shenanigans bot
44
55## Contributing
66
@@ -10,47 +10,134 @@ See [the contributing guide](CONTRIBUTING.md) for instructions on how to contrib
1010
1111Unless stated otherwise all commands are slash commands
1212
13+ ### Hooks
14+
15+ - bot mentioned: Responds to the message with a random Freud quote
16+
17+ - new member joins: Sends the member a DM with verification instructions or verifies them
18+ automatically if they are already verified in another Freud-enabled server
19+
20+ - 📌 emoji reaction: If enough people react to a message with this emoji it will be pinned
21+ automatically.
22+ The amount of reactions needed for this is configurable on the website.
23+
1324### Commands
1425
1526#### Configuration
1627
17- - ` $freud_sync ` (MESSAGE COMMAND) (OWNER ONLY) - force-syncs the bot's slash commands to
18- whatever guild it's connected to
19- - ` /config admin_role ` (OWNER ONLY) - Set the role that 'admin' members will have
20- - ` /config verified_role ` (ADMIN ONLY) - Set the role that's given to verified members
21- - ` /config verification_channel ` (ADMIN ONLY) - Set the channel in which the ` /verify `
22- command may be used
23- - ` /config logging_channel ` (ADMIN ONLY) - Set the channel into which log messages will be
28+ *** The configuration commands are largely deprecated and have been replaced by the config website
29+ https://freudbot.org ***
30+
31+ - ` $freud_sync ` \
32+ (MESSAGE COMMAND) \
33+ (MANAGE GUILD) \
34+ force-syncs the bot's slash commands to
35+ whatever guild it's connected to. This can be used after a new version of the bot goes live to
36+ ensure all commands are up to date, however just waiting for around an hour will achieve the same
37+ goal.
38+
39+ - ` /config admin_role ` \
40+ (MANAGE GUILD) \
41+ Set the role that 'admin' members will have, this is used to check permissions for the other
42+ ` /config ` commands
43+
44+ - ` /config verified_role ` \
45+ (ADMIN) \
46+ Set the role that's given to verified members
47+
48+ - ` /config logging_channel ` \
49+ (ADMIN) \
50+ Set the channel into which log messages will be
2451 posted
2552
26- #### Calendar
53+ - ` /config confession_channel ` \
54+ (ADMIN) \
55+ Set the channel where approved confessions will be posted
2756
28- - ` /calendar ` - Build an image to show your calendar for this week
29- - ` /course enroll ` - Set yourself as enrolled in a course
30- - ` /course drop ` - Unset yourself as enrolled in a course
31- - ` /course overview ` - Send a list of all courses you are enrolled in
32- - ` /course add ` (ADMIN ONLY) - Add an available course and scrape its lecture dates
33- - ` /course remove ` (ADMIN ONLY) - Remove an available course
34- - ` /course list ` (ADMIN ONLY) - List all available Courses
57+ - ` /config confession_approval_channel ` \
58+ (ADMIN) \
59+ Set the channel where confessions awaiting approval will be posted (this should be a channel only
60+ admins can access)
3561
3662#### Verification
3763
38- - ` /verify <email> ` - Sends an email to ` <email> ` containing a verification
39- code the user can then use in the ` /verify <code> ` command
40- - ` /verify <code> ` - Checks if the supplied code is valid for a given user
41- and gives them the 'Verified' role if it is.
64+ - ` /verify ` - Sends a DM to the user with verification instructions, this can be used in case the
65+ user didn't receive a DM or if the previous messsages buttons have expired.
66+
67+ #### Confessions
68+
69+ Confessions can be sent as replies to other confessions by adding the confession ID as an optional
70+ argument.
71+
72+ eg.
73+ You can reply to "Anonymous Confession (#14 ) - I like ducks"
74+ with ` /confess normal "So do I" "14" `
75+
76+ Note: this is a bit scuffed at the moment and might not work exceptionally well, bugfixes pending.
77+
78+ - ` /confess normal <confession> [<reply>] ` - Sends a normal, anonymous confession.
79+
80+ - ` /confess russian <confession> [<reply>] ` - Sends a russian roulette confession with a 1/6
81+ chance of exposing the user who sent it
82+
83+ - ` /confess extreme <confession> [<reply>] ` - Sends an extreme roulette confession with a 1/2
84+ chance of exposing the user who sent it
85+
86+ #### Message Scheduling
87+
88+ Working with time in python is pain, so this command is also pain.
89+ Use at your own risk.
90+
91+ - ` /schedule <channel> <time> [<timezone>] [<message>] ` - Schedules a message to be sent in
92+ ` <channel> ` at a given ` <time> ` \
93+ - ` <time> ` is a string in the format "%Y/%m/%d %H:%M"
94+ - ` <timezone> ` is the timezone of your timestamp (default UTC)
95+ (UTC = 0000, CET = 0100, CEST = 0200)
96+ - ` <message> ` can be given inline or left empty, if left empty a popup will appear with more
97+ space to type your message.
98+
99+ #### FreudPoints
100+
101+ FreudPoints aren't exceptionally useful at this point, but hopefully they will eventually have
102+ some purpose like a shop mechanic.
103+
104+ - ` /freudpoint award <user> [<amount>] ` - Awards ` <user> ` ` <amount> ` (default 1) FreudPoint(s)
105+
106+ #### Freudr
107+
108+ Freudr Dating Service, because discord users are too afraid of actual social interaction.
109+ When 2 users match, FreudBot will send them both a DM to congratulate them on their newfound
110+ love.
111+
112+ - ` /freudr like <user> ` - Adds a user to your likes (you can only like the same user once every
113+ 24 hours)
114+
115+ - ` /freudr unlike <user> ` - Removes a user from your likes
116+
117+ - ` /freudr list ` - See a list of your likes and matches
118+
119+ #### Statistics
120+
121+ At the moment FreudBot doesn't keep track of a whole lot of statistics, but this should change in
122+ the "near" future.
123+
124+ - ` /freudstat me ` - See an overview of the statistics FreudBot tracks about you
125+
126+ - ` /freudstat profile <user> ` - See an overview of the statistics FreudBot tracks about another
127+ user
128+
129+ - ` /freudstat leaderboard ` - See the leaderboards for the stats FreudBot tracks, selectable with a
130+ dropdown menu
42131
43132#### Random
44133
45134- ` /mommy ` - You can figure this one out for yourself
46135
47136#### Link Shortcuts (DEPRECATED)
48137
49- - ` /drive <course> ` - Send a link to a google drive for that course
50-
51- ### Hooks
52-
53- - on mention: Responds to the message with a random Freud quote
138+ - ` /drive <shortcut> ` - Send a link to a hardcoded google drive folder
139+ At the moment this is only useful for the psychology discord, so other servers should disable this
140+ command
54141
55142## Running
56143
0 commit comments