首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速Discord.js API中的Discord.js

快速Discord.js API中的Discord.js
EN

Stack Overflow用户
提问于 2020-03-21 22:13:51
回答 1查看 1.9K关注 0票数 1

我试图在Express Discord.js API中使用RESTful库。我想知道如何在控制器之间共享客户机,因为客户机是异步初始化的,显然多次调用client.login(...)是错误的做法。换句话说,我有一个异步初始化方法,不能多次调用,我需要跨多个控制器访问这个客户机。我现在要做的是:

discord.helper.js

代码语言:javascript
复制
const Discord = require('discord.js');

const client = new Discord.Client();
client.login(process.env.DISCORD_BOT_TOKEN);

export default client;

我的问题是,因为client.login()是异步的,但只能调用一次,所以我不能在假设bot已经初始化的前提下导入这个文件。对于如何构造这个模块,我有什么想法,这样我就可以在已经初始化的前提下多次导入它了吗?

EN

回答 1

Stack Overflow用户

发布于 2020-03-22 11:11:20

Client#login是异步的,但是一旦解决了看这里,它就不会返回Client实例。

您可以放心地假设只要客户机能够登录就可以使用,但是如果可能的话,我会让您的Express服务器接受客户端的一个实例。

代码语言:javascript
复制
import { createServer } from "./server"
import { Client } from "discord.js"

const client = new Client()
const app = startServer(client)

client.login(process.env.DISCORD_BOT_TOKEN)

app.listen(3000, () => {
  console.log("Express server is listening on port 3000")
});

createServer实例

代码语言:javascript
复制
import express from "express"

export const createServer = client => {
  const app = express()

  app.get("/", (_, res) => {
    res.send(`${client.user.username} says hello`)
  })

  return app
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60793872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档