我如何制作一个不和谐机器人,当我在 Javascript 中键入某个短语时,它只会给我一个角色?

Posted

技术标签:

【中文标题】我如何制作一个不和谐机器人,当我在 Javascript 中键入某个短语时,它只会给我一个角色?【英文标题】:How do i make a discord bot that simply gives me a role when i type a certain phrase in Javascript? 【发布时间】:2020-10-14 07:51:10 【问题描述】:

我已经完成了 tonstons 的搜索,但它们都是超级复杂的代码,例如,当我说“!Role (role)" 然后它给了我我指定的角色。然而,我正在寻找更简单的东西,比如如果我说“Hello”,那么机器人会给我代码中的角色。

我也尝试了很多复杂的,但大多数都使用了“addRole”函数,但输出不喜欢它

你觉得你能帮我解决这个问题吗?

【问题讨论】:

【参考方案1】:

Discord JS V12:

client.on("message", (message) => 
    // Checking if the message equals to "hello".
    // Since we use .toLowerCase() which converts any uppercase letter to lowercase, HeLLo will result in hello.
    if (message.content.toLowerCase() == "hello") 
        // Trying to find the role by ID.
        const Role = message.guild.roles.cache.get("RoleID");
        // Checking if the role exists.
        if (!Role)  // The role doesn't exist.
            message.channel.send(`I'm sorry, the role doesn't exist.`);
         else  // The role exists.
            // Adding the role to the user.
            message.member.roles.add(Role).catch((error) => console.error(error));
            message.channel.send(`You received the role $Role.name.`);
        ;
    
);

Discord JS V11:

client.on("message", (message) => 
    if (message.content.toLowerCase() == "hello") 
        const Role = message.guild.roles.get("RoleID");
        if (!Role) 
            message.channel.send(`I'm sorry, the role doesn't exist.`);
         else 
            message.member.addRole(Role).catch((error) => console.error(error))
            message.channel.send(`You received the role $Role.name.`);
        ;
    
);

【讨论】:

它似乎有一个好的开始,但我认为我这边有一个问题:DiscordAPIError: Missing Permissions at RequestHandler.execute (C:\Users\░░\Desktop\Discord Bot\node_modules \discord.js\src\rest\RequestHandler.js:170:25) 在 processTicksAndRejections (internal/process/task_queues.js:97:5) 方法:'put',路径:'/guilds/725126311168966749/members/625394153479471136 /roles/725139116001329182', code: 50013, httpStatus: 403 即使我给了我的机器人完全的管理员权限。我做错了什么? 确保您的机器人角色高于您想要赋予的角色。这能解决您的问题吗? 天哪!这很有意义!非常感谢!

以上是关于我如何制作一个不和谐机器人,当我在 Javascript 中键入某个短语时,它只会给我一个角色?的主要内容,如果未能解决你的问题,请参考以下文章

当我的不和谐机器人在 VC 中时,如何防止我的终端停止

我将如何制作一个可以指出链接的不和谐机器人?

我的不和谐机器人出现错误,请告诉我如何修复

如何在不和谐中制作乒乓球机器人

如何使不和谐的 js 机器人在某个时间在不和谐的确切文本通道中发送随机消息(我制作一个列表并发送它)

试图制作一个命令页面来列出我的不和谐机器人上的所有命令,但不知道如何[关闭]