ROBLOX 不和谐机器人

Posted

技术标签:

【中文标题】ROBLOX 不和谐机器人【英文标题】:ROBLOX Discord bot 【发布时间】:2020-07-03 21:15:37 【问题描述】:

我正在尝试创建一个不和谐的机器人来连接到我创建的 Roblox 帐户。 我正在尝试创建一个可以在群组中喊出消息的命令,但登录时出现问题,我不知道如何解决问题。

let roblox = require('noblox.js');
const  Client  = require("discord.js");
const  config  = require("dotenv");

const client = new Client(
    disableEveryone: true
);

config(
    path: __dirname + "/.env"
);

let prefix = process.env.PREFIX
let groupId = groupid;

client.on("ready", () => 
    console.log("I'm Ready!");

function login() 
    roblox.cookieLogin(process.env.COOKIE)


login()
    .then(function () 
        console.log(`Logged in to $username`);
    )
    .catch(function (error) 
        console.log(`Login error: $error`);
    );

client.on("message", async message => 
    console.log(`$message.author.username said: $message.content`);
    if (message.author.bot) return;
    if (message.content.indexOf(prefix) !== 0) return;

    const args = message.content.slice(prefix.length).trim().split(/ +/g);
    const command = args.shift().toLowerCase();

    if (command === "shout") 
        if (!args)  
            return;
            message.reply("You didn't specify a message to shout.")
        
        const shoutMSG = args.join(" "); 

        roblox.shout(groupId, shoutMSG)
            .then(function() 
                console.log(`Shouted $shoutMSG`); 
            )
            .catch(function(error)  
                console.log(`Shout error: $error`)
            );
    
)

client.login(process.env.TOKEN);

它给了我错误: Shout error: Error: Shout failed, verify login, permissions, and message

【问题讨论】:

【参考方案1】:

一开始你不会关闭client.on('ready') 状态。

        if (!args)  
            return;
            message.reply("You didn't specify a message to shout.")
        

这个函数永远不会回复,因为你在回复之前使用了return。

您的 groupId 看起来像 undefined,因为您声明它为 let groupId = groupid;,所以这是一种方法,为什么会出现此错误。

let roblox = require('noblox.js');
const  Client  = require("discord.js");
const  config  = require("dotenv");

const client = new Client(
    disableEveryone: true
);

config(
    path: __dirname + "/.env"
);

let prefix = process.env.PREFIX
let groupId = groupid;

client.on("ready", () => 
    console.log("I'm Ready!");
)

function login() 
    roblox.cookieLogin(process.env.COOKIE)


login()
    .then(function () 
        console.log(`Logged in to $username`);
    )
    .catch(function (error) 
        console.log(`Login error: $error`);
    );

client.on("message", async message => 
    console.log(`$message.author.username said: $message.content`);
    if (message.author.bot) return;
    if (message.content.indexOf(prefix) !== 0) return;

    const args = message.content.slice(prefix.length).trim().split(/ +/g);
    const command = args.shift().toLowerCase();

    if (command === "shout") 
        if (!args) return message.reply("You didn't specify a message to shout.")
        const shoutMSG = args.join(" "); 
        roblox.shout(groupId, shoutMSG)
            .then(function() 
                console.log(`Shouted $shoutMSG`); 
            )
            .catch(function(error)  
                console.log(`Shout error: $error`)
            );
    
)

client.login(process.env.TOKEN);

【讨论】:

谢谢!我没有注意到我犯了这些错误。

以上是关于ROBLOX 不和谐机器人的主要内容,如果未能解决你的问题,请参考以下文章

Roblox 机器人推广系统

如何设置一个不和谐的不和谐机器人来玩游戏?

不和谐机器人只显示不和谐版本

如何阻止不和谐机器人响应自身/所有其他机器人 [Python 3.6 中的不和谐机器人]

如何使用不和谐机器人从不和谐频道随机发布文本?

我的不和谐机器人没有上线 - 不和谐 v13