pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

discord.js 列出我所有的機器人命令

discord.js list all my bot commands(discord.js 列出我所有的機器人命令)
本文介紹了discord.js 列出我所有的機器人命令的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我使用 discord.js 制作了一個不和諧機器人,并嘗試執行幫助命令向用戶顯示所有可用命令.

i made a discord bot with discord.js and tried to do a help command to show the user all available commands.

示例命令:avatar.js

module.exports.run = async(bot, message, args) => {
    let msg = await message.channel.send("doing some magic ...");
    let target = message.mentions.users.first() || message.author;

    await message.channel.send({files: [
        {
            attachment: target.displayAvatarURL,
            name: "avatar.png"
        }
    ]});

    msg.delete();
}

module.exports.help = {
    name: "avatar",
    description: "show the avatar of a user",
    usage: "[@user]"
}

然后我嘗試發送帶有完整命令列表的消息,例如:

Then i tried to send a message with the complete list of the commands like:

  • 命令 1
  • 說明
  • 用法
  • 命令 2
  • 說明
  • 用法
  • ...

help.js

const fs = require("fs");
const Discord = require("discord.js");

module.exports.run = async(bot, message, args, con) => {
    fs.readdir("./cmds/", (err, files) => {
        if(err) console.error(err);

        let jsfiles = files.filter(f => f.split(".").pop() === "js");
        if(jsfiles.length <= 0) {
            console.log("No commands to load!");
            return;
        }

        var namelist = "";
        var desclist = "";
        var usage = "";

        let result = jsfiles.forEach((f, i) => {
            let props = require(`./${f}`);
            namelist = props.help.name;
            desclist = props.help.description;
            usage = props.help.usage;
        });

        message.author.send(`**${namelist}** 
${desclist} 
${usage}`);
    });
}

module.exports.help = {
    name: "help",
    description: "show all commands",
    usage: ""
}

我的代碼有點工作,但它只發送第一個命令.

my code is kinda working but it only sends the first command.

我對 javascript 很陌生,我找不到解決方案.我試圖用谷歌搜索所有關于 foreach 地圖不和諧集合和東西的東西,但我找不到將結果組合在一起的例子.

Im pretty new to javascript and i can't find a solution to this. I tried to google everything on foreach maps discord collections and stuff but i cant find a example where the results get combined together.

如果有人可以幫助我或給我一個提示,我可以在哪里搜索類似的東西.會很棒.

If anybody can help me or give me a hint where i can search for something like this. Would be awesome.

推薦答案

