【发布时间】:2020-11-12 05:52:50
【问题描述】:
我有一个包含所有股票代码的数组。当用户发布消息'TSLA will open green tomorrow.' 时,我想检测单词'TSLA'。但问题是我的代码也在检测'T'、'S' 和'LA',因为这些都是有效的股票代码。
所以我创建了一个禁止符号列表,其中包含从 A 到 Z 的每个大写字母。但我不知道如何应用它。
const url = 'https://dumbstockapi.com/stock?format=tickers-only&exchange=NASDAQ,NYSE,AMEX';
const bodyArray = [];
const blockedList = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');
request(url, (error, { statusCode }, body) => {
return error ? console.log(error) : statusCode == 200 ? bodyArray.push(JSON.parse(body)) : 0;
});
client.on('message', msg => {
const { content, author: { tag } } = msg;
const [arr] = bodyArray;
const blocked = arr.indexOf(word => content.toUpperCase().includes(word) > -1);
if (blocked.length) {
console.log(`${tag} used a word in list.`);
return msg.delete().catch(console.error);
}
});
【问题讨论】:
-
您的问题似乎不清楚。请举例说明您希望发生的事情以及目前正在发生的事情。
-
@DaemonBeast 我已经更新了
-
你可以
forEach数组,把它变成一个对象然后object[stock] -
@GirkovArpa 击键和整个单词。有人可能会说 TSLA 明天会开绿灯。我想在 Discord 的整个 message.content 中检测 TSLA 这个词,并开始记录一个股票代码在服务器上被说了多少次。
-
这能回答你的问题吗? Search whole word in string
标签: javascript arrays regex filter discord.js