小编Som*_*son的帖子

丰富嵌入中的提及显示为它们的字符串

我遇到了一个问题,我的机器人在丰富的嵌入中没有正确提及。它似乎根本无法标记用户。

一个提及最终看起来像......

<@601756839956447232>

应该ping 用户,看起来像......

@堆栈溢出


  • 我试过author.toString()在我的消息中做。
  • 我试过使用<@${author.id}>.
  • 我试过使用@${author.tag}.
  • 我试过使用${author}.

所有这些尝试都产生了相同的结果。


这是我正在使用的代码...

var serv = message.guild
var author = message.author

var myInfo = new discord.RichEmbed()
    .setAuthor(`${serv.name}'s roles`,`${message.guild.iconURL}`)
    .addField(`Roles`, serv.roles.map(r => `${r}`).join(' | '),true)
    .setColor(0xffd000)
    .setFooter('Server Roles.')
    .setFooter(`Requested by @${author.tag}`,`${author.avatarURL}`)

message.channel.sendEmbed(myInfo);
Run Code Online (Sandbox Code Playgroud)

我的主要目标是在嵌入消息中标记用户而不标记用户。 我的主要重点是让https://imgur.com/a/hbgm1TXhttps://imgur.com/a/lB1Moh9但 ping 实际上并没有 ping 位于嵌入中的任何人。

discord.js

7
推荐指数
1
解决办法
2万
查看次数

检查用户是否具有任何列出的所需权限

我想检查用户是否满足命令列出的任何权限。例如,如果所需的权限是AdministratorManage_Webhooks,并且如果用户仅满足这些权限之一,则该命令将运行。

这是一些代码

if (message.member.guild.me.hasPermission("MANAGE_WEBHOOKS", "ADMINISTRATOR"))
  return message.channel.send("I don't have the permissions to make webhooks, please contact an admin or change my permissions!")
if (!message.member.hasPermission("MANAGE_WEBHOOKS", "ADMINISTRATOR")) return message.channel.send("You need to be an admin or webhook manager to use this command.");
Run Code Online (Sandbox Code Playgroud)

如果需要其余代码,就在这里。

const Discord = require('discord.js');
const commando = require('discord.js-commando');

