PHP code example of routmoute / routmoute-discord-bundle

1. Go to this page and download the library: Download routmoute/routmoute-discord-bundle library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

routmoute / routmoute-discord-bundle example snippets


// src/Controller/DiscordOAuthController.php



namespace App\Controller;

use Routmoute\Bundle\RoutmouteDiscordBundle\Service\RoutmouteDiscordOAuthService;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;

class DiscordOAuthController extends AbstractController
{
    /**
    * @Route("/connectToDiscord", name="routmoute_discord_redirect", methods="GET")
    */
    public function redirectToDiscord(RoutmouteDiscordOAuthService $oAuthService, UrlGeneratorInterface $urlGenerator): RedirectResponse
    {
        $redirectUrl = $urlGenerator->generate('routmoute_discord_receiver', [], UrlGeneratorInterface::ABSOLUTE_URL);
        return new RedirectResponse($oAuthService->getRedirectDiscordUrl($redirectUrl));
    }

    /**
    * @Route("/receiveDiscord", name="routmoute_discord_receiver", methods="GET")
    */
    public function receiveFromDiscordAuthorize(Request $request, RoutmouteDiscordOAuthService $oAuthService, UrlGeneratorInterface $urlGenerator): RedirectResponse
    {
        $redirectUrl = $urlGenerator->generate('routmoute_discord_receiver', [], UrlGeneratorInterface::ABSOLUTE_URL);
        $userData = $oAuthService->getUserData($request, $redirectUrl);

        // TODO: Process userData and change path_to_redirect

        return $this->redirectToRoute('path_to_redirect');
    }
}


namespace App\Controller;

use Routmoute\Bundle\RoutmouteDiscordBundle\Service\RoutmouteDiscordApiService;

class MyController extends AbstractController
{
    public function index(RoutmouteDiscordApiService $discordAPI)
    {
        $discordId = 'theUserDiscordId';

        $userInfos = $discordAPI->getUserFromDiscordId($discordId);

        $userInfos["id"];
        $userInfos["username"];
        $userInfos["discriminator"];
        $userInfos["avatar"];
    }
}