当我的机器人开始“!帮助寻求帮助”但似乎无法让它工作时,我试图强迫我的机器人改变它的“游戏”。
目前我的代码是...
const Commando = require('discord.js-commando');
const Request = require('request');
const Bot = new Commando.Client();
Bot.client.setGame("!help for help");
Run Code Online (Sandbox Code Playgroud)
我也试过...
Bot.client.setStatus("!help for help");
Bot.user.setGame("!help for help");
Bot.user.setStatus("!help for help");
Run Code Online (Sandbox Code Playgroud)
我似乎无法理解您如何调用它以使其工作。
我正在开发discord.js机器人,并且想对命令进行冷却。
我在Google上看到了很多有关如何执行此操作的教程,但是所有这些教程都是针对所有命令执行的(因此,当用户键入!mycmd时,所有用户都必须等待X分钟/秒才能再次键入它)。
但我想为每个用户执行此操作(当用户键入!mycmd时,仅此用户必须等待X分钟/秒,直到该用户可以再次键入它)。
可能吗?
谢谢!
我想使用Discord Bot向用户发送私人消息。
用户与漫游器不在同一服务器上。
如果可以使用author.sendMessage,如何初始化(查找)作者变量?
我可以找到具有用户ID的用户吗?
感谢您的阅读。
我的问题是我希望我的 discordbot 在赠品期间等待,直到赠品结束
这是我的代码:
const Discord = require('discord.js');
const client = new Discord.Client();
const config = require("./config.json");
var prefix = config.prefix;
client.login(config.token);
client.on('ready',() => {
console.log('I\'m online');
})
client.on('message', message => {
const args = message.content.slice(prefix.length).trim().split(/ +/g);
const command = args.shift().toLowerCase();
if (command === 'gstart') {
var channel = args[0].slice(2).slice(0, -1);
var price = args[1];
var End = args[2];
var EndMS = End*1000;
client.channels.get(channel).send({embed: {
color: 3447003,
author: {
name: '',
icon_url: ''
},
title: "",
url: "",
description: "", …Run Code Online (Sandbox Code Playgroud) 我现在正在为运行时创建一个 Discord bot 命令,我想知道什么是最紧凑(并且仍然正确)的运行时方式来捕获 bot 实际在线的时间并以 24 小时格式返回它。
我目前正在为discord制作一个discord.js机器人,但我一直遇到同样的问题:
ReferenceError: guild is not defined
at Client.client.on.message (C:\Users\Valentin\Documents\JsBot_dev\bot.js:27:30)
at emitOne (events.js:101:20)
at Client.emit (events.js:188:7)
at MessageCreateHandler.handle (C:\Users\Valentin\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34)
at WebSocketPacketManager.handle (C:\Users\Valentin\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:120:65)
at WebSocketManager.eventMessage (C:\Users\Valentin\node_modules\discord.js\src\client\websocket\WebSocketManager.js:273:31)
at WebSocket.onMessage (C:\Users\Valentin\node_modules\ws\lib\WebSocket.js:442:14)
at emitTwo (events.js:106:13)
at WebSocket.emit (events.js:191:7)
at Receiver.ontext (C:\Users\Valentin\node_modules\ws\lib\WebSocket.js:841:10)
Run Code Online (Sandbox Code Playgroud)
我尝试更新我的discord.js并重新安装node.js,但没有任何效果。
谢谢您的帮助 !
机器人代码:
const Discord = require("discord.js");
const client = new Discord.Client();
myid = "your id is :"
const hook = new Discord.WebhookClient('NoIdForYou', 'NoTokenForYou');
client.on('ready', () => {
console.log(`Logged in as ${client.user.username}!`);
});
client.on('message', message => {
if (message.content === '-avatar') {
message.reply(message.author.avatarURL); …Run Code Online (Sandbox Code Playgroud) 我正试图用我的机器人将用户移动到另一个频道.但我没有找到任何办法.我是否想念一些东西,或者用discord.js/discord api完成它是不可能的?
我试图在不使用消息的情况下获得角色,例如:
const Discord = require('discord.js');
const Bot = new Discord.Client();
const Role = Discord.roles.find('name,'Exemple')
Role.delete()
Run Code Online (Sandbox Code Playgroud)
这可以做到吗?
当用户输入特定命令时,我试图一次发送多个嵌入(更具体地说,仅2个)。原因是我想要打印的信息只要嵌入1个,就会看起来很长。我听说这只能使用webhooks来完成,因为不和谐的API通常不允许这样做。因此以下代码将不起作用:
const embed = new Discord.RichEmbed()
.setAuthor("blah")
.addField("blah")
message.channel.send({embed}) // this will send fine
const embed2 = new Discord.RichEmbed()
.setAuthor("blah")
.addField("blah")
message.channel.send({embed2}); // This wont work
Run Code Online (Sandbox Code Playgroud)
如您所见,我也在使用丰富的嵌入,但是我认为这对我尝试执行的操作没有任何影响。我曾尝试查找如何正确使用Webhook来执行此操作,但我什至勉强声明了我的钩子。如果能就我要完成的工作获得帮助,我将不胜感激(如果实际上有一种无需使用网络钩子就能做到这一点的方法,我一定乐于听到!)
我记不清它多久以前,但Discord.js在我离开的时候更新了,而不是编码.其中一个已经更新并将在1.12(或者我被告知)中删除的东西是sendFile选项.sendFile,senMessage等现在都在一个'发送'下.我没有遇到任何麻烦,直到我去做一个用户从/ images文件夹中获取文件的命令.
我指的是什么.任何帮助,将不胜感激.毫无疑问,但是我和Discord.js lib一起对编码很新.
我正在开发一个 Discord 机器人,最近一直在阅读 API。我想为我的机器人添加一个命令,该命令将完全清除文本频道,并且只允许具有管理消息权限的人。
到目前为止,这是我的代码:
client.on('message', function(message) {
if (message.content == "^clear") {
try {
if (message.member.hasPermission("MANAGE_MESSAGES")) {
messages = message.channel.fetchMessages();
message.channel.bulkDelete(messages);
}
} catch(e) {
message.channel.send("ERROR: ERROR CLEARING CHANNEL.");
console.log(e);
}
}
});
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,如下所示:
TypeError: The messages must be an Array, Collection, or number.
at TextChannel.bulkDelete (/Users/person/bot/node_modules/discord.js/src/structures/interfaces/TextBasedChannel.js:379:11)
at Client.<anonymous> (/Users/person/bpt/bot.js:29:33)
at emitOne (events.js:96:13)
at Client.emit (events.js:188:7)
at MessageCreateHandler.handle (/Users/person/bot/node_modules/discord.js/src/client/websocket/packets/handlers/MessageCreate.js:9:34)
at WebSocketPacketManager.handle (/Users/person/bot/node_modules/discord.js/src/client/websocket/packets/WebSocketPacketManager.js:102:65)
at WebSocketConnection.onPacket (/Users/person/bot/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:325:35)
at WebSocketConnection.onMessage (/Users/person/bot/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:288:17)
at WebSocket.onMessage (/Users/person/bot/node_modules/discord.js/node_modules/ws/lib/EventTarget.js:103:16)
at emitTwo (events.js:106:13)
Run Code Online (Sandbox Code Playgroud) 在Py3中,我被交给了Python Discord Message Mass Prune Script。但是,在此之前有一些错误。它曾经在工作,但是现在它给了我一些以前没有给我的愚蠢的错误。
import discord
import asyncio
client = discord.Client()
@client.event
async def on_ready():
print(' ')
print('DBAN')
print('YOUR')
print('FUCKING')
print('DISCORD')
print('MESSAGES')
print('LOSER')
print('Logged in as:', client.user.name)
print('UID:',client.user.id)
print('Discord version:',discord.__version__)
print('----------')
print('Connected to:')
for server in client.servers:
print(' -',server.name)
# Define commands
@client.event
async def on_ready():
if message.author == client.user:
commands = []
z = 0
for index, a in enumerate(message.content):
if a == " ":
commands.append(message.content[z:index])
z = index+1
commands.append(message.content[z:])
# MASS DELETE OWN MESSAGES
if commands[0] …Run Code Online (Sandbox Code Playgroud) 我目前正在使用 discord.js 制作一个不和谐的机器人,我正在尝试制作一个菜单命令,所以当用户输入 [prefix]menu 时,它会发送一张菜单图片,我可以轻松地做到这一点,但我正在尝试将其设为多页,我知道我可以只做一个 menu1、menu2 和 menu3 命令,但我喜欢有一个命令说 nextpage 和 previouspage 这是我目前所拥有的但它不起作用并且没有错误
if (command === "menu") {
output()
message.channel.send({file: './images/menu1.png'});
curPage = 1;
}
if (command === "next page") {
output()
curPage++;
if(curPage >= 3) {
output()
curPage = 3; message.channel.send("You're on the last page!");
}
} else if (command === "previous page") {
output()
curPage--;
if(curPage <= 0) {
output()
curPage = 1; message.channel.send("You're on the first page!");
}
message.channel.send({file: `./images/menu${curPage}.png`});
}
Run Code Online (Sandbox Code Playgroud) discord.js ×12
javascript ×10
discord ×9
node.js ×8
bots ×2
discord.py ×1
file ×1
macos ×1
python-3.x ×1
send ×1
wait ×1