class pingy extends commando.Command {
  constructor(client) {
    super(client, {
      name: 'pinghook',
      group: 'help',
      memberName: 'pinghook',
      description: 'This is where you can set the pinghook.',
      aliases: ['ph', 'pingh', 'phook', …
Run Code Online (Sandbox Code Playgroud)

javascript discord.js

5
推荐指数
1
解决办法
2万
查看次数

有没有办法在不实际 ping 的情况下提及用户(蓝色突出显示)?

有没有办法在 Discord 中提及用户而不实际 ping 他们?我不想要角色 ping 之类的东西,因为您必须删除该角色,并且当新人查看它时,它会被视为@deleted-role。

也试过unicode,但没有用。检查了其他图书馆,什么都没有。我找到了一个可以做到这一点的机器人,但检查它的 message.content 没有显示任何内容,并且 D.JS 的 v12 功能disableMentions仅插入一个细的 unicode 字符来中断提及,这会导致类似<@id>, 或<@(really_small_unicode_char)id>(@\u200b) 的结果。

discord discord.js

5
推荐指数
1
解决办法
2万
查看次数

如何修改 Electron 中的响应

假设我正在使用一个GET请求https://example.com,响应如下:

This is a response message.
Run Code Online (Sandbox Code Playgroud)

我将如何以某种方式修改它,以便在我的代码中,以便它可以将响应更改为如下所示:

This is a MODIFIED response message.
Run Code Online (Sandbox Code Playgroud)

例如,如果我的 Electron 应用程序要导航到https://example.com,屏幕将显示修改后的内容而不是原始内容。

本质上,我试图从字面上修改请求。

我的代码基于这个问题,但它只显示了预先输入的概念证明Buffer,因为在我的情况下,我想修改响应而不是直接替换它。所以,我的代码如下所示:

This is a response message.
Run Code Online (Sandbox Code Playgroud)

这应该手动请求 URL、获取响应并返回它。如果没有协议事件,它可以工作并给我一个响应,但经过一些调试后,这段代码始终一遍又一遍地调用相同的 URL,但没有响应。

还有WebRequest API,但是没有办法修改响应体,只能修改请求头&相关内容。

我还没有完全研究基于 Chromium 的解决方案,但是在查看了这个之后,我不确定是否可以修改响应,以便它首先出现在我的应用程序端。此外,我不熟悉到处发送的 Chromium/Puppeteer 消息。

有没有一种优雅的方法让 Electron 获取 URL 响应/请求,使用 headers/body/等调用 URL,然后保存并修改响应以在 Electron 中显示不同?

node.js electron

5
推荐指数
0
解决办法
647
查看次数

如何增加或减少选择数组中的项目的概率?

所以,假设我正在制作像老虎机这样的东西,为了使用我想使用的表情符号,我会在一个数组中定义它们。

var arr = ["emoji","emoji2","emoji3","emoji4","emoji5"]
Run Code Online (Sandbox Code Playgroud)

假设我希望表情符号 1 - 4 出现超过 5 个,并说降低 emoji5 被选中的概率。

我可以做一些大的事情:

var arr = [
"emoji","emoji2","emoji3","emoji4",
"emoji","emoji2","emoji3","emoji4",
"emoji","emoji2","emoji3","emoji4",
"emoji","emoji2","emoji3","emoji4",
"emoji","emoji2","emoji3","emoji4",
"emoji","emoji2","emoji3","emoji4","emoji5",
]
var emoji = arr[Math.floor(Math.random() * arr.length)]
Run Code Online (Sandbox Code Playgroud)

但这不是一个非常有效的想法,那么是否可以在不制作非常大的数组的情况下执行上述想法?

我的目标基本上是拥有一个像

var arr = ["emoji","emoji2","emoji3","emoji4","emoji5"]
Run Code Online (Sandbox Code Playgroud)

它会输出一些表情符号 1 - 4 比 emoji5 更频繁出现的东西,没有大数组。

javascript probability

4
推荐指数
1
解决办法
79
查看次数

如何防止 CSS 粘贴到 contenteditable div 中

我有一个contenteditableDIV 元素,我不想粘贴 CSS,基本上只是它只粘贴到innerText,而不是innerHTML。我没有使用任何库,只是纯粹的 Javascript。目前,如果我从网站复制一些 CSS 文本,然后将其粘贴到我的 div 元素中,样式也会随之而来。我想要它,这样如果我要粘贴它,CSS 就不会出现,或者使 CSS 被oninput我为 div 元素的类放置的事件中的字体/颜色覆盖。那么,我该怎么做呢?

DIV 元素的 CSS:

.mystyle {
    border:4px solid gray;
    background-color: #00000070;
    color: white;
    font-family: 'Courier New', Courier, monospace;
    width: 1245px;
    height: 200px;
    padding: 10px;
    font-size: 14px;
    text-shadow: 3px 3px #3f3f3f;
    text-align: justify;
  }
Run Code Online (Sandbox Code Playgroud)

HTML 片段:

    <div class="mystyle" contenteditable="true" id="input" 
    oninput='//what to put here?'></div>
Run Code Online (Sandbox Code Playgroud)

html javascript

2
推荐指数
1
解决办法
976
查看次数

guilds.verificationLevel 无法正确执行自定义输出

当我尝试在 Discord.JS 中增强我的 aboutserver 命令时,我意识到你可以自定义输出,比如如果输出是 1,你可以让它说别的东西而不是 1,比如验证级别低。我为我的explicitContentFilter 和我的命令的verificationLevel 部分做了这个,他们设法获取了自定义消息,但只获取了代码每个部分的最后一个。当我调整调节或 eCF 时,自定义消息在运行命令时保持不变。

我试过backticks从代码中删除, (if (serv.explicitContentFilter = `1`) => (`if (serv.explicitContentFilter = 1) 但是没有做任何改变。我尝试?Number:1像这样在末尾添加: if (serv.explicitContentFilter?Question:1){ 并且代码不起作用,它一直卡住,我什至尝试调整代码的位置,我尝试else在最后删除部分代码。未进行更改。

async run(message, args){
    if (message.channel instanceof discord.DMChannel) return message.channel.send('This command cannot be executed here.')
    else
    var serv = message.guild

    if (serv.explicitContentFilter = `0`) {
        var eFC = "Don't Scan Any messages";
    } else {
        var eFC = serv.explicitContentFilter;
    }
    if (serv.explicitContentFilter = `1`) {
        var eFC = "Scan …
Run Code Online (Sandbox Code Playgroud)

javascript node.js discord.js

0
推荐指数
1
解决办法
553
查看次数

标签 统计

discord.js ×4

javascript ×4

node.js ×2

discord ×1

electron ×1

html ×1

probability ×1