2.6 KiB
2.6 KiB
core features
- render to channel
- render to interaction
- ephemeral messages
- message content
- embed
- color
- author
- description
- title - text children, url
- footer - icon url, timestamp, text children
- thumbnail - url
- image - url
- fields - name, value, inline
- test
- message components
- buttons
- links
- select
- select onChange
- action row
- button onClick
- component events
- reply / send functions
- select values
- message.*
- channel.*
- guild.*
- guild.member.*
- user.*
- deactivate
- destroy
- docs
- core layout and styling
- mobile nav: at a breakpoint, remove all desktop navigation and use a drawer w/ a floating menu button on the bottom right
- automatically generate sidebar links
- guides
- getting started / setup
- instances
- sending channel messages
- cleaning up instances
- sending command replies
- embeds
- buttons and links
- select menus
- api reference
- rendering and making it available
docs polish
- remove client-side react hydration
- use a small script for the popover menu toggle
- adding doc comments to source
- docs: use literate-ts to typecheck code blocks
- each page should have a link at the bottom to the previous and next pages
- anchor links on markdown headings
internal
- combine
MessageOptionsandMessageinto a single message object (?) - consider always calling
deferUpdateon component interactions - more unit tests instead of integration tests probably
cool ideas / polish
- message property on reacord instance
- files
- stickers
- user mention component
- channel mention component
- timestamp component
useMessageuseReactions- max instance count per guild
- max instance count per channel
- uncontrolled select
- single class/helper function for testing
ReacordTester - handle deletion outside of reacord
- for more easily writing adapters, address discord API nuances at the reacord level instead of the adapter level. the goal being that adapters can just take the objects and send them to discord. probably make use of discord api types for this
- allow users to specify their own customId for components
- this could be an easy and intuitive way to make component interactions work over bot restarts... among other interesting things