Я использую эту Discord lib https://github.com/teamreflex/oauth2-discord
И я получаю эту ошибку:
[ошибка] 8370 # 8370: * 321961 FastCGI отправлено в stderr: «PHP сообщение: PHP
Неустранимая ошибка: необученная ошибка: класс «Discord \ OAuth \ Parts \ Guild» отсутствует
нашел в
/home/razvan/discord/vendor/team-reflex/oauth2-discord/src/Discord/Discord.php:172
Трассировки стека:
# 0 /home/razvan/discord/vendor/team-reflex/oauth2-discord/src/Discord/Parts/User.php(62):
Раздор \ OAuth \ Discord-> buildPart ( ‘Раздор \ OAuth \ P …’,
Объект (Лига \ OAuth2 \ Клиент \ Токен \ AccessToken), Массив)
# 1 /home/razvan/discord/vendor/team-reflex/oauth2-discord/src/Discord/Part.php(85):
Раздор \ OAuth \ частей \ User-> getGuildsAttribute ()
# 2 /home/razvan/discord/login.php(38): Discord \ OAuth \ Part -> __ get (‘гильдии’)
# 3 {main} добавлено в /home/razvan/discord/vendor/team-reflex/oauth2-discord/src/Discord/Discord.php
в строке 172 «при чтении заголовка ответа от вышестоящего клиента:
82.76.7.106, сервер: discord.re, запрос: «GET /login.php?state=BDzUvmxBmT15Q1jDngE9fbSuysnd9qPm&код = mKn2TujOmBzdarKi9kDGcVpC4z0xGC
HTTP / 1.1 «, upstream:» fastcgi: //127.0.0.1: 9000 «, хост:» discord.re «
Это мое login.php страница:
<?php
require_once __DIR__.'/vendor/autoload.php';
session_start();require_once __DIR__ . '/assets/discord_config.php';
require_once __DIR__ . '/assets/db_config.php';
$provider = new \Discord\OAuth\Discord($discord_config);
if (! isset($_GET['code'])) {
header('Location: '. $provider->getAuthorizationUrl());
} else {
$token = $provider->getAccessToken('authorization_code', [
'code' => $_GET['code'],
]);
// Get the user object.
$user = $provider->getResourceOwner($token);
// Get the guilds and connections.
$guilds = $user->guilds;
foreach ($guilds as $server) {
if($server->owner) {
$_SESSION['discord']['servers'][$server->id] = array(
'id' => $server->id,
'name' => $server->name,
'icon' => $server->icon
);
}
}
//Add user to DB or get user ID from db
$mysql = new mysqlHelper($conn);
$mysql->add_user($user->username, $user->email, $user->discriminator);
$_SESSION['discord']['user']['id'] = $mysql->get_user_id($user->email);
$_SESSION['discord']['user']['name'] = $user->username;
$_SESSION['discord']['user']['email'] = $user->email;
$_SESSION['discord']['user']['discriminator'] = $user->discriminator;
//Redirect to main page
header('Location: index.php');
exit();
}
Задача ещё не решена.
Других решений пока нет …