我是node.js的新手,我现在正在使用discord.js制作一个Discord机器人.一旦使用任何bot命令,控制台就会打印DeprecationWarning.例如:
(node:15656) DeprecationWarning: Collection#find: pass a function instead
Run Code Online (Sandbox Code Playgroud)
(node:15656)有时是另一个数字,几乎总是在改变.
这是我的代码看起来像(只有一个命令,我有多个,但我得到了所有这些错误):
const botconfig = require("./botconfig.json")
const Discord = require("discord.js");
const bot = new Discord.Client();
bot.on("ready", () => {
console.log(`Launched ${bot.user.username}...`);
bot.user.setActivity("Games", { type: "PLAYING" });
});
bot.on("message", async message => {
if (message.author.bot) return;
let prefix = botconfig.prefix;
let messageArray = message.content.split(" ");
let cmd = messageArray[0];
let args = messageArray.slice(1);
let botico = bot.user.displayAvatarURL;
if (cmd == `${prefix}help`) {
let helpEmbed = new Discord.RichEmbed()
.addField(".kick", "kick a user", true) …Run Code Online (Sandbox Code Playgroud) 我目前正在创建一个 Discord Python 机器人,我希望机器人能够识别语音通道中的人何时说话。机器人不必能够识别语音。
例如,如果成员说话,我希望机器人执行某个操作,例如播放音频。
如果您能提供帮助或做过类似的事情,请告诉我。另外,如果有人知道有关识别语音或监控某人音频响度的任何信息,请告诉我!
这是一个愚蠢的错误(“}”在错误的位置),任何对我升级到 v13 的处理程序感兴趣的人都非常简单,但它可以很好地使用它。
\nhttps://github.com/Inkeee/Tutorial-Discord-Bot
\n好吧,我试图了解斜杠命令,同时我根据一些视频和 github 做了一个处理程序,但是当执行斜杠命令时,抛出的错误是现有命令数量的 x 倍。(有 3 个命令,如果我使用一个命令,控制台会收到 2 个错误)
\n我想机器人正在尝试执行所有命令,但我不知道它到底是什么,也不知道为什么!
\n我的代码:
\nconst { fs, Discord, erros, colors, emojis, database } = require(\'../../exports.js\');\n\nconst slash = [];\n\nconst arquivos = fs.readdirSync("./src/slash").filter((file) =>\n file.endsWith(".js"))\n \nmodule.exports = async (client) => {\n \n for (const files of arquivos) {\n \n const file = require(`../../slash/${files}`);\n \n slash.push(file);\n client.api.applications(client.user.id).commands.post({data: file.data})\n }\n\n client.ws.on(\'INTERACTION_CREATE\', async (i) => {\n \n const command = slash.find(cmd => cmd.data.name === i.data.name.toLowerCase())\n \n if(command) command.execute(client, send, …Run Code Online (Sandbox Code Playgroud) 我的意思是,就像一个 URL,用户可以单击该 URL 打开 Discord 应用程序或网站并预先编写一条 Discord 消息,准备发送。
我需要类似于mailto:链接的东西,我可以在其中将消息正文文本设置为参数或直接在 URL 中设置。
有这样的事情存在吗?任何帮助将非常感激。
这是我第一次从 Discord 机器人中看到这个功能。我尝试到处寻找,但似乎失败了。Captcha.bot Discord 机器人提供了此功能,您可以通过 Discord 内的弹出窗口接受输入。
Captcha.bot 制作的嵌入消息中有一个按钮,您必须在其中回答验证码测试。按下按钮后,它会创建一个像这样的弹出窗口。
在验证码机器人上输入正确答案后,以下是体验的后果。
我想学习的是如何使用 Discord.js 召唤弹出窗口(如果可能的话)或者至少了解他们是如何做到的。
所以如果我有一个像这样的长命令:
@bot.command(pass_context=True)
async def longCommand(ctx):
#typing status
sleep(10)
bot.say("Done!")
Run Code Online (Sandbox Code Playgroud)
不幸的是,在文档或此处没有找到任何内容。
我开始使用discord.py(不是discord.ext命令,只有import discord)。最近做了一个频道,频道名称显示公会成员人数,每次有人加入或离开都会更新。这是我的代码:
import discord
client = discord.Client()
@client.event
async def on_ready():
print("Bot is ready")
@client.event
async def on_member_join(member):
channel = client.get_channel('channel id here')
await channel.edit(name = 'Member count: {}'.format(channel.guild.member_count()))
@client.event
async def on_member_leave(member):
channel = client.get_channel('channel id here')
await channel.edit(name = 'Member count: {}'.format(channel.guild.member_count()))
client.run('my token here')
Run Code Online (Sandbox Code Playgroud)
我还添加了client.on_message命令,以便机器人可以将该名称编辑为我输入的任何内容。
@client.event
async def on_message(message)
if message.content == 'rename channel':
channel = client.get_channel('channel id here')
await channel.edit(name = 'TEST')
Run Code Online (Sandbox Code Playgroud)
现在,在添加了一些用于调试的打印后,我发现了这一点on_member_join()并且on_member_leave()从未被调用,但是当我键入命令时,机器人会编辑通道的名称。那是一个语音频道,显示成员数量。没有任何错误。我读错了 API …
我是编程新手。我试图让我的不和谐机器人打开命令提示符以确认它可以运行,但我收到此错误:
File "C:\Users\---\AppData\Local\Programs\Python\Python38-32\lib\asyncio\proactor_events.py", line 116, in __del__
self.close()
File "C:\Users\---\AppData\Local\Programs\Python\Python38-32\lib\asyncio\proactor_events.py", line 108, in close
self._loop.call_soon(self._call_connection_lost, None)
File "C:\Users\---\AppData\Local\Programs\Python\Python38-32\lib\asyncio\base_events.py", line 719, in call_soon
self._check_closed()
File "C:\Users\---\AppData\Local\Programs\Python\Python38-32\lib\asyncio\base_events.py", line 508, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
[Finished in 0.871s]
Run Code Online (Sandbox Code Playgroud)
代码:
import discord
from discord.ext import commands
client=commands.Bot(command_prefix = '.')
@client.event
async def on_ready():
print('ok')
client.run(token)
Run Code Online (Sandbox Code Playgroud)
导致此错误的原因是什么,我该如何解决?
编辑:经过一些测试,我相信“client.run(token)”是导致“事件循环关闭”的原因,不知道为什么。
我正在编写一个 Discord 机器人,我想在其中执行命令!quote,它将从具有 id 的特定频道quotesID(可能是也可能不是!quote已发送的不同频道)中拉出一条随机消息。我一直在查看Discord.js的文档,但我找不到通过其 ID获取TextChannel然后使用 TextChannels.messages函数从而获取MessageManager和消息集合的方法。
我知道我可以使用公会msg.guild(msg触发器在哪里!quote)或获得 tex
我是 JavaScript 和 Discord.js 的新手,所以任何信息都有帮助。(我使用的是 Discord.js 版本 12.2.0)
我正在设计一个 discord.js 代码,它将显示成员的消息和语音统计信息,根据它的排行榜可能会导致奖品。
通常,我的图表以某种方式应该看起来像这些图表:
(上图分别是discord服务器的语音和消息统计)
但是当我输入命令时,它会显示这些无色图形:(不是关于它的设计,而是关于它的颜色)
在这两个图之间,没有代码差异,没有 node.js 版本更改,没有平台更改等。
我已经在这个项目上工作了很长时间,但一个月左右后,我仍然找不到我的代码有任何错误。也许我错过了什么。有人可以帮我吗?谢谢。
一般统计命令:
const { Client, Message, MessageEmbed, MessageAttachment } = require("discord.js");
const Stat = require("../../Models/Database/Stat");
const tm = require("../../Managers/TimeManager");
const moment = require("moment");
require("moment-duration-format");
const cm = require("../../Managers/ChartManager");
/**
* @param {Client} client
* @param {Message} message
* @param {Array<String>} args
*/
module.exports.execute = async(client, message, args) => {
let victim = message.mentions.users.first() || client.users.cache.get(args[0]) || message.author;
let embed = new MessageEmbed()
.setAuthor(victim.username, victim.avatarURL({ dynamic: true }))
.setFooter("?statistik bilgileri");
let data …Run Code Online (Sandbox Code Playgroud) discord ×10
discord.js ×5
javascript ×5
node.js ×5
discord.py ×4
python ×3
python-3.x ×2
chart.js ×1
handler ×1
href ×1