簡體   English   中英

在加入時向 Discord 成員添加角色

[英]Adding Role To Discord Member on Join

我正在嘗試使用 js 編寫一個 Discord bot,它將歡迎新加入者加入服務器並為他們分配 7 天的“試用成員”角色。 我一直無法讓角色的自動分配工作。 我將在下面包含我的代碼,非常感謝任何幫助。 謝謝。

/////Generic Authorization and packages////
var Discord = require('discord.io');
var logger = require('winston');
var auth = require('./auth.json');

// Configure logger settings
logger.remove(logger.transports.Console);
logger.add(new logger.transports.Console, {
    colorize: true
});
logger.level = 'debug';
// Initialize Discord Bot 
const bot = new Discord.Client({
  token: auth.token,
  autorun: true
});
bot.on('ready', function (evt) {
    logger.info('Connected');
    logger.info('Logged in as: ');
    logger.info(bot.username + ' - (' + bot.id + ')');


});

//////有問題的代碼塊從這里開始\\\\\\

bot.on('guildMemberAdd', member => {
  
    console.log('User ' + member.username + ' has joined the server!')
    var roleid = '746791647140118591';
    member.roles.add('746791647140118591').then(()=> {
      bot.sendMessage({
        to: member.id,
        message: 'beep boop!'
      })
    });

////// 問題代碼塊結束

//protocol for setting the start date of the trial membership
    var currentDate = new Date();
    var day = currentDate.getDate();
    var month = currentDate.getMonth() + 1;
    var year = currentDate.getFullYear();
    var date_formatted = month + '/' + day + '/' + year; 
// protocol for setting the end date of the trial membership
    var end_date = new Date();
    end_date.setDate(end_date.getDate()+7);
    var end_day = end_date.getDate();
    var end_month = end_date.getMonth()+ 1;
    var end_year =  end_date.getFullYear();
    var formatted_end_date = end_month + '/' + end_day + '/' + end_year; 
    
    console.dir(member);
    userID=member.id;
    bot.sendMessage({
        to: member.id,

        message: 'Hi there ' +member.username+ '! Welcome to Stonks Society- we\'re glad you\'re here. Your trial membership begins today ('+ date_formatted +') and will expire in seven days ('+ formatted_end_date +')'

    })

 //    });

});

您使用的是 discord.io 而不是 discord.js,要使用 discord.io 添加角色,您應該這樣做

var roleID = '746791647140118591';
var serverID = 'the ID of the server';

bot.addToRole({
  serverID: serverID,
  roleID: roleID,
  userID: member.id
}, (err) => {
  if(err) console.log(err);
});

有關更多信息,您可以在此處閱讀文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM