интеграция API-интерфейса Discord в Angular - PullRequest
1 голос
/ 17 января 2020

Итак, я недавно (вчера) нашел этот npm пакет для разногласий: https://discord.js.org/# / , я запускаю npm install на нем, и он устанавливается правильно. Однако он, похоже, не распознает ни один из классов, созданных библиотекой. У меня есть библиотека, указанная в моем пакете. json, но я не могу найти способ заставить ее работать ...

import { Component, OnInit } from '@angular/core';
import * as Discord from 'discord.js'

@Component({
  selector: 'app-discord',
  templateUrl: './discord.component.html',
  styleUrls: ['./discord.component.scss']
})
export class DiscordComponent implements OnInit {

  constructor() { }

  ngOnInit() {
    console.log(new Discord.Client())
  }

}

Все эти ошибки, похоже, относятся к отсутствующим зависимостям в моем проекте , но некоторые из них кажутся NodeJS, что меня смущает. Для краткости я опубликую код на hatebin, так как это немного загромождает мой пост. https://hatebin.com/spiirlcopq

У меня вопрос, могу ли я использовать этот API-интерфейс в интерфейсе? или мне нужен другой API? Существует версия веб-пакета, но мне еще предстоит выяснить, как я могу добавить веб-пакет в свой код и получить осмысленный смысл.

Редактировать: мой VSCode регистрирует пакет, потому что мой intelissense понимает, что я пытаюсь do и ввод имени класса Discord дает мне доступ к этим классам, но по какой-то причине они не загружаются.

1 Ответ

0 голосов
/ 17 января 2020

Discord имеет веб-версию и здесь вы можете прочитать об этой сборке.

Версия ответа V2.

Вы можете использовать этот код для великого клиента-бота Discord, если поместите его в свой основной файл. Также вам нужно отличное приложение . Тогда вам нужно большой дискорд сервера и пригласить бота на сервер. После этого вы можете вызвать fucntion getClienInfo, и они вернут все необходимые вам данные. Атрибут game имеет много вложенных опций, поэтому я оставлю ссылку на параметры, которые можно получить. Ссылку Discord DM вы можете посмотреть в версии браузера. Это как discordapp.com/@me/channels/$ndomuserid rout

import { Component, OnInit } from '@angular/core';
const Discord = require('discord.js');
const bot = new Discord.Client();
bot.login('your token here');

const getClienInfo = () => {
    let guild = bot.guilds.get('YOUR SERVERID')
    let member = guild.members.get('YOU DISCORD ID')
    let userinfo = {
        avatar: member.user.avatarURL
        username: member.user.username
        status: member.user.presence.status
        game: member.user.presence.game // 'all game data (https://discord.js.org/#/docs/main/stable/class/Game)'

    }

    return userinfo
}
...