Skip to content

DiscordKit for Bots - Continuation #26

@cryptoAlgorithm

Description

@cryptoAlgorithm

Original PR: #18

Bot support was a tough one to tackle, and laid idle in another branch with low visibility while I was allocating my contribution time to other projects. I can't wait to bring the first Swift Discord library with slash command support (and now the only maintained one), so I'm moving the ever-growing bucket list to this long-running issue :D

Bucket List

  • Bot gateway identification with intents support
  • Correct user agent, properties and REST authentication
  • Sending basic messages
  • Event dispatching with NotificationCenter for message
    create and ready events
  • Application command registration with a resultBuilder - supported application command types:
    • chatInput - Slash commands
    • user - Actions that appear in context menu of users
    • message - Actions that appear in context menu of messages
  • Adding options to commands in the resultBuilder - supported types:
    • subCommand - A "sub-command" with no options
    • subCommandGroup - A group for nesting other options
    • string - An option accepting a String value
    • integer - An option accepting an Int value
    • boolean - An option accepting a Bool value
    • user - An option accepting a user as its value
    • channel - An option accepting a channel as its value
    • role - An option accepting a role as its value
    • mentionable - An option accepting a @mention as its value
    • number - An option accepting a Double value
    • attachment - An option accepting a file attachment as its value
  • Message components - supported types:
    • Button
    • Action row
    • Select Menu
    • Text Input
    • Modals
      • Text Input
  • Handling interactions with a closure, allowing responses
  • Support more types of interaction responses
    • Plain content responses
    • Ephemeral responses
    • Deferred responses
    • Embeds
      • Construct fields with a resultBuilder

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions