Я никогда не кодировал бот Discord Bot, но я знаком с Javascript, поэтому решил, что попробую.Я использовал файлы для начинающих с этого сайта Digital Trends , но столкнулся с некоторыми проблемами.
У меня запущен бот на моем сервере, и основная команда заменена на "!"на "?"и включенная команда «? ping» действительно возвращает ожидаемый ответ «Понг!»
Я запускаю сервер, на котором мы запускаем видеоигру каждый месяц и играем, обсуждая ее по пути, как в книжном клубе,Поэтому я пытаюсь создать канал, где люди могут предлагать игру, используя команду бота, поскольку я не верю, что они могли бы самостоятельно справиться с простыми правилами.
То, что я пытаюсь выяснить, так этокак получить пользовательскую команду:
?gs "Video Game Title" "Platform"
И как бот удаляет команду и делает репост:
@ пользователь предложил ВидеоиграЗаголовок для Платформа
При добавлении реакции Emojis "?" и "?", чтобы позволить другим пользователям голосовать.
Я никого не прошусделать это для меня, но просто чтобы помочь мне указать правильное направление, как кодировать это с учетом Discord, используя JS (если возможно)
Вот мой текущий код "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..
}
}
});