你的代碼只發送一個命令的原因是你的代碼只調用 message.author.send('...' 一次.您成功地使用每個文件中的數據設置了變量 namelistdesclistusage,但您的 .forEach(... 循環只是在移動到下一個文件時覆蓋所有數據.

The reason your code is only sending the one command is because your code only calls message.author.send('...' once. You successfully set the variables namelist, desclist, and usage with data from every file, but your .forEach(... loop just overwrites all of the data when it moves to the next files.

嘗試在 .forEach(... 循環的每次迭代中發送數據,如下所示:

Try to send data inside each iteration of the .forEach(... loop like this:

var namelist = "";
var desclist = "";
var usage = "";

let result = jsfiles.forEach((f, i) => {
    let props = require(`./${f}`);
    namelist = props.help.name;
    desclist = props.help.description;
    usage = props.help.usage;

    // send help text
    message.author.send(`**${namelist}** 
${desclist} 
${usage}`);
});

這篇關于discord.js 列出我所有的機器人命令的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

discord.js v12: How do I await for messages in a DM channel?(discord.js v12:我如何等待 DM 頻道中的消息?)
how to make my bot mention the person who gave that bot command(如何讓我的機器人提及發出該機器人命令的人)
How to fix Must use import to load ES Module discord.js(如何修復必須使用導入來加載 ES 模塊 discord.js)
How to list all members from a specific server?(如何列出來自特定服務器的所有成員?)
Discord bot: Fix ‘FFMPEG not found’(Discord bot:修復“找不到 FFMPEG)
Welcome message when joining discord Server using discord.js(使用 discord.js 加入 discord 服務器時的歡迎消息)
主站蜘蛛池模板: 上海租车公司_上海包车_奔驰租赁_上海商务租车_上海谐焕租车 | 宁波普瑞思邻苯二甲酸盐检测仪,ROHS2.0检测设备,ROHS2.0测试仪厂家 | 高温高压釜(氢化反应釜)百科| 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 元拓建材集团官方网站| 过跨车_过跨电瓶车_过跨转运车_横移电动平车_厂区转运车_无轨转运车 | wika威卡压力表-wika压力变送器-德国wika代理-威卡总代-北京博朗宁科技 | 耙式干燥机_真空耙式干燥机厂家-无锡鹏茂化工装备有限公司 | 硬度计_影像测量仪_维氏硬度计_佛山市精测计量仪器设备有限公司厂家 | 螺钉式热电偶_便携式温度传感器_压簧式热电偶|无锡联泰仪表有限公司|首页 | 舞台木地板厂家_体育运动木地板_室内篮球馆木地板_实木运动地板厂家_欧氏篮球地板推荐 | 京港视通报道-质量走进大江南北-京港视通传媒[北京]有限公司 | 工业雾炮机_超细雾炮_远程抑尘射雾器-世纪润德环保设备 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 环球电气之家-中国专业电气电子产品行业服务网站! | 圆形振动筛_圆筛_旋振筛_三次元振动筛-河南新乡德诚生产厂家 | 手持式3d激光扫描仪-便携式三维立体扫描仪-北京福禄克斯 | 车辆定位管理系统_汽车GPS系统_车载北斗系统 - 朗致物联 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 手表腕表维修保养鉴定售后服务中心网点 - 名表维修保养 | 脉冲布袋除尘器_除尘布袋-泊头市净化除尘设备生产厂家 | 防腐储罐_塑料储罐_PE储罐厂家_淄博富邦滚塑防腐设备科技有限公司 | 谷歌关键词优化-外贸网站优化-Google SEO小语种推广-思亿欧外贸快车 | 振动时效_振动时效仪_超声波冲击设备-济南驰奥机电设备有限公司 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 中控室大屏幕-上海亿基自动化控制系统工程有限公司 | 葡萄酒灌装机-食用油灌装机-液体肥灌装设备厂家_青州惠联灌装机械 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 深圳彩钢板_彩钢瓦_岩棉板_夹芯板_防火复合彩钢板_长鑫 | 搬运设备、起重设备、吊装设备—『龙海起重成套设备』 | 精密机械零件加工_CNC加工_精密加工_数控车床加工_精密机械加工_机械零部件加工厂 | 油漆辅料厂家_阴阳脚线_艺术漆厂家_内外墙涂料施工_乳胶漆专用防霉腻子粉_轻质粉刷石膏-魔法涂涂 | 电镀标牌_电铸标牌_金属标贴_不锈钢标牌厂家_深圳市宝利丰精密科技有限公司 | 污水/卧式/潜水/钻井/矿用/大型/小型/泥浆泵,价格,参数,型号,厂家 - 安平县鼎千泵业制造厂 | 定制/定做冲锋衣厂家/公司-订做/订制冲锋衣价格/费用-北京圣达信 | 北京软件开发_软件开发公司_北京软件公司-北京宜天信达软件开发公司 | 台湾Apex减速机_APEX行星减速机_台湾精锐减速机厂家代理【现货】-杭州摩森机电 | 小型数控车床-数控车床厂家-双头数控车床 | 低温等离子清洗机(双气路进口)-嘉润万丰 | 常州翔天实验仪器厂-恒温振荡器-台式恒温振荡器-微量血液离心机 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | 汽车整车综合环境舱_军标砂尘_盐雾试验室试验箱-无锡苏南试验设备有限公司 | 重庆LED显示屏_显示屏安装公司_重庆LED显示屏批发-彩光科技公司 重庆钣金加工厂家首页-专业定做监控电视墙_操作台 |