44 lines
1.6 KiB
Plaintext
44 lines
1.6 KiB
Plaintext
the goal: port the old discord showcase bot
|
|
|
|
what it does: save #project-showcase posts to your HMN user profile if you have your account linked
|
|
|
|
stuff we need to worry about:
|
|
- old posts from before you linked your account
|
|
- posts that come in while the bot is down
|
|
- what to do with posts if you unlink your account
|
|
- what to do with posts if you re-link your account
|
|
- what to do if you edit the original discord message
|
|
- what to do if you delete the original discord message
|
|
- the user's preferences re: saving content
|
|
- we don't want to save content without the user's consent, especially since it may persist after they disable the integration
|
|
- manually adding content for various reasons
|
|
- maybe a bug prevented something from saving
|
|
- ryan used to post everything in #projects for some reason
|
|
|
|
|
|
real-time stuff:
|
|
- on new showcase message
|
|
- always save the lightweight record
|
|
- if we have permission, create a snippet
|
|
- on edit
|
|
- re-save the lightweight record and content as if it was new
|
|
- create snippet, unconditionally???? (bug??)
|
|
- update snippet contents if the edit makes sense
|
|
- on delete
|
|
- delete snippet if the user so desires
|
|
- delete the message records
|
|
|
|
|
|
background stuff:
|
|
- watch mode
|
|
- every five seconds
|
|
- fetch all HMN users with Discord accounts
|
|
- check if we have message records without content
|
|
- if so, run a full scrape (no snippets)
|
|
- every hour
|
|
- run a full scrape, creating snippets
|
|
- scrape behavior
|
|
- look at every message ever in the channel
|
|
- do exactly what the real-time bot does on new messages (although maybe don't do snippets depending on context)
|
|
|