WebHU - Programozási kérdések és válaszok

Discord.js véletlenszerű szerepreakciók

Olyan parancsot próbálok létrehozni, amely beágyazást küld, és egy hangulatjellel reagál, és amikor egy tag rákattint az emojira, véletlenszerű szerepet ad neki. valami ötleted, hogyan csináljam ezt?


  • Kérjük, tegyen közzé egy kódot, amelyet eddig próbált. A SO nem kódíró szolgáltatás, a közösség csak akkor tud segíteni, ha feltesz egy kérdést részletes információkkal. 10.04.2020

Válaszok:


1
const {Client, MessageEmbed} = require('discord.js')

const client = new Client()

client.on('message', async ({author, channel, guild, member}) => {
  // don't do anything if it's a bot
  if (author.bot) return

  // don't do it if it's a DM
  if (!guild) return

  // replace these with whatever you want
  const embed = new MessageEmbed({title: 'some embed'})
  const emoji = '????'

  const roles = guild.roles.cache.filter(role =>
    // you can't add the @everyone role
    role.name !== '@everyone' &&
    // or managed roles
    !role.managed &&
    // or roles that the bot isn't above
    guild.me.roles.highest.comparePositionTo(role) > 0
  )

  try {
    if (!roles.size) return await channel.send('There are no roles that I can add!')

    const message = await message.channel.send(embed)
    await message.react(emoji)
    await message.awaitReactions(
      // only for await for the ???? emoji from the message author
      (reaction, user) => reaction.emoji.name === emoji && user.id === author.id,
      // stop after 1 reaction
      {max: 1}
    )
    await member.roles.add(roles.random())
  } catch (error) {
    // log all errors
    console.error(error)
  }
})

client.login('your token')

Megjegyzés: A robotodnak rendelkeznie kell a MANAGE_ROLES engedéllyel, hogy szerepet tudjon hozzáadni egy céhtaghoz.

14.04.2020
Új anyagok

A rádiógomb ellenőrzött eseményének használata a jQueryben
Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

Miért érdemes elkezdeni a kódolást 2023-ban?
01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

🎙 Random Noise #2  – Örökbefogadás és hit
az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..