Skip to content

AdvancedVerify #93

@JayDwee

Description

@JayDwee

Is your feature request related to a problem? Please describe.

Societies want a way to give roles based on membership from another service. e.g. 'Community Membership' role when membership bought from Students Union website

Requirements

  1. Create an API to let admins give a role based on an email address
  2. Include rate limiting, authentication and other safety and privacy features
  3. Create a template client to interact with the API using a given CSV (SVGE can be used as an example)
  4. Create graphic for how data is transferred, and secured to provide to KoalaBot sponsors

Describe alternatives you've considered

Implement an API for requesting membership roles given

Example POST
curl POST 'https://api.koalabot.uk/joey/adv_verify?user_email=ab12c34@soton.ac.uk&user_email=def56g7@soton.ac.uk'
--header 'client-id: <DiscordServerID>'
--header 'Authorization: Bearer <Koala API Token>'
--header 'role_id: <MembershipRole>'

joey used as the name of the API in case a rework is needed and therefore the endpoint can be changed (similar to twitch API approach)

Additional context

https://flask-restful.readthedocs.io/en/latest/quickstart.html#a-minimal-api
https://flask-limiter.readthedocs.io/en/stable/#:~:text=A%20default%20rate%20limit%20of,hour%20applied%20to%20all%20routes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    new koala extensionA suggested/ requested koala extension/ cog

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions