javascript - discord.js message.content 用于发送消息的单词
问题描述
var Discord = require('discord.io');
var logger = require('winston');
var auth = require('./auth.json');
var rolledNumber = 0;
var norb = 'norb';
var thisPlace = 'this place';
// Configure logger settings
logger.remove(logger.transports.Console);
logger.add(new logger.transports.Console, {
colorize: true
});
logger.level = 'debug';
// Initialize Discord Bot
var bot = new Discord.Client({
token: auth.token,
autorun: true
});
bot.on('ready', function (evt) {
logger.info('Connected');
logger.info('Logged in as: ');
logger.info(bot.username + ' - (' + bot.id + ')');
});
bot.on('message', function (user, userID, channelID, message, evt) {
// Our bot needs to know if it will execute a command
// It will listen for messages that will start with `!`
if (message.substring(0, 1) == '!') {
var args = message.substring(1).split(' ');
var cmd = args[0];
args = args.splice(1);
switch(cmd) {
// !ping
case 'ping':
bot.sendMessage({
to: channelID,
message: 'Pong!'
});
break;
case 'commands':
bot.sendMessage({
to: channelID,
message: 'nope!'
});
break;
case 'sleepydave':
bot.sendMessage({
to: channelID,
message: 'this is dave'
});
break;
case 'roll':
rolledNumber = Math.floor(Math.random() * 12) + 1;
bot.sendMessage({
to: channelID,
message: 'You rolled two dice and get: ' + rolledNumber
});
break;
}
}
if (message.content[0,2000] == norb) {
bot.sendMessage({
to: channelID,
message: 'Praise be to the Overlord'
});
}
if (message.substring(0,2000) == thisPlace) {
bot.sendMessage({
to: channelID,
message: 'stop talking about here'
});
}
});
这是我的代码
当“norb”作为唯一的词说,或者说“这个地方”时,它会起作用。但如果它在“hello norb hello”之类的词之间,它就行不通了。目前其他一切都运行良好。
我希望它寻找“norb”并在它说时说“赞美主”。而不仅仅是当它是第一个词时。我不确定该怎么做。
谢谢!
解决方案
假设您试图让机器人响应特定命令。您正在寻找的是.includes()
功能
此函数检查字符串是否包含您要查找的单词。例如:
const thisWord = "Something";
if(message.content.includes(thisWord))
{
bot.sendMessage({
to: channelID,
message: "Your reply."
})
}
推荐阅读
- azure - 为什么我们在 Microsoft Azure 上创建 VM 时会得到一个 pem 文件?
- .net - 如何在 Abp.IRepository 中的 CRUD 之前注入操作
- angular - 异常跳过Typescript Angular
- python - 当 http 不返回答案时,我得到 UnboundLocalError
- c# - C# 实体框架:仅更新第一批记录并停止
- c++ - 如何在 MacOS (2019) 上的 VSCode 上正确设置 C/C++?
- python - Kivy 应用程序不断与 logcat 崩溃:“ReferenceError:弱引用对象不再存在”
- mysql - 右表或左表中缺少内部连接的 MySQL 总和
- c++ - 没有打印;从理论上讲,我需要一个 main 还是应该在没有它的情况下工作?
- javascript - Vue 外部的 Vue 组合 API