Progressive-Victory / crm-bot

Internal Discord bot for member utilities
https://progress.win/
MIT License
3 stars 4 forks source link

Meeting Agendas #38

Closed andpeterson closed 6 months ago

andpeterson commented 1 year ago

Create Meetings and add to the agenda with the PV bot so that way you can remember things to bring up on future meeting agendas Features:

Commands should be accessible in the server or in DMs if possible Users should only see meetings that they have been invited to

Commands: /meeting create {title} {time} {recurring period} /meeting attendee add {title} {user} /meeting attendee promote {title} {user} /meeting agenda add {title} /meeting details {title} /meeting reminder set {title} /meeting agenda clear {title} /meeting reminder send {title} /meeting location set {VC or string}

Lewdcario commented 1 year ago

We use mongoDB currently, but heres the outline i expect for this:

Table:

id: string (guid, see package link below)
title: string
attendees: string[] (discord snowflake, which is just a kind of string)
createdAt: timestamp
updatedAt: timestamp
details: text
reminders: [{ title: string, time: timestamp }]
agenda: string[]
location: string

I suggest adding database methods that accomplishes basic interaction with each table. For example, we may want a function like this, if I recall correctly:

return Database.db.collection('meetings').update({
meetingID,
title
}, {
upsert: true
})

Source: https://www.mongodb.com/docs/manual/reference/method/db.collection.update/ Guid: https://www.npmjs.com/package/uuid

Don't use autoincrementing integers with mongodb because that takes away some of its benefits. And we may want a way to identify meetings and not worry about the title being a unique identifier.