首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >中小企业答案变体不起作用的discord.js

中小企业答案变体不起作用的discord.js
EN

Stack Overflow用户
提问于 2021-01-27 14:21:11
回答 1查看 36关注 0票数 0

我试着制作一个字符琐碎机器人,当我写.tc时,它显示了一个随机字符,你必须在15秒内回答这个字符的名字,它的代码在一个名为triviachar.js的文件中,所有的答案变体都作为变量放在一个名为triviacharacterlist.js的js文件中,但是我遇到了一个问题,有些答案变体可以工作,而其他的则不行。这是我甚至遇到过的最奇怪的机器人行为,所以如果您愿意帮助我,这将意味着很多,下面是代码。(我也不太擅长编程)(顺便说一句,我使用的是不和谐的at突击队):

(这些文件中还有更多的代码,但与此类似)

triviachar.js:

代码语言:javascript
复制
run(msg) {
    const fivePoint = "Be3 bo6 u have asnwer correct, but u have answer without anime/game name so u get 5 points only lel";
    const tenPoint = "Bo3 bo6 u have answer correct with anime/game name so u get 10 points instead pog"
    const guessCharacterString = "Guess character bo3"
    var characterRandom = Math.floor(Math.random() * 5);

    if (characterRandom == 0) {
        const iKF = Characters.KiritoVariants;
        const triviaKiritoEmbed = new MessageEmbed()
            .setColor('#008fff')
            .setTitle(guessCharacterString)
            .setImage(Characters.CharacterImgs.kiritoimg)
    
        msg.channel.send(triviaKiritoEmbed)

        const filterK = m => m.content.includes(iKF.kirito0 || iKF.kirito1 || iKF.kirito2 || iKF.kirito3 || iKF.kirito4 || iKF.kirito5 || iKF.kirito6 || iKF.kirito7 || iKF.kirito8);
        msg.channel.awaitMessages(filterK, { max: 1, time: 15000, errors: ['time'] })
        .then(collected => {switch(collected.first().content){
            case Characters.KiritoVariants.kirito0:
                msg.channel.send(fivePoint);
                break;
            case Characters.KiritoVariants.kirito3:
                msg.channel.send(fivePoint);
                break;
            case Characters.KiritoVariants.kirito6:
                msg.channel.send(fivePoint);
                break;
            case Characters.KiritoVariants.kirito1:
                msg.channel.send(tenPoint);
                break;
            case Characters.KiritoVariants.kirito2:
                msg.channel.send(tenPoint);
                break;
            case Characters.KiritoVariants.kirito4:
                msg.channel.send(tenPoint);
                break;
            case Characters.KiritoVariants.kirito5:
                msg.channel.send(tenPoint);
                break;
            case Characters.KiritoVariants.kirito7:
                msg.channel.send(tenPoint);
                break;
            case Characters.KiritoVariants.kirito8:
                msg.channel.send(tenPoint);
                break;
        }})
        .catch(collected => msg.channel.send('too bad u took too long ya 3am'));
    }

triviacharacterlist.js:

代码语言:javascript
复制
//character images -------------------------------------------------------------------------------------------------------------
const CharacterImgs = {
    kiritoimg: "https://i.pinimg.com/originals/05/b8/d9/05b8d9a934b8d831fef385e7f60b5625.jpg",
    asunaimg: "https://pm1.narvii.com/6210/87c8712f955134bdbfe4135fbded8366ea21f917_00.jpg",
    jojoimg: "https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/f6ec6f25-09b6-414d-aeac-9a7cb7527ee7/dcdtfn4-618039ef-f3ee-4333-90a0-208fb4d0db2d.png?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOiIsImlzcyI6InVybjphcHA6Iiwib2JqIjpbW3sicGF0aCI6IlwvZlwvZjZlYzZmMjUtMDliNi00MTRkLWFlYWMtOWE3Y2I3NTI3ZWU3XC9kY2R0Zm40LTYxODAzOWVmLWYzZWUtNDMzMy05MGEwLTIwOGZiNGQwZGIyZC5wbmcifV1dLCJhdWQiOlsidXJuOnNlcnZpY2U6ZmlsZS5kb3dubG9hZCJdfQ.QpJ2Po7ZB8AlZsmtuMH1O6zg7GpGWMo_RW-126L8ftI",
    dekuimg: "https://media.discordapp.net/attachments/472313197836107780/606995677737779211/XokvvZc.png",
    senkuimg: "https://pm1.narvii.com/7346/a2bb65cfca86e3d2bf85f1b12e2132af3d43f5f6r1-736-1041v2_uhq.jpg"
};

//character names ---------------------------------------------------------------------------------------------------------------

const KiritoVariants = {
    kirito0: 'kirito',
    kirito1: 'kirito sao',
    kirito2: 'kirito sword art online',
    kirito3: 'kazuto',
    kirito4: 'kazuto sao',
    kirito5: 'kazuto sword art online',
    kirito6: 'kazuto kirigaya',
    kirito7: 'kazuto kirigaya sao',
    kirito8: 'kazuto kirigaya sword art online'
};

这些都是不和谐的图像:https://i.stack.imgur.com/RkAf6.png https://i.stack.imgur.com/gfBAh.png

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-27 15:06:15

您的邮件收集器筛选器设置错误。使用||链接变量不会达到您想要使用它的目的。有关更多信息,请查看逻辑或运算符

简而言之,您的邮件收集器筛选器只收集内容包括iKF.kirito0值的消息。

修复方法是将所有值存储在数组中,并检查消息是否至少包含该数组的一个值。请参阅下面的代码示例。

代码语言:javascript
复制
const possibleAnswers = [iKF.kirito0, iKF.kirito1, iKF.kirito2, etc...];

const filterK = m => possibleAnswers.some(answer => m.content.includes(answer));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65921040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档