Discord Bot Создание для начинающих - PullRequest
0 голосов
/ 06 марта 2019

Я никогда не кодировал бот 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..
         }
     }
});
...