From e87e68aca2768cc3aeb57f4b63733c961c37b151 Mon Sep 17 00:00:00 2001 From: Nipuna Ranasinghe Date: Thu, 4 Jul 2024 09:46:49 +0530 Subject: [PATCH] Add Package.md content --- ballerina/Package.md | 88 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/ballerina/Package.md b/ballerina/Package.md index e69de29..7389243 100644 --- a/ballerina/Package.md +++ b/ballerina/Package.md @@ -0,0 +1,88 @@ +## Overview + +[Discord](https://support.discord.com/hc/en-us/articles/360045138571-Beginner-s-Guide-to-Discord) is a popular communication platform designed for creating communities and facilitating real-time messaging, voice, and video interactions over the internet. + +The Ballerina Discord connector offers APIs to connect and interact with the [Discord REST API v10](https://discord.com/developers/docs/reference). + +## Setup guide + +Follow these steps to create a Discord developer account. + +### Step 1: Login to Discord developer page + + + +Visit [Discord developer portal](https://discord.com/login?redirect_to=%2Fdevelopers) by logging into your Discord account. + +If you do not have a Discord account already, [create a new discord account](https://discord.com/login) by clicking on the `Register` hyperlink below the `Log In` button when opening the Discord developer page. + + + +Complete the account creation process by including the relavant information in the given fields. + +### Step 2: Make a new Discord application + + + +Once in the Discord developer portal is open, click on the `New Application` button as displayed above to start the process. + +### Step 3: Name the Discord Application + + + +1. Proceed by giving the Discord Application a name and click on the terms of service. + +2. Finally complete the naming process by clicking on the `next` button. + +### Step 4: Obtain the Client ID and Client Secret + + + +Under the `OAuth2` section found on the left-sided list, locate the Client's Information as shown on the screen. To implement the functionalities provided by Discord's API, you will need the Client ID and Client Secret. + +## Quickstart + +To use the `discord` connector in your Ballerina application, modify the `.bal` file as follows: + +### Step 1: Import the module + +Import the `discord` module. + +```ballerina +import ballerinax/discord; +``` + +### Step 2: Instantiate a new connector + +Create a `discord:ConnectionConfig` with the obtained OAuth2.0 Client Credentials and initialize the connector with it. + +Apps must receive approval from users installing them to perform actions within Discord. To enable these functions, specific scopes must be defined. These scopes are outlined in the [OAuth2 Scopes documentation](https://discord.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes). + +```ballerina +configurable string clientId = ?; +configurable string clientSecret = ?; +configurable string[] scopes = ?; + +discord:Client discord = check new({ + auth: { + clientId, + clientSecret, + scopes + } +}); +``` + +### Step 3: Invoke the connector operation +Now, utilize the available connector operations. + +### Return linked third-party accounts of the user + +```ballerina + ConnectedAccountResponse[] connectedAccounts = check cl->/users/\@me/connections(); +```` + +### Step 4: Run the Ballerina application + +```bash +bal run +```