我以前从未编码过Discord Bot,但是对Javascript很熟悉,所以我想尝试一下。我使用了Digital Trends网站的初学者文件,但是遇到了一些问题。
我的服务器中正在运行该机器人,并且从“!”交换了基本命令。至 ”?”并且包含的命令“?ping”确实返回预期的响应“ Pong!”
我运行着一个服务器,每个月我们都会在其中启动视频游戏,并在讨论过程中边玩边玩,类似于读书俱乐部。因此,我试图创建一个渠道,使人们可以使用bot命令来推荐游戏,因为我不相信他们可以自己遵循简单的规则。
我要弄清楚的是如何接受用户命令:
?gs "Video Game Title" "Platform"
并让漫游器删除命令,然后重新发布为:
@用户为平台
建议了视频游戏标题同时还添加了反应表情符号“”和“”,以允许其他用户投票。
我并没有要求任何人为我做这件事,而只是帮助我指出如何正确地使用JS(如果可能的话)与Discord编写代码的正确方向
这是我当前的“ bot.js”代码:
var Discord = require('discord.io');
var logger = require('winston');
var auth = require('./auth.json');
// 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;
// Just add any case commands if you want to..
}
}
});