首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >你怎么知道用户在哪里输入{prefix}reddit {subreddit} (然后回复来自该子reddit的随机图片)

你怎么知道用户在哪里输入{prefix}reddit {subreddit} (然后回复来自该子reddit的随机图片)
EN

Stack Overflow用户
提问于 2019-05-31 02:33:52
回答 1查看 433关注 0票数 0

到目前为止,我得到了这个使用random-puppy从set subreddits中提取图像的方法。我会把cmd的meme改成reddit。另外,如果频道没有标记为18+,你将如何限制人们从NSFW拉取图片

代码语言:javascript
复制
const randomPuppy = require('random-puppy');

exports.run = async (client, message, args) => {

  let reddit = [
    "meme",
    "animemes",
    "MemesOfAnime",
    "animememes",
    "AnimeFunny",
    "dankmemes",
    "dankmeme",
    "wholesomememes",
    "MemeEconomy",
    "techsupportanimals",
    "meirl",
    "me_irl",
    "2meirl4meirl",
    "AdviceAnimals"
  ]

  let subreddit = reddit[Math.floor(Math.random() * reddit.length)];

  message.channel.startTyping();

  randomPuppy(subreddit).then(async url => {
    await message.channel.send({
      files: [{
        attachment: url,
        name: 'meme.png'
      }]
    }).then(() => message.channel.stopTyping());
  }).catch(err => console.error(err));

};
exports.help = {
    name: 'meme',
    aliases: [],
    description: 'What can I say ͡°-͜ʖ-͡°',
    usage: 'meme'
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-31 07:23:52

您可以简单地使用用户提供的参数,而不是定义一个子数组并选择一个随机数组。

代码语言:javascript
复制
const randomPuppy = require('random-puppy');

exports.run = async (client, message, args) => {
  // Assuming args[1] is the name of the subreddit.
  try {
    if (!args[1]) {
      // Insert your code for choosing from a random subreddit.
    } else {
      if (args[2]) return await message.channel.send('Too many arguments.');

      const imgURL = await randomPuppy(args[1]);

      await message.channel.send({
        files: [{
          attachment: imgURL,
          name: 'image.png'
        }];
      });
    }
  } catch(err) {
    console.error(err);
  }
};

exports.help = {
  name: 'reddit',
  aliases: [],
  description: 'Retrieve a random picture from a subreddit',
  usage: 'meme'
};

至于NSFW内容的限制,你可能不得不用某种裸体/NSFW检测系统来扫描图像。要检查通道是否标记为NSFW,您可以使用...

代码语言:javascript
复制
if (message.channel.nsfw === false) console.log('Not an NSFW channel'); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56383818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档