Discord JS v12 函数问题(我的函数没有被正确识别)
Posted
技术标签:
【中文标题】Discord JS v12 函数问题(我的函数没有被正确识别)【英文标题】:Discord JS v12 Function Problem (My function is not getting recognized properly) 【发布时间】:2021-11-14 21:42:08 【问题描述】:我在导入/编写将货币 A 计算为货币 B 的函数时遇到问题。问题是该函数未被正确识别。 我的功能:
async function convertRMB(inputAmount)
const fetch = require("node-fetch");
try
const responseRMB = await fetch('http://www.floatrates.com/daily/cny.json');
const dataRMB = responseRMB.json();
const rateEUR = dataRMB.eur.rate
const rateUSD = dataRMB.usd.rate
const RMBinEUR = Number(inputAmount) * Number(rateEUR)
const RMBinUSD = Number(inputAmount) * Number(rateUSD)
return RMBinEUR;
catch (err) console.log(err)
module.exports = convertRMB;
使用函数的类:
const Discord = require('discord.js');
const convertRMB = require('../functions/convertRMB');
module.exports.run = async (bot, message, args) =>
var inputAmount = args.join(' ');
const amountEUR = convertRMB(inputAmount);
const embed = new Discord.MessageEmbed()
.setDescription(`$inputAmountRMB = $amountEUR€`)
.setFooter("© CSGO Library")
message.channel.send(embed);
convertRMB(inputAmount);
;
module.exports.help =
name: `rmb`
我得到的错误: "TypeError: convertRMB 不是函数"
【问题讨论】:
【参考方案1】:正如错误所说,“convertRMB”不是函数:它是文件convertRMB.js
的导出对象。您将函数 convertRMB()
导出为 module.export
的函数,或者更清楚地说,与以下内容相同:
module.export.convertRMB = function (input) ...;
要获得你想要的,也就是将函数导出为匿名函数,你应该这样做:
module.exports = function (input) ...;
或者,使用您的代码,您可以使用您拥有的导出对象:
module.exports.run = async (bot, message, args) =>
var inputAmount = args.join(' ');
const amountEUR = convertRMB.convertRMB(inputAmount);
const embed = new Discord.MessageEmbed()
.setDescription(`$inputAmountRMB = $amountEUR€`)
.setFooter("© CSGO Library")
message.channel.send(embed);
convertRMB.convertRMB(inputAmount);
;
Here 你可以找到一些有用的例子来更好地理解module.export
的动态。
【讨论】:
以上是关于Discord JS v12 函数问题(我的函数没有被正确识别)的主要内容,如果未能解决你的问题,请参考以下文章